編輯:關於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(轉載請說明出處)
Android動畫3-屬性動畫(PropertyAnimation)
屬性動畫是為了彌補之前兩種動畫模式的不足之處產生的(Android3.0之後才有的),特點是 真實對view的屬性進行改動,並且能支持自定義屬性動畫, 基本上能實現所有能
Android4.4 鼠標光標切換具體整改
鼠標客制化目的:在應用層,進入特定的應用顯示自己的指定的鼠標icon,或者隨時切換鼠標icon。實現方案:開機預加載鼠標icon,app發送廣播方式通過不同的index,
Android開發本地及網絡Mp3音樂播放器(十六)歌詞顯示及滾動事件實現、ViewPager使用
實現功能:歌詞顯示及滾動事件實現ViewPager使用後續將博文,將實現已下載音樂掃描功能和已存在歌曲歌詞下載。因為,沒有自己的服務器,所以網絡音樂所有相關功能(包含搜索
Android開發中的Surface庫及用其制作播放器UI的例子
1、Surface1.1、 就如在C語言編程一樣,通過一個文件的句柄,就可以操作文件,獲取文件的內容。 同樣的,通過Surface就可以獲取raw buffer其中的內容