将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<String>() {
@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<String>() {
@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);
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<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>