标签:android volley get post volley用法
1、封装了的异步的RESTful 请求API;
2、一个优雅和稳健的请求队列;
3、一个可扩展的架构,它使开发人员能够实现自定义的请求和响应处理机制;
4、能够使用外部HTTP Client库;
5、缓存策略;
6、自定义的网络图像加载视图(NetworkImageView,ImageLoader等);
package com.zqy.myvolley;
import java.util.HashMap;
import java.util.Map;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
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.Response.ErrorListener;
import com.android.volley.Response.Listener;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.app.Activity;
public class MainActivity extends Activity implements OnClickListener {
private RequestQueue mQueue;
String url="http://www.baidu.com";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mQueue=Volley.newRequestQueue(this);<span style="color: rgb(51, 51, 51); font-family: 宋体; font-size: 14px; line-height: 28px;">创建一个RequestQueue对象。</span>
initView();
}
private void initView(){
final Button btnGet=(Button) findViewById(R.id.btn_get);
final Button btnPost=(Button) findViewById(R.id.btn_post);
btnGet.setOnClickListener(this);
btnPost.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_get:
initGet();
break;
case R.id.btn_post:
initPost();
break;
default:
break;
}
}
private void initGet(){//Get请求 Method为GET
mQueue.add(new StringRequest(Method.GET,url, new Listener<String>() {
@Override
public void onResponse(String arg0) {
Toast.makeText(MainActivity.this, "Get请求成功", 2).show();
//成功,在这里写处理内容的代码
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(MainActivity.this, "Get请求失败", 2).show();
//失败
}
}));
}
private void initPost(){//Post请求
//这写你自己的内部类PostResquest。。。。Method改成POST
mQueue.add(new PostResquest(Method.POST,url, new Listener<String>() {
@Override
public void onResponse(String arg0) {
Toast.makeText(MainActivity.this, "Post请求成功", 2).show();
//成功,在这里写处理内容的代码
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(MainActivity.this, "Post请求失败", 2).show();
//失败
}
}));
}
//写个内部类,Post里面放一些服务器需要的参数
class PostResquest extends StringRequest {
public PostResquest(int method, String url,
Listener<String> listener, ErrorListener errorListener) {
super(method, url, listener, errorListener);
}
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("Name", "小源");//参数
params.put("Age",22+"");//参数
return params;
}
}
}
这就是联网的代码了,是不是特别简单,比httpclient和httpurlconnection简单很多,并且还是异步执行,根本无需Handler。让我们开发更便捷,更简单,更高效,在让我们看看XML里面的布局,里面我放了两个Button,一个执行Get方法,一个执行Post方法。如下:<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=".MainActivity" >
<Button
android:id="@+id/btn_get"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="28dp"
android:text="Get请求" />
<Button
android:id="@+id/btn_post"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btn_get"
android:layout_below="@+id/btn_get"
android:layout_marginTop="47dp"
android:text="Post请求" />
</RelativeLayout>OK.大功告成,是不是感觉很简单,看完这些代码,你是不是也打算跟httpclient和httpurlconnection
say goodbye了跟Volley say hello那。最后祝愿安卓系统越做越好,让我们Android必胜宝刀行走在科技的世界里吧,Yeah~~~~<uses-permission android:name="android.permission.INTERNET" >
Android使用Google推荐的联网框架Volley,让连接网络更加简单,布布扣,bubuko.com
Android使用Google推荐的联网框架Volley,让连接网络更加简单
标签:android volley get post volley用法
原文地址:http://blog.csdn.net/xiaoyuan511/article/details/38736167