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

首頁 > 系統 > Android > 正文

Android實現簡單的文件下載與上傳

2019-10-21 21:32:01
字體:
來源:轉載
供稿:網友

文件下載

/** * 下載服務 IntentService  * 生命周期: * 1>當第一次啟動IntentService時,Android容器 *  將會創建IntentService對象。 * 2>IntentService將會在工作線程中輪循消息隊列, *  執行每個消息對象中的業務邏輯。 * 3>如果消息隊列中依然有消息,則繼續執行, *  如果消息隊列中的消息已經執行完畢, *  IntentService將會自動銷毀,執行onDestroy方法。 */public class DownloadService extends IntentService{  private static final int NOTIFICATION_ID = 100;  public DownloadService(){    super("download");  }  public DownloadService(String name) {    super(name);  }  /**   * 該方法中的代碼將會在工作線程中執行   * 每當調用startService啟動IntentService后,   * IntentService將會把OnHandlerIntent中的   * 業務邏輯放入消息隊列等待執行。   * 當工作線程輪循到該消息對象時,將會   * 執行該方法。   */  protected void onHandleIntent(Intent intent) {    //發送Http請求 執行下載業務    //1. 獲取音樂的路徑    String url=intent.getStringExtra("url");    String bit=intent.getStringExtra("bit");    String    //2. 構建File對象,用于保存音樂文件    //   /mnt/sdcard/Music/_64/歌名.mp3    File targetFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC),"_"+bit+"/"+title+".mp3" );             if(targetFile.exists()){      Log.i("info", "音樂已存在");      return;    }    if(!targetFile.getParentFile().exists()){      targetFile.getParentFile().mkdirs();    }    try {      sendNotification("音樂開始下載", "音樂開始下載");      //3. 發送Http請求,獲取InputStream      InputStream is = HttpUtils.getInputStream(url);      //4. 邊讀取邊保存到File對象中      FileOutputStream fos = new FileOutputStream(targetFile);      byte[] buffer = new byte[1024*100];      int length=0;      int current = 0;      int total = Integer.parseInt(intent.getStringExtra("total"));      while((length=is.read(buffer)) != -1){        fos.write(buffer, 0, length);        fos.flush();        current += length;        //通知下載的進度        double progress = Math.floor(1000.0*current/total)/10;        sendNotification("音樂開始下載", "下載進度:"+progress+"%");      }      //5. 文件下載完成      fos.close();      cancelNotification(); //重新出現滾動消息      sendNotification("音樂下載完成", "音樂下載完畢");    } catch (Exception e) {      e.printStackTrace();    }  }  /**   * 發通知   */  public void sendNotification(String ticker, String text){    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);    Notification.Builder builder = new Notification.Builder(this);    builder.setSmallIcon(R.drawable.ic_launcher)      .setContentTitle("音樂下載")      .setContentText(text)      .setTicker(ticker);    Notification n = builder.build();    manager.notify(NOTIFICATION_ID, n);  }  /**   * 取消通知   */  public void cancelNotification(){    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);    manager.cancel(NOTIFICATION_ID);  }    }

文件上傳

 /**    * 上傳文件    * @param uploadFile    */   private void uploadFile(final File uploadFile) {     new Thread(new Runnable() {            @Override       public void run() {         try {           uploadbar.setMax((int)uploadFile.length());           String souceid = logService.getBindId(uploadFile);           String head = "Content-Length="+ uploadFile.length() + ";filename="+ uploadFile.getName() + ";sourceid="+             (souceid==null? "" : souceid)+"/r/n";           Socket socket = new Socket("192.168.1.78",7878);           OutputStream outStream = socket.getOutputStream();           outStream.write(head.getBytes());           PushbackInputStream inStream = new PushbackInputStream(socket.getInputStream());             String response = StreamTool.readLine(inStream);           String[] items = response.split(";");           String responseid = items[0].substring(items[0].indexOf("=")+1);           String position = items[1].substring(items[1].indexOf("=")+1);           if(souceid==null){//代表原來沒有上傳過此文件,往數據庫添加一條綁定記錄             logService.save(responseid, uploadFile);           }           RandomAccessFile fileOutStream = new RandomAccessFile(uploadFile, "r");           fileOutStream.seek(Integer.valueOf(position));           byte[] buffer = new byte[1024];           int len = -1;           int length = Integer.valueOf(position);           while(start&&(len = fileOutStream.read(buffer)) != -1){             outStream.write(buffer, 0, len);             length += len;             Message msg = new Message();             msg.getData().putInt("size", length);             handler.sendMessage(msg);           }           fileOutStream.close();           outStream.close();           inStream.close();           socket.close();           if(length==uploadFile.length()) logService.delete(uploadFile);         } catch (Exception e) {           e.printStackTrace();         }       }     }).start();   } } 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
777午夜精品福利在线观看| 97在线精品视频| 亚洲成人av在线播放| 中文字幕在线国产精品| 丝袜亚洲欧美日韩综合| 国语自产精品视频在线看一大j8| 在线观看亚洲视频| 国产日韩欧美在线视频观看| 91精品国产91久久久久福利| 久久久伊人日本| 欧美一区二区三区……| 国产精品免费久久久| 国产99视频精品免视看7| 日韩视频在线免费观看| 欧美一级视频在线观看| 91精品国产色综合久久不卡98| 97免费中文视频在线观看| 川上优av一区二区线观看| 国产精品视频xxxx| 伊是香蕉大人久久| 国产福利成人在线| 国产经典一区二区| 91精品视频观看| 欧美午夜影院在线视频| 高清一区二区三区四区五区| 亚洲小视频在线观看| 成人国产精品久久久久久亚洲| 亚洲精品资源在线| y97精品国产97久久久久久| 久99久在线视频| 欧美黑人一级爽快片淫片高清| 国产精品久久久久久久久久三级| 国产成人小视频在线观看| 亚洲在线观看视频| 欧美激情免费视频| 日本久久亚洲电影| 国产精品一久久香蕉国产线看观看| 91国产在线精品| 久久久中文字幕| 国产精品免费视频久久久| 国产视频精品va久久久久久| 亚洲性视频网站| 欧美黑人狂野猛交老妇| 国产91久久婷婷一区二区| 久久久久久久亚洲精品| 国产一区二区三区高清在线观看| 亚洲丁香婷深爱综合| 中文字幕综合一区| 91九色国产社区在线观看| 日韩视频精品在线| 欧美第一黄网免费网站| 欧美高跟鞋交xxxxxhd| 九九热这里只有精品6| 国产精品成av人在线视午夜片| 亚洲男人天堂视频| 国产精品极品尤物在线观看| 欧美日韩免费区域视频在线观看| 欧美性理论片在线观看片免费| 免费91麻豆精品国产自产在线观看| 在线性视频日韩欧美| 久久久精品免费视频| 亚洲精品www| 日本精品视频网站| 亚洲精品www久久久久久广东| 国产精品视频最多的网站| 亚洲国产精品国自产拍av秋霞| 亚洲欧美精品一区| 国产精品日韩欧美| 91精品国产91久久久久福利| 最新国产成人av网站网址麻豆| 亚洲国产精久久久久久久| 国产91久久婷婷一区二区| 性色av一区二区三区免费| 欧美一区二区影院| 久久99热精品这里久久精品| 久久久精品欧美| 色偷偷偷综合中文字幕;dd| 日韩欧美国产中文字幕| 国产精品美女在线观看| 精品小视频在线| 精品爽片免费看久久| 色999日韩欧美国产| 精品久久久久久久久国产字幕| 成人免费视频97| 精品视频www| 久久久精品国产网站| 欧美精品18videos性欧美| 欧美成人午夜免费视在线看片| 最新国产精品拍自在线播放| 亚洲a级在线观看| 久久频这里精品99香蕉| 国产丝袜一区二区三区免费视频| 久久国产精品久久精品| 7777免费精品视频| 成人欧美在线观看| 日韩欧美中文字幕在线播放| 美女久久久久久久| 亚洲一区二区在线播放| 国产主播喷水一区二区| 中文日韩电影网站| 在线观看成人黄色| 精品久久久国产精品999| 久久国内精品一国内精品| 久久精品视频播放| 国产一区二区黄| 黄色一区二区三区| 中文字幕av一区| 中国人与牲禽动交精品| 插插插亚洲综合网| 欧美亚州一区二区三区| 97免费在线视频| 亚洲国产精品中文| 亚洲精品美女久久| 亚洲午夜未满十八勿入免费观看全集| 亚洲香蕉av在线一区二区三区| 久久精品免费电影| 欧美激情乱人伦| 国产精品国内视频| 欧美性猛交xxxx富婆弯腰| 久久久久中文字幕| 永久免费精品影视网站| 韩国视频理论视频久久| 久久久国产在线视频| 亚洲一区二区在线播放| 国产欧美日韩中文字幕在线| 久久久亚洲影院| 国产精品丝袜高跟| 国产精品av免费在线观看| 欧美亚洲成人精品| 91在线高清免费观看| 国产精品96久久久久久又黄又硬| 亚洲精品福利资源站| 久久精品最新地址| 亚洲精品国产精品久久清纯直播| 2019中文字幕免费视频| 国产精品久久久久久五月尺| 久久久久国产精品一区| 欧美国产日本在线| 97久久久免费福利网址| 国产亚洲一区精品| 欧美在线免费观看| 亚洲成人999| 色在人av网站天堂精品| 亚洲国产一区自拍| 精品视频中文字幕| 国产精品爽爽爽爽爽爽在线观看| 狠狠操狠狠色综合网| 日韩在线播放av| 九九九热精品免费视频观看网站| 91免费在线视频网站| 亚洲一区二区三区视频| 亚洲国产欧美一区| 成年无码av片在线| 亚洲综合一区二区不卡| 亚洲 日韩 国产第一| 欧美性极品少妇精品网站| 91在线视频精品| 欧美激情按摩在线| 亚洲国产精品女人久久久| 国内精品久久影院| 亚洲激情自拍图| 久久影视免费观看| 96sao精品视频在线观看| 国产精品爽黄69天堂a|