AndroidStudio——Volley框架的使用

将Volley添加进项目:
将volley.jar 粘贴进libs文件夹下,然后右键volley.jar文件,选择Add as Library

Volley中的RequestQueue 和 Request
RequestQueue 用来执行请求的请求队列
Request 用来构造一个请求对象
Request对象主要有以下几种类型:
StringRequest 响应的主体为字符串
JsonArrayRequest 发送和接收JSON数组
JsonObjectRequest 发送和接收JSON对象
ImageRequest 发送和接收Image

Volley的基本使用
1.初始化volley请求队列
2.创建StringRequest对象
3.将String对象添加到队列中

实例应用:

//本类监听  实现implements View.OnClickListener及OnClickListenr
public class VolleyActivity extends AppCompatActivity
        implements View.OnClickListener {
    private Button bt1;
    private TextView show;
    private RequestQueue queue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_volley);
        bt1 = (Button) findViewById(R.id.bt1);
        show = (TextView) findViewById(R.id.show);
        //一定要加上这句话,不然没法监听
        bt1.setOnClickListener(this);
        //1.初始化volley请求队列
        queue = Volley.newRequestQueue(this);
    }

    @Override
    public void onClick(View v) {
        int id = v.getId();
        if (id == R.id.bt1) {
            //GetVolley();
            PostVolley();
        }
    }

    //请求在子线程中运行
    public void GetVolley() {
        String url = "http://192.168.1.18:8080/"
                + "HttpTest/index.jsp" +
                "?option=getUser&uName=jerehedu";
        //用了三个参数省略HTTP URL
        //2.创建StringRequest对象
        StringRequest sr = new StringRequest(url, new Response.Listener() {
            @Override
            //在主线程中运行
            public void onResponse(String s) {
                show.setText(s);

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                show.setText(volleyError.getMessage());
            }
        });
        //3.将String对象添加到队列中
        queue.add(sr);
    }

    public void PostVolley() {
        //String url = UrlUtil.channelUrl;
        String url = "http://192.168.1.18:8080/"
                + "HttpTest/index.jsp";
        StringPostRequest spr = new StringPostRequest(url, new Response.Listener() {
            @Override
            public void onResponse(String s) {
                show.setText(s);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {

            }
        });
        spr.putParams("option", "getUser");
        spr.putParams("uName", "jerehedu");
        // spr.putHeaders("apikey", "5b46143955a4b1ff1b470a94315625cd");
        queue.add(spr);
    }
}

布局文件:


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.dell.jreduch07.VolleyActivity">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bt1"
        android:text="访问"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_below="@+id/bt1"
        android:id="@+id/show" />
RelativeLayout>

你可能感兴趣的:(AndroidStudio)