标签:requestque volley 框架
MyApplication.java
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.Volley;
import android.app.Application;
public class MyApplication extends Application {
public static RequestQueue queues;
@Override
public void onCreate(){
super.onCreate();
queues= Volley.newRequestQueue(getApplicationContext());
}
public static RequestQueue getHttpQueues(){
return queues;
}
}
MainActivity.java
import java.util.HashMap;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.android.volley.Request.Method;
import com.android.volley.Response.ErrorListener;
import com.android.volley.Response.Listener;
import com.android.volley.AuthFailureError;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
volley_Post();
}
// 使用Post的方式
private void volley_Post() {
String url = "http://apis.juhe.cn/mobile/get?";
/**
* 第一个参数:提交方式
* 第二个参数:URL
* 第三个参数:服务器响应成功的回调
* 第四个参数:第三个参数是服务器响应失败的回调
*/
StringRequest request = new StringRequest(Method.POST, url,
new Listener<String>() {
// 数据返回的时候,返回是以json返回的
@Override
public void onResponse(String arg0) {
Toast.makeText(MainActivity.this, arg0,
Toast.LENGTH_LONG).show();
}
}, new ErrorListener() {
//数据返回出错
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(MainActivity.this, arg0.toString(),
Toast.LENGTH_LONG).show();
}
}) {
//Post方式提交的参数
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<String, String>();
map.put("phone", "15678951111");
map.put("key", "a68030dd94b0ca6430044505a70ec73f");
return map;
}
};
request.setTag("Post");
MyApplication.getHttpQueues().add(request);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.imooc.volley"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="22" />
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!-- android:name全局都要用到的MyApplication类 -->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:name="com.imooc.volley.MyApplication"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
其区别只在于MainActivity的设置
MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
volley_Get();
}
private void volley_Get() {
//URL中包含参数
String url="http://apis.juhe.cn/mobile/get?phone=15658132456&key=a68030dd94b0ca6430044505a70ec73f";
/**
* 第一个参数:提交方式
* 第二个参数:URL
* 第三个参数:服务器响应成功的回调
* 第四个参数:第三个参数是服务器响应失败的回调
*/
StringRequest request=new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
// 数据返回的时候,返回是以json返回的
@Override
public void onResponse(String response) {
Toast.makeText(MainActivity.this,response,Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
}
});
request.setTag("Get");
MyApplication.getHttpQueues().add(request);
}
}
MainActivity.java
private void volley_Post() {
String url = "http://apis.juhe.cn/mobile/get?";
Map<String, String> map = new HashMap<String, String>();
map.put("phone", "15658132456");
map.put("key", "a68030dd94b0ca6430044505a70ec73f");
//转化为json格式
JSONObject object = new JSONObject(map);
/**
* 第一个参数是数据传递方式
* 第二个参数是URL
* 第三个参数是参数(json)
* 第四个参数是服务器响应成功的回调
* 第五个参数是服务器响应失败的回调
*/
JsonObjectRequest objectRequest = new JsonObjectRequest(Method.POST,
url, object, new Listener<JSONObject>() {
@Override
public void onResponse(JSONObject arg0) {
Toast.makeText(MainActivity.this, arg0.toString(),
Toast.LENGTH_LONG).show();
}
}, new ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
Toast.makeText(MainActivity.this, arg0.toString(),
Toast.LENGTH_LONG).show();
}
});
objectRequest.setTag("Post");
MyApplication.getHttpQueues().add(objectRequest);
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:requestque volley 框架
原文地址:http://blog.csdn.net/u012150370/article/details/48110561