Android采用Volley具体的例子展示完整的异步加载数据(一)
2023-09-14 09:08:04 时间
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 onresume方法,Android onActivityResult()和onResume()的执行顺序
- android toast显示时间,Android Toast自定义显示时间「建议收藏」
- Android AIDL跨进程通信
- Android resource linking failed_android sdk location should not
- Could not find class 'android.support.v4.widget.DrawerLayout$1'
- android 校验用户名密码手机邮箱身份证邮编等
- Skip Ads Android Project
- 【Android 应用开发】Canvas 绘制文字 ( 文字尺寸测量 | 基线绘制 )
- 【Android RTMP】x264 图像数据编码 ( Camera 图像数据采集 | NV21 图像数据传到 Native 处理 | JNI 传输字节数组 | 局部引用变量处理 | 线程互斥 )
- 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表文件格式 | 头文件 数据格式 | 全局字符串池 数据格式 | 包数据 数据格式 | 包头 数据格式 )
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 运行应用 | 代码整理 )
- 【Android Gradle 插件】build.gradle 中的 android 配置 ( 配置项 | compileSdkVersion 配置 | buildToolsVersion 配置 )
- 【Android Gradle 插件】Splits 配置 ④ ( Splits#language{} 脚本块配置 | 根据语言进行分包 | LanguageSplitOptions 配置简介 )
- 【错误记录】Android Studio 编译报错 ( Execution failed for task ‘:app:kaptDebugKotlin‘. A failure occurred w )
- [android] 看博客学习Android常见的几种RuntimeException详解手机开发
- [android] 安卓进程优先级&为什么使用服务详解手机开发
- android 超轻量级数据存储类详解编程语言
- 快速掌握Android NDK 开发Linux环境配置(linuxndk配置)
- 安装android开发环境原始版(windows版)
- 基于Android中实现定时器的3种解决方法
- android如何默认打开小区广播具体实现
- Android源码中的目录结构详解
- android通过bitmap生成新图片关键性代码
- android通过gps获取定位的位置数据和gps经纬度
- android异步请求服务器数据示例
- android开发教程之listview显示sqlite数据
- android文件上传示例分享(android图片上传)
- Android天气预报之基于HttpGet对象解析天气数据的方法