亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android實現下載文件功能的方法

2020-04-11 11:47:06
字體:
來源:轉載
供稿:網友

本文所述為Android實現下載文件功能的完整示例代碼,對于學習和研究android編程相信會有一定的幫助,尤其是對Android初學者有一定的借鑒價值。

完整功能代碼如下:

package com.test;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.URL;import java.net.URLConnection;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.View;import android.webkit.URLUtil;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class Main extends Activity {  private TextView mTextView01; private EditText mEditText01; private Button mButton01; private static final String TAG = "DOWNLOADAPK";  private String currentFilePath = "";  private String currentTempFilePath = "";  private String strURL=""; private String fileEx=""; private String fileNa="";  public void onCreate(Bundle savedInstanceState)  {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);     mTextView01 = (TextView)findViewById(R.id.myTextView1);  mButton01 = (Button)findViewById(R.id.myButton1);  mEditText01 =(EditText)findViewById(R.id.myEditText1);   mButton01.setOnClickListener(new Button.OnClickListener()  {  public void onClick(View v)   {   // 文件會下載至local端    mTextView01.setText("下載中...");   strURL = mEditText01.getText().toString();    /*取得欲安裝程序之文件名稱*/   fileEx = strURL.substring(strURL.lastIndexOf(".")   +1,strURL.length()).toLowerCase();   fileNa = strURL.substring(strURL.lastIndexOf("/")   +1,strURL.lastIndexOf("."));   getFile(strURL);   }  }  );    mEditText01.setOnClickListener(new EditText.OnClickListener()  {  public void onClick(View arg0){   mEditText01.setText("");   mTextView01.setText("遠程安裝程序(請輸入URL)");  }  }); }  /* 處理下載URL文件自定義函數 */ private void getFile(final String strPath) {  try  {  if (strPath.equals(currentFilePath) )  {    getDataSource(strPath);  }  currentFilePath = strPath;  Runnable r = new Runnable()  {   public void run()   {   try   {    getDataSource(strPath);   }   catch (Exception e)   {    Log.e(TAG, e.getMessage(), e);   }   }  };  new Thread(r).start();  }   catch(Exception e)   {   e.printStackTrace();   } }    /*取得遠程文件*/  private void getDataSource(String strPath) throws Exception  {   if (!URLUtil.isNetworkUrl(strPath))   {   mTextView01.setText("錯誤的URL");   }   else   {   /*取得URL*/  URL myURL = new URL(strPath);  /*創建連接*/  URLConnection conn = myURL.openConnection();  conn.connect();  /*InputStream 下載文件*/  InputStream is = conn.getInputStream();  if (is == null)   {    throw new RuntimeException("stream is null");   }   /*創建臨時文件*/   File myTempFile = File.createTempFile(fileNa, "."+fileEx);  /*取得站存盤案路徑*/  currentTempFilePath = myTempFile.getAbsolutePath();  /*將文件寫入暫存盤*/   FileOutputStream fos = new FileOutputStream(myTempFile);  byte buf[] = new byte[128];  do  {   int numread = is.read(buf);   if (numread <= 0)   {   break;   }   fos.write(buf, 0, numread);  }while (true);    /*打開文件進行安裝*/  openFile(myTempFile);  try   {    is.close();   }   catch (Exception ex)   {    Log.e(TAG, "error: " + ex.getMessage(), ex);   }   } }   /* 在手機上打開文件的method */ private void openFile(File f)  {  Intent intent = new Intent();  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  intent.setAction(android.content.Intent.ACTION_VIEW);    /* 調用getMIMEType()來取得MimeType */  String type = getMIMEType(f);  /* 設置intent的file與MimeType */  intent.setDataAndType(Uri.fromFile(f),type);  startActivity(intent);  } /* 判斷文件MimeType的method */ private String getMIMEType(File f)  {   String type="";  String fName=f.getName();  /* 取得擴展名 */  String end=fName.substring(fName.lastIndexOf(".")  +1,fName.length()).toLowerCase();     /* 依擴展名的類型決定MimeType */  if(end.equals("m4a")||end.equals("mp3")||end.equals("mid")||  end.equals("xmf")||end.equals("ogg")||end.equals("wav"))  {  type = "audio";   }  else if(end.equals("3gp")||end.equals("mp4"))  {  type = "video";  }  else if(end.equals("jpg")||end.equals("gif")||end.equals("png")||  end.equals("jpeg")||end.equals("bmp"))  {  type = "image";  }  else if(end.equals("apk"))   {   /* android.permission.INSTALL_PACKAGES */   type = "application/vnd.android.package-archive";   }   else  {  type="*";  }  /*如果無法直接打開,就跳出軟件列表給用戶選擇 */  if(end.equals("apk"))   {   }   else   {   type += "/*";   }   return type;  }  /*自定義刪除文件方法*/ private void delFile(String strFileName)  {   File myFile = new File(strFileName);   if(myFile.exists())   {   myFile.delete();   }  }   /*當Activity處于onPause狀態時,更改TextView文字狀態*/ protected void onPause() {  mTextView01 = (TextView)findViewById(R.id.myTextView1);  mTextView01.setText("下載成功");  super.onPause(); } /*當Activity處于onResume狀態時,刪除臨時文件*/  protected void onResume()  {   /* 刪除臨時文件 */   delFile(currentTempFilePath);   super.onResume();  }}

讀者可以在該實例的基礎上進行修改與完善,使之更符合自身項目需求。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
69国产精品成人在线播放| 欧美一级片免费在线| 午夜精品福利电影| 97精品国产91久久久久久| 亚洲成人av中文字幕| 国产成人激情小视频| 亚洲另类xxxx| 久久夜色精品国产亚洲aⅴ| 亚洲va欧美va国产综合久久| 久久99精品久久久久久噜噜| 日韩中文字幕不卡视频| 欧美日本精品在线| 久久免费少妇高潮久久精品99| 久久久久久久久久久人体| 成人性生交xxxxx网站| 91欧美日韩一区| 亚洲人成在线观| 国产精品久久久久福利| 在线观看国产精品日韩av| 国语自产偷拍精品视频偷| 国产精品视频1区| 日本高清不卡的在线| 中文字幕亚洲欧美在线| 日韩在线中文字幕| 精品电影在线观看| 欧美wwwwww| 国产精品久久久精品| 日韩欧美一区视频| 久久成人av网站| 国产v综合ⅴ日韩v欧美大片| 欧美日韩国产一区二区| 蜜臀久久99精品久久久无需会员| 成人午夜在线观看| 久久不射电影网| 国产不卡av在线免费观看| 欧美亚洲在线观看| 韩国视频理论视频久久| 国产精品视频精品视频| 国产精品亚洲美女av网站| 国产国语videosex另类| 欧洲成人性视频| 一区二区三区日韩在线| 欧美性少妇18aaaa视频| 中文字幕亚洲在线| 欧美日韩国产精品| 久久99久久99精品免观看粉嫩| 欧美夫妻性生活视频| 亚洲美女在线视频| 国产欧美韩国高清| 精品国产一区二区三区在线观看| 中文国产成人精品久久一| 91影视免费在线观看| 这里只有精品视频在线| 日本成熟性欧美| 成人一区二区电影| 九九综合九九综合| 亚洲缚视频在线观看| 亚洲激情在线视频| 亚洲最大的av网站| 亚洲a在线播放| 国产精品旅馆在线| 久久久久久久久91| 亚洲自拍偷拍福利| 国产精品久久久久9999| 欧美日韩国产中文精品字幕自在自线| 日韩在线观看免费网站| 亚洲人成网站999久久久综合| 国产亚洲精品久久久久久777| 亚洲**2019国产| 久久韩剧网电视剧| 国产一区二区激情| 亚洲男人天堂2024| 日韩av一区在线观看| 国产精品第2页| 国产精品久久久久久久久借妻| 欧美大片在线影院| 亚洲成人动漫在线播放| 欧美男插女视频| 91精品国产色综合| 亚洲毛片在线免费观看| 美女av一区二区三区| 久久天天躁狠狠躁夜夜av| 欧美日产国产成人免费图片| 日韩中文字幕视频在线观看| 欧美中文在线免费| 亚洲一区二区三区777| 欧美成人亚洲成人| 久久精品成人动漫| 亚洲国产精品成人va在线观看| 91免费欧美精品| 久久视频在线播放| 一区二区三区黄色| 欧美日韩国产一区二区| 久久免费高清视频| 国产精品羞羞答答| 久久躁狠狠躁夜夜爽| 欧美激情视频网站| 国产91精品不卡视频| 亚洲欧美日韩国产中文专区| 欧美一区视频在线| 538国产精品一区二区免费视频| 国产视频精品一区二区三区| 亚洲精品久久久久国产| 一区二区三区高清国产| 北条麻妃一区二区在线观看| 亚洲国产精品成人精品| 欧美大片网站在线观看| 欧美一级高清免费| 国产女人18毛片水18精品| 丝袜美腿精品国产二区| 全色精品综合影院| 久久99久久99精品中文字幕| 97香蕉超级碰碰久久免费的优势| 亚洲第一精品夜夜躁人人爽| 久久人91精品久久久久久不卡| 欧美人与物videos| 亚洲xxxx在线| 亚洲男人天堂2023| 欧美日韩精品在线视频| 日韩欧美在线一区| 777777777亚洲妇女| 日韩免费av一区二区| 日韩有码在线视频| 欧美激情免费在线| 久久精品国产成人精品| 少妇高潮久久77777| 亚洲韩国日本中文字幕| 57pao精品| 91欧美精品成人综合在线观看| 国产成人精彩在线视频九色| 欧美日韩亚洲网| 亚洲性av网站| 亚洲国产欧美日韩精品| 久久久免费精品视频| 国产精品777| 日韩在线免费视频观看| 精品免费在线观看| 久久天天躁狠狠躁夜夜av| 成人国产亚洲精品a区天堂华泰| 精品久久国产精品| 欧美日韩在线视频观看| 亚洲午夜性刺激影院| 色播久久人人爽人人爽人人片视av| 在线视频国产日韩| 日韩国产欧美精品一区二区三区| 欧美精品18videos性欧美| 亚洲第一区在线| 国产亚洲aⅴaaaaaa毛片| 久久噜噜噜精品国产亚洲综合| 亚洲黄色免费三级| 日韩欧美亚洲范冰冰与中字| 久久久久久久一区二区三区| 欧美在线观看一区二区三区| 日韩电影免费在线观看中文字幕| 久久久999精品免费| 久久免费高清视频| 欧美激情亚洲另类| 这里只有精品视频在线| 久久综合久久88| www.欧美精品一二三区| 欧美大片欧美激情性色a∨久久| 成人在线播放av| 97激碰免费视频| 国产精品久久久久久久久久免费|