使用Volley传输网络数据
来源:互联网 发布:个人查询大数据信用 编辑:程序博客网 时间:2024/05/01 07:07
AOSP 仓库获取到Volley 。
Volley 有如下的优点:
自动调度网络请求。高并发网络连接。通过标准的HTTP的cache coherence(高速缓存一致性)使得磁盘与内存缓存不可见(Transparent)。支持指定请求的优先级。
支持取消已经发出的请求。你可以取消单个请求,或者指定取消请求队列中的一个区域。
框架容易被定制,例如,定制重试或者回退功能。
强大的指令(Strong ordering)可以使得异步加载网络数据并显示到UI的操作更加简单。包含了Debugging与tracing工具。
Volley擅长执行用来显示UI的RPC操作, 例如获取搜索结果的数据。它轻松的整合了任何协议,并输出操作结果的数据,可
以是raw strings,也可以是images,或者是JSON。通过提供内置你可能使用到得功能,Volley可以使得你免去重复编写样板
代码,使你可以把关注点放在你的app的功能逻辑上。
Volley不适合用来下载大的数据文件。因为Volley会在解析的过程中保留持有所有的响应数据在内存中。对于下载大量的数据操作,请考虑使用DownloadManager。
Volley框架的核心代码是托管在AOSP仓库的 frameworks/volley 中,相关的工具放在 toolbox 下。把Volley添加到你的项目中的最简便的方法是Clone仓库然后把它设置为一个library project:
通过下面的命令来Clone仓库:git clone https://android.googlesource.com/platform/frameworks/volley
1、发送简单的网络请求(Sending a Simple Request)
使用Volley的方式是,你通过创建一个 RequestQueue 并传递 Request 对象给它。RequestQueue管理工作线程用来执行网络操
作,从Cache中读取与写入数据,以及解析Http的响应内容。 Requests 执行raw responses的解析,Volley会把响应的数据分发给主线程。
(1) 为了使用Volley,你必须添加 android.permission.INTERNET 权限到你的manifest文件中。没有这个权限,你的app将无法访问网络。
(2)Volley提供了一个简便的方法: Volley.newRequestQueue 用来为你建立一个 RequestQueue ,使用默认值,并启动这个队列。例如:
final TextView mTextView = (TextView) findViewById(R.id.text);...// Instantiate the RequestQueue.RequestQueue queue = Volley.newRequestQueue(this);String url ="http://www.google.com";// Request a string response from the provided URL.StringRequest stringRequest = new StringRequest(Request.Method.GET, url,new Response.Listener() {@Overridepublic void onResponse(String response) {// Display the first 500 characters of the response string.mTextView.setText("Response is: "+ response.substring(0,500));}}, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {mTextView.setText("That didn't work!");}});// Add the request to the RequestQueue.queue.add(stringRequest);
Volley总是把解析过后的数据返回到主线程中。在主线程中更加合适使用接收到到的数据用来操作UI控件,这样你可以在响
应的handler中轻松的修改UI,但是对于库提供的一些其他方法是有些特殊的,例如与取消有关的。
关于如何创建你自己的请求队列,不要使用Volley.newRequestQueue方法,请查看建立一个请求队列Setting Up a
RequestQueue。
为了发送一个请求,你只需要构造一个请求并通过 add() 方法添加到 RequestQueue 中。一旦你添加了这个请求,它会通过队
列,得到处理,然后得到原始的响应数据并返回。
- 使用Volley传输网络数据
- Volley传输网络数据
- 使用Volley传输网络数据(官网教程)
- Transmitting Network Data Using Volley(使用Volley框架传输网络数据)
- Android训练课程(Android Training) - 使用Volley传输网络数据(Transmitting Network Data Using Volley)
- 使用volley实现简单的操作,json传输,网络图片显示
- Volley 重写源码,使用Post方式获取网络Json数据
- Volley框架进行请求网络数据的使用
- 使用Android Volley网络请求框架请求数据步骤
- 数据的网络传输
- 网络数据如何传输?
- Android Volley,使用Volley加载网络图片
- Android Volley 使用Volley加载网络图片
- 探秘volley缓存网络数据
- Volley简单访问网络数据
- Volley网络请求数据框架
- 采用gzip传输时volley的使用
- 使用OkHttp作为Volley的传输
- Android LayoutInflater详解
- 最新最详的app上线流程,审核加速
- vs2009调试遇到问题/json解析错误/eclipse项目转myeclipse项目
- 文章标题
- Linux命令常用大全
- 使用Volley传输网络数据
- 我的网站
- Android Studio 学习记录(1)
- Redhat Linux5.4/5.5/5.8/6.0/6.3 ISO镜像文件下载
- html页面中如何设置当光标移到一个固定区域时其形状变成手型,移出时恢复
- addEventListener的第三个参数
- HttpServletResponse对象(一)
- hdu1058.Humble Numbers
- UESTC 1132 酱神赏花 (用数据结构优化DP)