Volley高併發處理網路請求(No2)
阿新 • • 發佈:2019-01-26
public class MainActivity extends AppCompatActivity {
private ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.image);
loadImageByVolley();
}
/**
* 通過Volley載入網路圖片
*
* new ImageRequest(String url,Listener listener,int maxWidth,int maxHeight,Config decodeConfig,ErrorListener errorListener)
* url:請求地址
* listener:請求成功後的回撥
* maxWidth、maxHeight:設定圖片的最大寬高,如果均設為0則表示按原尺寸顯示
* decodeConfig:圖片畫素的儲存方式。Config.RGB_565表示每個畫素佔2個位元組,Config.ARGB_8888表示每個畫素佔4個位元組等。
* errorListener:請求失敗的回撥
*/
private void loadImageByVolley() {
String url = "http://pic20.nipic.com/20120409/9188247_091601398179_2.jpg";
ImageRequest request = new ImageRequest(
url,
new Listener<Bitmap>() {
@Override
public void onResponse(Bitmap bitmap) {
image.setImageBitmap(bitmap);
}
},
0, 0, Config.RGB_565,
new ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
image.setImageResource(R.mipmap.ic_launcher);
}
});
//設定請求的Tag標籤,可以在全域性請求佇列中通過Tag標籤進行請求的查詢
request.setTag("loadImage");
//通過Tag標籤取消請求佇列中對應的全部請求
MyApplication.getHttpQueues().add(request);
}
}