安卓 下载网页
權限
訪問網(wǎng)絡權限+外部存儲權限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <Buttonandroid:id="@+id/download"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginLeft="47dp"android:text="download" />導包
import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection;import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebView; import android.widget.Button; import android.widget.Toast;onCreate方法
download=(Button)findViewById(R.id.download);download.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Toast.makeText(MainActivity.this,"開始下載!",Toast.LENGTH_SHORT).show();DownloadThread t = new DownloadThread(); // 調(diào)用自己寫的下載類,執(zhí)行下載任務t.start();} });下載方法實現(xiàn)
class DownloadThread extends Thread{ // 該線程類封裝任務:實現(xiàn)下載和寫入sd卡,自己寫的@Overridepublic void run() {String urlpath ="https://lgch.xyz"; // 自定義資源地址InputStream inputStream = null;BufferedInputStream bis = null;FileOutputStream fos = null;try{ URL url = new URL(urlpath); // 獲取 URL對象URLConnection con = url.openConnection(); // 獲取 URL鏈接inputStream = con.getInputStream(); // 獲取輸入流用于讀取/下載數(shù)據(jù)bis = new BufferedInputStream(inputStream); // 緩沖流 提高效率String state = Environment.getExternalStorageState(); // 獲取sd卡狀態(tài)if(state.equals(Environment.MEDIA_MOUNTED)){ // 當sd卡可以存儲時// /storage/sdcard/mywebdata 獲取外部存儲路徑String path=Environment.getExternalStorageDirectory()+"/mywebdata";Log.e("地址", path);fos = new FileOutputStream(path); // 輸出流 寫入int i;while((i=inputStream.read())!=-1){ // 讀不到的時候,值是-1,能讀到就寫入fos.write(i); // 寫入文件}Log.e("讀取結束", "==================================");}else{Toast.makeText(MainActivity.this, "CD 卡不存在",Toast.LENGTH_LONG);}}catch(Exception e){Log.e("MainActivity",e.getMessage()); }finally{try {bis.close();fos.close(); //關流} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}總結
- 上一篇: 安卓 存储---SharedPrefer
- 下一篇: 安卓菜单选项 Popup_Menu /