一.重要概念

1.Volley 是 Google 推出的 Android 异步网络请求框架和图片加载框架。在 Google I/O 2013 大会上发布。

2.适用场景:Volley适合处理数据量小、操作频繁的网络操作。

3.分类:Volley大体上分为4种:

3.1.StringRequest:用于请求String字符串

3.2.JsonRequest:用于请求JSON字符串

3.3.ImageRequest:用于请求图片,但不推荐

3.4.ImageLoder:用于请求图片,带有二级缓存,推荐用它,此外,还可以用NetworkImageView。

3.5自定义reqiuest.

二.具体步骤

1.创建请求队列对象

2.创建请求对象

3.把请求对象加入队列中

4.设置取消请求(比如按返回键取消请求时)

5.由于执行网络操作,必须在清单文件中加入INTERNET权限

三.代码实现:


import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;



public class MainActivity extends AppCompatActivity {


    private TextView textView;
    private  RequestQueue requestQueue;
    private StringRequest stringRequest;
    private String path="http://www.baidu.com";
    private  String TAG="TAG";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView= (TextView) findViewById(R.id.textView);
//       第一步: 创建请求队列,通过Volley.newRequestQueue(this)得到.
        requestQueue = Volley.newRequestQueue(this);
//        第二步:创建字符串请求对象

/**

1参:请求方式

2参:路径

3参:请求成功时回调的方法

4参:请求失败时回调的方法

*/
     
  stringRequest = new StringRequest(Request.Method.GET, path, new Response.Listener() {
            @Override
//            请求成功时回调的方法
           public void onResponse(String s) {
                    textView.setText(s);
            }
        },

//                请求失败时回调的方法,直接打印错误即可
               new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        volleyError.printStackTrace();
                        Toast.makeText(MainActivity.this, volleyError.getMessage(), Toast.LENGTH_SHORT).show();
                    }
                });

//       第三步: 将字符串对象加入请求队列中
        requestQueue.add(stringRequest);
//   第四步: 设置标签,方便取消请求
       stringRequest.setTag(TAG);
    }


    @Override
    protected void onDestroy() {
        super.onDestroy();
//        销毁活动时取消请求,最后在清单文件中加入网络权限
       requestQueue.cancelAll(TAG);
    }
}

这样,请求到的字符串会显示在TextView上.


更多相关文章

  1. OKHttp3的简单使用(转)
  2. 深入理解Android消息处理系统
  3. React Native 项目运行在安卓模拟器Http请求报错
  4. Android之Volley框架
  5. Android(安卓)Volloy 网络请求框架图
  6. Android(安卓)SDK Tutorials系列 - Hello Views - Auto Complete
  7. 利用FRIDA攻击Android应用程序(三)
  8. android HH不能格式化时间的问题
  9. 【多线程】七、阻塞队列

随机推荐

  1. 详解Android中的屏幕方向
  2. Android(安卓)实现全屏和无标题栏的显示
  3. Android(安卓)NDK 环境搭建(Native Devel
  4. RelativeLayout常用属性介绍
  5. Android预定义样式
  6. android(2)——Structure of an Android(
  7. android 图片压缩的方法
  8. 善用Android预定义样式
  9. 用android:clipChildren来实现红心变大特
  10. Android2.2 API 中文文档系列(2) —— Edit