編輯:關於android開發
Volley下載主要應用於下載文本數據和圖片數據兩個方向,下面分別介紹;
一、使用Volley開啟下載,首先要做的是導包和添加權限;
(1)在build.gradle文件中導入依賴包:compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28';
(2)在清單文件中添加訪問網絡權限,讀、寫外存權限;
二、文本內容上傳下載步驟:
(1)創建RequestQueue對象,用於發送請求的請求隊列;同時創建StringRequest對象,用於打包上傳和下載的數據字符串;
(2)初始化數據步驟:
(2-1)初始化請求隊列;Volley對象調用單例模式newRequestQueue(),傳入上下文對象;
(2-2)初始化StringRequest類的請求對象;傳入四個參數:
參數1:請求方式:包括Request.Method.GET或Request.Method.POST,默認為下載Request.Method.GET;
參數2:網絡請求路徑;
參數3:實例化的請求監聽對象;Response.Listener<T>,在該類中重寫onResponse(String response),進行收到請求結果後的操作;
參數4:實例化的錯誤監聽對象;ErrorListener,在該類中重寫onErorResponse(VolleyError error),進行出現網絡錯誤的處理;
(2-3)如果是上傳數據,在初始化StringRequest對象之後,重寫該類中的getParams(),同時拋出AuthFailureError錯誤,該方法返回Map<String, String>類型的數據,以鍵值對的形式上傳到網絡;
(2-4)在操作事件中,RequestQueue對象調用add(),添加StringRequest對象作為不同的請求和上傳數據包進行網絡操作;
(2-5)onDestroy中加上try-catch語句來捕捉所有異常,以保證這個界面正常退出;RequestQueue對象調用cancelAll()傳入”get”和”post”兩種不同形式取消網絡;
三、圖片上傳下載步驟:
(1)創建RequestQueue對象,用於發送請求的請求隊列;同時創建ImageLoader對象和ImageRequest對象,用於打包下載和上傳的圖片;
(2)在下載圖片時有三種方式:
(2-1)圖片請求方式(與文本請求類似):
1)初始化ImageRequest類的圖片請求對象,傳入六個參數:
參數1:圖片下載路徑;
參數2:Response類的靜態監聽Listener<Bitmap>實例化對象,重寫onResponse()傳入Bitmap對象作為得到的圖像;
參數3:圖片寬度大小,正常為100;
參數4:圖片高度大小,正常為100;
參數5:圖片色度方式,Bitmap.Config.RGB_565;
參數6:Response類的靜態監聽ErrorListener實例化對象,重寫onErrorResponse(),當請求圖片錯誤時調用此方法;
2)將圖片請求對象放入請求隊列;RequestQueue對象調用add(),傳入ImageRequest對象;
(4-2)圖片加載方式:
1)創建ImageLoader類的圖片加載對象,可以設置圖片緩存;傳入兩個參數:
參數1:請求隊列RequestQueue對象;
參數2:實現繼承ImageLoader.ImageCache的自定義圖片緩存類;
2)自定義圖片緩存類繼承ImageLoader.ImageCache中,定義一個屬性兩個方法:
屬性:圖片緩存大小:首先確定圖片緩存大小,獲取系統運行內存,Runtime.getRuntime().maxMemory()/1024/1024/8 獲取當前系統運行內存的1/8作為圖片緩存;之後創建LruCache<String, Bitmap>對象,傳入圖片緩存大小確定即可;
重寫getBitmap(String url),在獲得圖片時調用此方法,返回LruCach對象調用get()傳入url的Bitmap對象;
重寫putBitmap(String url, Bitmap bitmap),在加載圖片時調用此方法,LruCache對象調用put()傳入url下載路徑和bitmap圖片即可;
3)創建ImageLoader.ImageListener單例,ImageListener調用靜態方法getImageListener(),傳入三個參數:
參數1:圖片要顯示的控件;
參數2:加載圖片前的顯示圖像資源Id;
參數3:加載圖片失敗後顯示圖像資源Id;
4)Loader對象調用get()開啟下載,傳入圖片下載路徑和ImageListener對象兩個參數;
(4-3)使用網絡圖片控件方式NetworkImageView:
1)初始化NetworkImageView控件;
2)創建ImageLoader類的圖片加載對象,可以設置圖片緩存;
3)NetworkImageView對象調用setDefaultImageResId()設置加載前的圖片資源Id;
4)NetworkImageView對象調用setErrorImageViewResId()設置加載失敗時的圖片資源Id;
5)NetworkImageView對象調用setImageUrl()傳入兩個參數,設置加載圖片;
參數1:圖片下載路徑;
參數2:ImageLoader對象;
Android 事件分發 在安卓四大組件中(Activity、Service、BroadCast、ContentProvider),最常用的當是Activity。因為Ac
Android項目實戰(二十三):仿QQ設置App全局字體大小,androidapp一、項目需求: 因為產品對象用於中老年人,所以產品設計添加了APP全局字體調整大小功能
[android] 手機衛士黑名單功能(短信攔截),android衛士前面我們把需要攔截的手機號都存儲和展示出來了,接下來是使用廣播接收者攔截短信了,這個廣播接收者需要和
Tab標簽頁控件在很多編程技術中都能見到,它使得窗口顯示區能夠重復利用。在An