作用:相當于啟動AsyncTask,并且解決了4.x AsyncTask的串行執行問題
應用場景:僅限于耗時操作為http請求,如果是數據庫等IO操作不能使用
使用步驟:
1) 導入lib_volley庫,拷貝Demo中的app和MyVolley,并在清單中配置app
2) 在需要執行異步任務的地方,得到請求隊列
3) 創建Http請求
4) 將請求加入到隊列,請求開始執行
6. 解決Volley下載字符串亂碼問題
1) 新建一個類,繼承StringRequest
2) 拷貝StringRequest源代碼中的parseNetworkResponse方法
3) 修改默認編碼格式為utf-8
4) 新建的請求使用自定義的類
7. 筆試題:應用程序的真正入口
Application
應用場景:當需要在Activity啟動前初始化一些資源
用法:
1) 新建一個類,繼承Application,重寫onCreate()方法
2) 在清單中配置
3) 在Activity或Service中,得到Application對象的方法
8. ListView/GridView中有大量圖片
1) 異步加載
2) 內存緩存
3) 外存緩存
使用開源項目Android-Universal-Image-Loader-master
簡稱UIL
9. UIL的用法
1) 導入庫或者拷貝jar
2) 從Demo中拷貝UILApplication,刪除測試模式分支,并配置到清單文件
3) 在清單中增加Internet權限
4) 使用UIL異步下載
10. StrictMode嚴格模式(了解)
4.x,不允許在main線程執行http請求
罕見問題:
1. [2014-08-20 16:25:32 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/nostra13/universalp_w_picpathloader/cache/disc/DiscCacheAware;
[2014-08-20 16:25:32 - EX40_使用UIL] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/nostra13/universalp_w_picpathloader/cache/disc/DiscCacheAware;
原因:即引入了庫,libs目錄中同時也含有jar包
解決方法:刪除一個
2. 使用UIL遇到的問題
08-20 08:30:04.873: E/AndroidRuntime(20641): Caused by: java.lang.IllegalStateException: ImageLoader must be init with configuration before using
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。