編輯:關於Android編程
public static void downFile(final String url){ new Thread(){ public void run(){ FileOutputStream os=null; try{ InputStream input=null; URLConnection httpUrlConnection= new URL(url).openConnection(); //int contentLength = httpUrlConnection.getContentLength(); input =httpUrlConnection.getInputStream(); File file = new File("C:\\Users\\Administrator\\Desktop\\Apknew.apk"); //如果目標文件已經存在,則刪除。產生覆蓋舊文件的效果 if(file.exists()) { file.delete(); } os = new FileOutputStream(file); byte[] buffer = new byte[4*1024]; // 讀取到的數據長度 int len; while((len=input.read(buffer)) != -1){ os.write(buffer,0,len); //這裡不能寫成os.write(buffer) } os.flush(); os.close(); input.close();//這裡一定不能忘記關閉輸入流 //Log.v("cmd", "文件下載完畢,路徑為:"+file.getAbsolutePath()); //update(); System.out.println("下載完畢"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ } } }.start(); }
最近做項目用到文件下載,於是乎百度了N多下載代碼,然後照抄,我這裡是用來下載apk的,反復多次都是文件可以下載,但安裝apk是出現解析包錯誤。經耐心檢查發現兩處錯誤
!1、input輸入流忘記關閉了
2、os.write(buffer,0,len)寫成了os.write(buffer) 百度出來的好多都是這樣寫的,而且Eclipse也不報錯 究竟什麼原因期待大神指點啊!
本次分析的是github上一個用於下拉刷新上拉加載的控件XListView,這個開源的ListView相信大家在開發的過程中會經常用到。https://github.co
上一篇文章介紹了MediaPlayer相關內容,這次用兩篇文章來介紹SurfaceView的用法。網上介紹SurfaceView的用法有很多,寫法也層出不同,例如繼承Su
上一篇講了activity的創建和啟動,這一篇,我們來講講activity的數據傳遞 activity之間的數據傳遞,這裡主要介紹的是activity之間簡單數據的傳遞,
總結一下微信的本地圖片加載有以下幾個特點,也是提高用戶體驗的關鍵點1、縮略圖挨個加載,一個一個加載完畢,直到屏幕所有縮略圖都加載完成2、不等當前屏的所有縮略圖加載完,迅速