zoukankan      html  css  js  c++  java
  • 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>



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

  • 相关阅读:
    关于react-native遇到Can't find variable: TouchableHighlight
    安卓---app自动更新
    安卓---android:versionCode和android:versionName 用途
    安卓---读取照片---拍照
    运营商如何识别电信诈骗用户
    再要你命3K的任务总结
    连接kettle(6.1)与vm上的apache hadoop(2.6.1)
    如何从数据上知道某个用户即将去香港
    什么是撼动社会的产品?
    与Y哥的谈话。
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4845582.html
Copyright © 2011-2022 走看看