MainActivity例如下列:

package cc.cn;

import java.util.HashMap;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import com.android.volley.AuthFailureError;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.Request.Method;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
/**
* Demo描写叙述:
* 去年一个项目中简单的使用了Volley,參见:
* http://blog.csdn.net/lfdfhl/article/details/12223345
* 近期guolin写了几篇文章具体介绍Volley,所以在此比較系统地学习一下.
* 在本演示样例中,主要包含:
* 1 利用Volley实现Get请求
* 2 利用Volley实现Post请求
* 3 利用Volley实现Json数据请求
*
* 注意事项:
* 1 引入jar包volley.jar
* 2 网络权限<uses-permission android:name="android.permission.INTERNET"/>
*
* 学习资料:
* http://blog.csdn.net/guolin_blog/article/details/17482095
* Thank you very much
*
*/
public class MainActivity extends Activity {
private RequestQueue mRequestQueue;
private StringRequest mStringRequest;
private Context mContext;
private JsonObjectRequest mJsonObjectRequest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
volley_get();
//volley_post();
//volley_json();
} //利用Volley实现Get请求
private void volley_get(){
mContext=this;
String url="http://www.baidu.com/";
//1 创建RequestQueue对象
mRequestQueue=Volley.newRequestQueue(mContext);
//2 创建StringRequest对象
mStringRequest = new StringRequest(
url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println("请求结果:"+response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("请求错误:"+error.toString());
}
});
//3 将StringRequest加入到RequestQueue
mRequestQueue.add(mStringRequest);
} //利用Volley实现Post请求
private void volley_post() {
String url = "http://hxyj.cwwic.cn/wap/api_cs/user.php?action=login";
mContext = this;
mRequestQueue = Volley.newRequestQueue(mContext);
mStringRequest = new StringRequest(
Method.POST,
url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println("请求结果:" + response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("请求错误:" + error.toString());
}
}) {
//携带參数
@Override
protected HashMap<String, String> getParams()throws AuthFailureError {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("un", "411111222");
hashMap.put("pw", "180034111");
return hashMap;
} };
mRequestQueue.add(mStringRequest); } //利用Volley实现Json数据请求
private void volley_json() {
mContext = this;
String url = "http://m.weather.com.cn/data/101010100.html";
// 1 创建RequestQueue对象
mRequestQueue = Volley.newRequestQueue(mContext);
// 2 创建JsonObjectRequest对象
mJsonObjectRequest = new JsonObjectRequest(
url,
null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
System.out.println("请求结果:" + response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("请求错误:" + error.toString());
}
}); // 3 将JsonObjectRequest加入到RequestQueue
mRequestQueue.add(mJsonObjectRequest); } }

main.xml例如以下:

<?xml version="1.0" encoding="utf-8"?

>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="学习Volley(一)"
android:layout_centerInParent="true"
/> </RelativeLayout>

版权声明:本文博主原创文章,博客,未经同意不得转载。

Android采用Volley具体的例子展示完整的异步加载数据(一)的更多相关文章

  1. [Android Pro] 使用CursorLoader异步加载数据 from 3.0

    Android 3.0引入了CursorLoader实现异步加载数据,为了避免同步查询数据库时阻塞UI线程的问题.在API 11之前可以通过下载支持库,来使之前的系统支持此功能,下载页面为 http: ...

  2. android 网络异步加载数据进度条

    ProgressDialog progressDialog = null; public static final int MESSAGETYPE = 0; private void execute( ...

  3. 【Android】纯代码创建页面布局(含异步加载图片)

    开发环境:macOS 10.12 + Android Studio 2.2,MinSDK Android 5.1 先看看总体效果 本示例是基于Fragment进行的,直接上代码: [界面结构] 在 F ...

  4. Android 异步加载数据 AsyncTask异步更新界面

    官方文档:     AsyncTask enables proper and easy use of the UI thread. This class allows to perform backg ...

  5. Android ListView异步加载数据

    1.主Activity public class MainActivity extends Activity { private ListView listView; private ArrayLis ...

  6. 开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask

    图片异步加载.可以备注图片是否缓存.缓存状态. 1.缓存-SD卡,路径可设置 2.图片压缩 3.可加载本地和网络图片 4.url为本地视频文件可以显示缩略图 5.中文url图片地址FileNotFou ...

  7. Android中ListView异步加载数据

    1.主Activity public class MainActivity extends Activity { private ListView listView; private ArrayLis ...

  8. android官方开源的高性能异步加载网络图片的Gridview例子

    这个是我在安卓安卓巴士上看到的资料,放到这儿共享下.这个例子android官方提供的,其中讲解了如何异步加载网络图片,以及在gridview中高效率的显示图片此代码很好的解决了加载大量图片时,报OOM ...

  9. Android之数据存储----使用LoaderManager异步加载数据库

    一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中 ...

随机推荐

  1. JAVA程序生成XML标准化的文件格式,缩进,美化。

    //他开始Document映射到文件 TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer t ...

  2. unrecognized selector sent to instance 0x10b34e810

    一个错误: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURLEr ...

  3. Asp.net MVC4 +EF6开发

    Asp.net MVC4 +EF6开发的个人网站源码和介绍(仅供新手学习) 本项目是我去年利用业余时间开发的,采用的是asp.net mvc 4 +EF6+三层架构,适合新手进行学习,高手就没有什么价 ...

  4. 透过浏览器看HTTP缓存(转)

    作为前端开发人员,对于我们的站点或应用的缓存机制我们能做的似乎不多,但这些却是与我们关注的性能息息相关的部分,站点没有做任何缓存机制,我们的页面可能会因为资源的下载和渲染变得很慢,但大家都知道去找前端 ...

  5. nginx+lua+redis构建高并发应用(转)

    nginx+lua+redis构建高并发应用 ngx_lua将lua嵌入到nginx,让nginx执行lua脚本,高并发,非阻塞的处理各种请求. url请求nginx服务器,然后lua查询redis, ...

  6. POJ 2155 D区段树

    POJ 2155  D区段树 思考:D区段树是每个节点设置一个段树树. 刚開始由于题目是求A[I,J],然后在y查询那直接ans^=Map[i][j]的时候没看懂.后面自己把图画出来了才理解. 由于仅 ...

  7. 深入浅出JMS(一)——JMS简要

    假设手机只能实时通话.没有邮件和短信功能发生?一个电话回来.只是没有足够的时间去连接.然后传递这款手机的信息肯定是不接受. 么不能先将信息存下来.当用户须要查看信息的时候再去获得信息呢?伴随着这个疑惑 ...

  8. spring mvc 错误摘要--。位。

    1....identifier of an instance of org.szgzw.ent.profile.baseinfo.enterprise.EnterpriseEntity was alt ...

  9. windows API与C#的数据类型对应关系表

    API与C#的数据类型对应关系表 API数据类型 类型描述 C#类型 API数据类型 类型描述 C#类型 WORD 16位无符号整数 ushort CHAR 字符 char LONG 32位无符号整数 ...

  10. Java 审查基调

    1.& 与 &&的差别 两个都有逻辑与的功能. 可是所不同的是.当&两边的表达式不是boolean类型的时候,&具有位与的功能:&&是短路与,当 ...