Android采用Volley具体的例子展示完整的异步加载数据(一)
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具体的例子展示完整的异步加载数据(一)的更多相关文章
- [Android Pro] 使用CursorLoader异步加载数据 from 3.0
Android 3.0引入了CursorLoader实现异步加载数据,为了避免同步查询数据库时阻塞UI线程的问题.在API 11之前可以通过下载支持库,来使之前的系统支持此功能,下载页面为 http: ...
- android 网络异步加载数据进度条
ProgressDialog progressDialog = null; public static final int MESSAGETYPE = 0; private void execute( ...
- 【Android】纯代码创建页面布局(含异步加载图片)
开发环境:macOS 10.12 + Android Studio 2.2,MinSDK Android 5.1 先看看总体效果 本示例是基于Fragment进行的,直接上代码: [界面结构] 在 F ...
- Android 异步加载数据 AsyncTask异步更新界面
官方文档: AsyncTask enables proper and easy use of the UI thread. This class allows to perform backg ...
- Android ListView异步加载数据
1.主Activity public class MainActivity extends Activity { private ListView listView; private ArrayLis ...
- 开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask
图片异步加载.可以备注图片是否缓存.缓存状态. 1.缓存-SD卡,路径可设置 2.图片压缩 3.可加载本地和网络图片 4.url为本地视频文件可以显示缩略图 5.中文url图片地址FileNotFou ...
- Android中ListView异步加载数据
1.主Activity public class MainActivity extends Activity { private ListView listView; private ArrayLis ...
- android官方开源的高性能异步加载网络图片的Gridview例子
这个是我在安卓安卓巴士上看到的资料,放到这儿共享下.这个例子android官方提供的,其中讲解了如何异步加载网络图片,以及在gridview中高效率的显示图片此代码很好的解决了加载大量图片时,报OOM ...
- Android之数据存储----使用LoaderManager异步加载数据库
一.各种概念: 1.Loaders: 适用于Android3.0以及更高的版本,它提供了一套在UI的主线程中异步加载数据的框架.使用Loaders可以非常简单的在Activity或者Fragment中 ...
随机推荐
- HTML与XML总结
阅览<孙欣HTML>和<刘炜XML>过了一段时间,在这里学到的内容用思维导图来概括. HTML与XML都是标记语言. 同样点: HTML文档与XML文档有类似的结构. 前者是( ...
- 超赞的.NET办公软件库
之前做项目无意中搜到这个站点,一開始以为是国外大牛们的杰作,然后看到联系地址中竟然是四川成都,喔...咱们中国人跟老美.印度人比起来也非常厉害啊. 这个站点一次性提供了word.excel.ppt.p ...
- 深度this指针
深入探讨this指针 为了写这篇文章.准备了好长时间,翻遍了箱底的书籍.可是如今还是不敢放开手来写,战战兢兢. 不是操心自己写错.而是唯恐自己错误误导别人.同一时候也希望这篇文章能给你一点收获.既 ...
- Objective-C代码块语法(block)使用
和其它变量本质上相似的代码块.所不同的是,数据存储代码块是主体的函数. 使用的代码块被,你可以像打电话一样等标准功能,传入参数的数量,并获得返回值. 插入符号(^)语法标记块.我们熟悉的参数按照规约定 ...
- uva 10245 近期点对问题
分治法的典例 当练手了 奇妙的是.使用inplace_merge按说应该是O(n)的算法.可是用sort nlogn的算法反而更快 先上快排版 #include <cstdio> #inc ...
- Partition List -- LeetCode
原题链接: http://oj.leetcode.com/problems/partition-list/ 这是一道链表操作的题目,要求把小于x的元素按顺序放到链表前面.我们仍然是使用链表最经常使用 ...
- 从一开始,说出事java匿名内部类
java内部类.匿名类原本以为它们的使用已经很滑, 成绩, 就在昨天晚上12指向时钟发生重大事故.事故的严重程度再说吧,那是因为我没有睡一晚睡眠. 那以下先用一段模拟代码来描写叙述下我出现的问题的: ...
- php 两个文件之间的相对路径的计算方法
php 两个文件之间的相对路径的计算方法 比如: 文件A 的路径是 /home/web/lib/img/cache.php 文件B的路径是 /home/web/api/img/show.php 那么. ...
- MongoDB:逐渐变得无关紧要
我与MongoDB的关系可分为三个阶段.对于目前处于第三阶段的我来说,这款产品似乎变得无关紧要了.很快你就会明白为什么我这么说. 阶段一:痴迷 我与MongoDB的第一次接触十分神奇:一个poligl ...
- hdu 4876 ZCC loves cards(暴力)
题目链接:hdu 4876 ZCC loves cards 题目大意:给出n,k,l,表示有n张牌,每张牌有值.选取当中k张排列成圈,然后在该圈上进行游戏,每次选取m(1≤m≤k)张连续的牌,取牌上值 ...