-
首先呢肯定是導(dǎo)入依賴:
compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28'
-
導(dǎo)入依賴之后呢:
//首先得到一個(gè)RequestQueue 顧名思義也就是請(qǐng)求隊(duì)列 RequestQueue queue = Volley.newRequestQueue(this); //然后創(chuàng)建請(qǐng)求 StringRequest request = new StringRequest("http://www.baidu.com", new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("MainActivity這就是咱們得到的值", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); //給請(qǐng)求隊(duì)列添加請(qǐng)求 queue.add(request);
這只是一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)請(qǐng)求Volley成的好處就是直接把返回的數(shù)據(jù)轉(zhuǎn)換成String類型的有人就問了只能轉(zhuǎn)換成String? 才不是呢!接著往下看:
ImageRequest request1 = new ImageRequest("你圖片的url", new Response.Listener<Bitmap>() {
@Override
public void onResponse(Bitmap response) {
imageView.setImageBitmap(response);
}
}, 100, 100, Bitmap.Config.ARGB_8888, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {} }); queue.add(request1);
有人也許就說了這么多的構(gòu)造參數(shù)我哪知道什么意思!
別急我慢慢給你講:
1.第一個(gè)是你圖片的url
2.第二個(gè)是你請(qǐng)求成功的回調(diào)
3.第三個(gè)是圖片規(guī)定最大的寬度
4.第四個(gè)是你要使用哪種位圖格式來解碼
5.第五個(gè)就是請(qǐng)求失敗的回調(diào)
- 當(dāng)然你也可以自定義Request,這里就貼一個(gè)j簡(jiǎn)單的 GsonRequest的代碼:
public class GsonRequest extends Request<Object> {
private final Response.Listener<Object> mListener;
Object ob;
public GsonRequest(int method, String url, Response.Listener<Object> listener,
Response.ErrorListener errorListener,Object ob) {
super(method, url, errorListener);
mListener = listener;
this.ob = ob;
}
public GsonRequest(String url, Response.Listener<Object> listener, Response.ErrorListener errorListener,Object ob) {
this(Method.GET, url, listener, errorListener,ob);
}
@Override
protected void deliverResponse(Object response) {
mListener.onResponse(response);
}
@Override
protected Response<Object> parseNetworkResponse(NetworkResponse response) {
String parsed;
try {
parsed = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
} catch (UnsupportedEncodingException e) {
parsed = new String(response.data);
}
Gson g = new Gson();
Object obj = (Object) g.fromJson(parsed,ob.getClass());
return Response.success(obj, HttpHeaderParser.parseCacheHeaders(response));
}
}
記得加上網(wǎng)絡(luò)權(quán)限 :
<uses-permission android:name="android.permission.INTERNET" />
基本用法就這樣了。sky