Volley的四大请求
来源:互联网 发布:认知心理学 知乎 编辑:程序博客网 时间:2024/05/01 17:29
public class MainActivity extends AppCompatActivity { private String url; private Context context; private ImageView mImage; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.content_main); initView(); /** * Volley三部曲 * 1.创建请求对象 * 2.创建请求队列 * 3.发起请求 */ url = "http://10.0.3.2:8080/json/student.json"; context = this; } public void stringRequest(View v) { //1.创建请求对象 //第2个参数:成功回调接口,第3个参数:失败回调接口 StringRequest request = new StringRequest(url, new Response.Listener<String>() { //成功调用该方法 @Override public void onResponse(String s) { try { showToast(s); showLog(s); JSONObject json = new JSONObject(s); String name = json.getString("name");//正式开发不建议使用,当key不存在,空指针 String name1 = json.optString("name");//正式开发建议使用,当key不存在,返回默认值 int age = json.optInt("age"); showLog("age=" + age + ",name=" + name1); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { //错误时调用该方法 @Override public void onErrorResponse(VolleyError volleyError) { showLog(volleyError.getMessage()); } }); //2.创建请求队列 RequestQueue queue = Volley.newRequestQueue(context); //3.发起请求 queue.add(request); } //返回json对象 public void jsonObjectRequest(View v) { //1. JSONObject jsonObject = null;//调用接口提交的参数,正式开发不使用这种方式提交参数,重写一个方法getPostParams// jsonObject.put("password", "123456"); JsonObjectRequest request = new JsonObjectRequest(url, jsonObject, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject jsonObject) { showLog(jsonObject.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { showLog(volleyError.getMessage()); } }) { @Override protected Map<String, String> getPostParams() throws AuthFailureError { HashMap<String, String> params = new HashMap<String, String>(); params.put("username", "heima26"); params.put("password", "123456");// return super.getPostParams(); return params; } @Override protected Map<String, String> getParams() throws AuthFailureError {// return super.getParams(); HashMap<String, String> params = new HashMap<String, String>(); params.put("username", "heima26"); params.put("password", "123456");// return super.getPostParams(); return params; } @Override public Map<String, String> getHeaders() throws AuthFailureError { return super.getHeaders(); } }; //2. RequestQueue queue = Volley.newRequestQueue(context); //3. queue.add(request); } public void jsonArrayRequest(final View v) { final String arrayUrl = "http://10.0.3.2:8080/json/students.json"; JsonArrayRequest request = new JsonArrayRequest(arrayUrl, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray jsonArray) { showLog(jsonArray.toString()); //解析json数组 for (int i = 0; i < jsonArray.length(); i++) { //获取每一个数组元素 JSONObject json = jsonArray.optJSONObject(i); String name = json.optString("name"); int age = json.optInt("age"); showLog("i=" + i + ",name=" + name + ",age=" + age); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { showLog("" + volleyError.getMessage()); } }); RequestQueue queue = Volley.newRequestQueue(context); queue.add(request); } //返回bitmap对象 public void imageRequest(View v){ String imgUrl = "http://10.0.3.2:8080/imgs/sunny.jpg"; int maxWidth = 120;//0表示默认大小 int maxHeight = 120;//0表示默认大小,大于0对图片大图压缩 Bitmap.Config decodeConfig = Bitmap.Config.RGB_565;// 一个像素点占16位,2byte// Bitmap.Config decodeConfig = Bitmap.Config.ALPHA_8;//一个像素点占8位,1byte// Bitmap.Config decodeConfig = Bitmap.Config.ARGB_4444;//一个像素点占16位,2byte// Bitmap.Config decodeConfig = Bitmap.Config.ARGB_8888;//一个像素点占32位,4byte /** * 练习:有一张图片 480 * 800,请计算以下不同图片格式占用大小: * RGB_565 :480 * 800 * 2 byte = 除以1024=kb */ //1.创建请求对象 ImageRequest request = new ImageRequest(imgUrl, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap bitmap) { mImage.setImageBitmap(bitmap); } }, maxWidth, maxHeight, decodeConfig, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError volleyError) { showLog(volleyError.getMessage()); } }); //2.创建请求队列 RequestQueue queue = Volley.newRequestQueue(context); //3.发起网络请求 queue.add(request); } private void showLog(String msg) { Log.e("result", "" + msg); } private void showToast(String msg) { Toast.makeText(MainActivity.this, "" + msg, Toast.LENGTH_SHORT).show(); } private void initView() { mImage = (ImageView) findViewById(R.id.image); }}
0 0
- Volley的四大请求
- Volley的Https请求
- Android 的volley请求
- Volley的Https请求
- Volley请求的编写
- Volley 框架的 POST请求
- Volley的网络请求实例
- volley的用法(get请求)
- volley的get,post请求
- volley 的get post 请求
- Volley重复请求的问题
- Volley请求
- Volley请求
- Volley请求
- Volley请求
- Google Volley使用笔记,简单的请求
- Volley简介(1) : 简单的网络请求
- Android网络请求框架Volley的使用
- 安卓json解析——12306查询票价的字符串解析
- OPENGL入门
- 0/1背包变化
- Cocos2d-x的设计模式
- spoj spoj839 Optimal Marks 网络流 最小割 附数据生成器
- Volley的四大请求
- binder连接池
- 解决Eclipse中文乱码
- 正则判断正整数等js如何判断输入是否为正整数、浮点数等数字的函数
- Pyhon使用webdriver操作隐藏元素
- 电路与Multisim DIP开关在哪里可以找到
- inline - performance
- SonarQube使用说明
- 启动期间的内存管理之引导分配器bootmem--Linux内存管理(十)