【注:此轮子完成于毕业之前,已不再维护,推荐使用Retrofit+OkHttp】
安卓 Volley+OkHttp3+Gson 开源库的封装(暂没有提供对Https的支持)
compile 'com.jakewharton:butterknife:8.0.1' apt 'com.jakewharton:butterknife-compiler:8.0.1' compile 'com.mcxiaoke.volley:library:1.0.19' compile 'com.google.code.gson:gson:2.6.1' compile 'com.squareup.okhttp3:okhttp:3.1.2' compile 'com.squareup.okio:okio:1.6.0' compile 'de.hdodenhof:circleimageview:2.0.0'
VolleyManager.newInstance().GsonGetRequest(TAG, Urls.mJsonUrl, Person.class, new Response.Listener<Person>() { @Override public void onResponse(Person person) { Log.v(TAG, person.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, error.getMessage(), error); } });
Map<String, String> map = new HashMap<String, String>(); map.put("username", "allen"); map.put("password", "linqinan"); VolleyManager.newInstance().GsonPostRequest(TAG, map, Urls.mJsonUrl, Person.class, new Response.Listener<Person>() { @Override public void onResponse(Person person) { Log.v(TAG, person.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, error.getMessage(), error); } });
JSONObject jsonObject = new JSONObject(); try { jsonObject.put("username", "allen"); jsonObject.put("password", "linqinan"); } catch (JSONException e) { e.printStackTrace(); } VolleyManager.newInstance().PostJsonRequest(TAG, Urls.mJsonUrl, jsonObject, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { Log.v(TAG, jsonObject.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, error.getMessage(), error); } });
VolleyManager.newInstance().ImageLoaderRequest (mImageview, Urls.mImageUrl, R.mipmap.ic_default, R.mipmap.ic_error);
5.加载圆形图片示例(使用了CircleImageView库)
@Bind(R.id.circleimageview) CircleImageView mCircleimageview; VolleyManager.newInstance().ImageRequest(TAG, Urls.mImageUrl, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap bitmap) { mCircleimageview.setImageBitmap(bitmap); } }, 0, 0, ImageView.ScaleType.CENTER_INSIDE, null, new Response.ErrorListener() { public void onErrorResponse(VolleyError error) { mCircleimageview.setImageResource(R.mipmap.ic_error); }
有问题欢迎提交issue或者提交pull request