第一步:导依赖
dependencies { compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28' }
第二步代码实现
1. 创建一个RequestQueue对象。
2. 创建一个StringRequest对象。
3. 将StringRequest对象添加到RequestQueue里面。
package com.example.myvolley;
import android.graphics.Bitmap; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.Toast;
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.toolbox.ImageLoader; import com.android.volley.toolbox.ImageRequest; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley;
import java.util.HashMap; import java.util.Map;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
1private Button but1; 2private Button but2; 3private ImageView img1; 4private Button but3; 5private ImageView img2; 6private Button but4; 7public static final String URLPOSTSTRING = "http://172.16.45.49:8080/day13/servlet/demo"; 8public static final String URLIMG = "http://img.my.csdn.net/uploads/201403/03/1393854083\_6511.jpg"; 9public static final String URLSTRING = "http://112.124.22.238:8081/course\_api/cniaoplay/featured2?p={%22page%22:0}"; 10 11@Override 12protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity\_main); 15 initView(); 16} 17 18private void initView() { 19 but1 = (Button) findViewById(R.id.but1); 20 but2 = (Button) findViewById(R.id.but2); 21 img1 = (ImageView) findViewById(R.id.img1); 22 but3 = (Button) findViewById(R.id.but3); 23 img2 = (ImageView) findViewById(R.id.img2); 24 but4 = (Button) findViewById(R.id.but4); 25 26 but1.setOnClickListener(this); 27 but2.setOnClickListener(this); 28 but3.setOnClickListener(this); 29 but4.setOnClickListener(this); 30} 31 32@Override 33public void onClick(View v) { 34 switch (v.getId()) { 35 case R.id.but1: 36 requestStringGet(); 37 break; 38 case R.id.but2: 39 requsetImgGet(); 40 break; 41 case R.id.but3: 42 requsetImgLoaderGet(); 43 break; 44 case R.id.but4: 45 requsetPost(); 46 break; 47 } 48}
//POST请求字符串 private void requsetPost() { RequestQueue requestQueue = Volley.newRequestQueue(this); StringRequest stringRequest = new StringRequest(Request.Method.POST, URLPOSTSTRING, new Response.Listener<String>() { @Override public void onResponse(String response) { Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) {
1 } 2 }){ 3 @Override 4 protected Map<String, String> getParams() throws AuthFailureError { 5 HashMap<String,String> map = new HashMap<>(); 6 map.put("username", "abc"); 7 map.put("password", "123"); 8 return map; 9 } 10 }; 11 requestQueue.add(stringRequest); 12}
//Get请求图片--缩放模式 private void requsetImgLoaderGet() { RequestQueue requestQueue = Volley.newRequestQueue(this); ImageLoader imageLoader = new ImageLoader(requestQueue, new ImageLoader.ImageCache() { @Override public Bitmap getBitmap(String url) { return null; } @Override public void putBitmap(String url, Bitmap bitmap) { } }); ImageLoader.ImageListener imageListener = ImageLoader.getImageListener(img2,R.mipmap.ic_launcher, R.mipmap.ic_launcher); imageLoader.get(URLIMG,imageListener); } //Get请求图片 private void requsetImgGet() { RequestQueue requestQueue =Volley.newRequestQueue(this); ImageRequest imageRequest = new ImageRequest(URLIMG, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap response) { img1.setImageBitmap(response); } }, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) {
1 } 2 }); 3 requestQueue.add(imageRequest); 4}
//Get请求字符串 private void requestStringGet() { RequestQueue requestqueue = Volley.newRequestQueue(this); StringRequest stringRequest = new StringRequest(Request.Method.GET,URLSTRING, new Response.Listener<String>() { @Override public void onResponse(String response) { Toast.makeText(MainActivity.this, response, Toast.LENGTH_SHORT).show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) {
1 } 2 }); 3 requestqueue.add(stringRequest); 4}
}