編輯:關於Android編程
做來電顯示歸屬地和查詢歸屬地功能的時候,需要從服務器下載數據庫,
但是下載之後,查詢總是報錯database disk image is malformed (code 11)
開始以為是查詢語句不對,後來意識到,跟之前解析包時出現錯誤是一樣的問題,
下載過程中格式損壞了。
於是解決方法跟http://blog.csdn.net/jason0539/article/details/21742019采取了一樣的策略,
把每次讀取的數組縮小,代碼如下:
public class DownloadTask { /** * @param path下載地址 * @param filePath存儲路徑 * @param progressDialog進度條 * @return * @throws Exception */ public static File getFile(String path,String filePath,ProgressDialog progressDialog) throws Exception{ URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(2000); connection.setRequestMethod("GET"); if(connection.getResponseCode() == 200){ int total = connection.getContentLength(); progressDialog.setMax(total); InputStream is = connection.getInputStream();//獲得socket輸入流 File file = new File(filePath); FileOutputStream fos = new FileOutputStream(file);//file輸出流 byte[] buffer = new byte[1024]; int len; int progress = 0; while((len = is.read(buffer)) != -1){ fos.write(buffer); progress += len; progressDialog.setProgress(progress); } fos.flush(); is.close(); fos.close(); connection.disconnect(); return file; } return null; }
把裡面這行裡的1024改小就可以避免損壞了,
byte[] buffer = new byte[1024];
由於總是錯,我甚至改成了
byte[] buffer = new byte[8];
這樣是沒錯了,但是有個弊端,下載變的很慢,下載的數據庫是16M的,奇慢無比,
臨時性這樣解決了。
作者:jason0539
微博:http://weibo.com/2553717707
博客:http://blog.csdn.net/jason0539(轉載請說明出處)
屬性動畫是為了彌補之前兩種動畫模式的不足之處產生的(Android3.0之後才有的),特點是 真實對view的屬性進行改動,並且能支持自定義屬性動畫, 基本上能實現所有能
鼠標客制化目的:在應用層,進入特定的應用顯示自己的指定的鼠標icon,或者隨時切換鼠標icon。實現方案:開機預加載鼠標icon,app發送廣播方式通過不同的index,
實現功能:歌詞顯示及滾動事件實現ViewPager使用後續將博文,將實現已下載音樂掃描功能和已存在歌曲歌詞下載。因為,沒有自己的服務器,所以網絡音樂所有相關功能(包含搜索
1、Surface1.1、 就如在C語言編程一樣,通過一個文件的句柄,就可以操作文件,獲取文件的內容。 同樣的,通過Surface就可以獲取raw buffer其中的內容