安卓日记——volley常用方法介绍
来源:互联网 发布:淘宝网充话费优惠吗 编辑:程序博客网 时间:2024/05/17 01:05
volley为我们提供了更简单,更快,更健壮的方法来处理一些频繁且小的网络通讯,比如获取json,获取字符串,获取图片
首先导入volley这个jar包
一 获取json
学过安卓网络通信的人都知道http请求有两种方法,get和post,他们的区别不多说
可以直接在oncreate里写,但为了整洁我们通常会新建方法,把内容写在外面的方法里。
注:以下的url和传入的参数要改为自己的
首先新建一个方法
然后实例化一个RequestQueue
RequestQueue rq=Volley.newRequestQueue(this);然后如果是gei方法()
JsonObjectRequest jsonObjectRequest =new JsonObjectRequest("http://119.29.136.149:8080/secret.jsp", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d("TAG", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } });
如果是post方法
JsonObjectRequest jsonObjectRequest =new JsonObjectRequest(Request.Method.POST, "http://119.29.136.149:8080/secret.jsp", null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d("TAG", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); map.put("action", "send_pass"); return map; } };
就是在参数里加入post方法和多了个getParams方法,把map参数传进去
最后别忘了把这个jsonObjectRequest添加到RequestQueue里,不然不会执行
rq.add(jsonObjectRequest);
二 获取字符串
获取字符串和获取json大同小异,就是onResponse里面返回的参数类型不同而已
get方法获取字符串
RequestQueue rq=Volley.newRequestQueue(this); StringRequest stringRequest = new StringRequest("http://119.29.136.149:8080/secret.jsp", new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }); rq.add(stringRequest);
private void getJSONVolley() { RequestQueue rq=Volley.newRequestQueue(this); StringRequest stringRequest = new StringRequest(Request.Method.POST,"http://119.29.136.149:8080/secret.jsp", new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("TAG", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("TAG", error.getMessage(), error); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { Map<String, String> map = new HashMap<String, String>(); map.put("action", "send_pass"); return map; } }; rq.add(stringRequest);
三 获取图片
volley给我们提供了一个NetworkImageView控件
实现的方法也比较简单
要先在layout里添加这个控件
然后在主方法里获取这个控件
private NetworkImageView iv2;iv2= (NetworkImageView) findViewById(R.id.iv2);
String imageurl="http://119.29.136.149:8080/1.jpg"; RequestQueue rq=Volley.newRequestQueue(this); final LruCache<String,Bitmap> lrucache=new LruCache<String, Bitmap>(20); ImageLoader.ImageCache imagecache=new ImageLoader.ImageCache() { @Override public Bitmap getBitmap(String s) { return lrucache.get(s); } @Override public void putBitmap(String s, Bitmap bitmap) { lrucache.put(s,bitmap); } }; ImageLoader imageloader =new ImageLoader(rq,imagecache); iv2.setImageUrl(imageurl,imageloader); }这个方法实现了缓存的功能。
0 0
- 安卓日记——volley常用方法介绍
- 安卓日记——PagerSlidingTabStrip使用介绍
- 安卓日记——preferenceactivity用法
- 安卓日记——sqlite用法
- 安卓日记——下拉刷新
- 安卓日记——神器AndroidAutoLayout
- 安卓日记——http中的get和post方法
- Volley常用方法示例
- 安卓常用的方法
- 安卓开发日记1——虫虫新闻
- 安卓开发日记2——思念计数器
- 安卓开发日记3——IP推送器
- 安卓开发日记1——基本环境搭建
- 安卓开发日记2——eclipse配置
- 安卓日记——简述SimpleAdapter用法
- 安卓日记——ViewPager与RadioGroup关联
- 安卓日记——preference用法简介
- 安卓日记——自定义按钮效果
- Linux 下安装svn服务器及错误集锦
- html 空链接 href="#"与href="javascript:void(0)"的区别
- lk中通过操作pmic的寄存器来实现手机重启3次进入关机状态
- 智慧北京开发第一天(下)
- CS设计方案 汇总。
- 安卓日记——volley常用方法介绍
- CMake之list
- Qt核心剖析: moc
- Windows下安装并设置Redis
- 防止对 Visual Basic .NET 或 C# 代码进行反相工程 已经相关原理介绍
- 数据挖掘总结之数据挖掘与机器学习的区别
- python 引用别的文件类
- android 短视频 开发
- 面试:字符串集合 查找包含算法 的素数方案