package com.chinaztt.fda.test; import android.graphics.Bitmap; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; 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.GsonRequest; import com.android.volley.toolbox.ImageLoader; import com.android.volley.toolbox.ImageRequest; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.NetworkImageView; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.chinaztt.fda.entity.UpdateBean; import com.chinaztt.fda.ui.R; import com.chinaztt.fda.ui.base.BaseActivity; import com.chinaztt.fda.utils.Log; import com.chinaztt.fdv.Fdv_CallBackListener; import com.chinaztt.fdv.Fdv_ImageCache; import com.chinaztt.fdv.Fdv_JsonObjectRequest; import com.chinaztt.fdv.Fdv_StringRequest; import com.google.gson.Gson; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.ViewById; import org.json.JSONObject; import java.util.HashMap; import java.util.Map; import java.util.Objects; /** * 当前类注释:Volley 网络框架数据请求 * 项目名:FastDev4Android * 包名:com.chinaztt.fda.test * 作者:江清清 on 15/11/10 13:23 * 邮箱:jiangqqlmj@163.com * QQ: 781931404 * 公司:江苏中天科技软件技术有限公司 */ @EActivity(R.layout.volley_test_layout) public class VolleyTestActivity extends BaseActivity { private static final String TAG=VolleyTestActivity.class.toString(); @ViewById LinearLayout top_bar_linear_back; @ViewById TextView top_bar_title,tv_result; @ViewById ImageView img_result; @ViewById Button btn_string,btn_json,btn_image_request,btn_image_loader,btn_image_network,btn_string_post,btn_loader_list,btn_gson; @ViewById Button btn_fdv_get_params,btn_fdv_post_params; @ViewById NetworkImageView img_result_network; private RequestQueue requestQueue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestQueue=Volley.newRequestQueue(this); } @Click({R.id.top_bar_linear_back,R.id.btn_string,R.id.btn_json,R.id.btn_image_request,R.id.btn_image_loader,R.id.btn_image_network,R.id.btn_string_post,R.id.btn_loader_list,R.id.btn_gson,R.id.btn_fdv_get_params,R.id.btn_fdv_post_params}) public void backLinearClick(View view){ switch (view.getId()){ case R.id.top_bar_linear_back: this.finish(); break; case R.id.btn_string: //获取字符串 Log.d(TAG, "点击获取字符串..."); new Fdv_StringRequest(VolleyTestActivity.this).get("http://www.baidu.com", new Fdv_CallBackListener<String>() { @Override public void onSuccessResponse(String response) { tv_result.setVisibility(View.VISIBLE); img_result.setVisibility(View.GONE); img_result_network.setVisibility(View.GONE); tv_result.setText(response.toString()); } @Override public void onErrorResponse(VolleyError error) { } }); break; case R.id.btn_json: //获取json Log.d(TAG, "点击获取json..."); new Fdv_JsonObjectRequest(VolleyTestActivity.this).get("http://interface.zttmall.com/update/mallUpdate", new Fdv_CallBackListener<JSONObject>() { @Override public void onSuccessResponse(JSONObject response) { Gson gson=new Gson(); tv_result.setVisibility(View.VISIBLE); img_result.setVisibility(View.GONE); img_result_network.setVisibility(View.GONE); tv_result.setText(gson.fromJson(response.toString(),UpdateBean.class).toString()); } @Override public void onErrorResponse(VolleyError error) { } }); break; case R.id.btn_image_request: //获取图片 //http:\/\/interface.zttmall.com\/Images\/upload\/image\/20150325\/20150325083110_0898.jpg Log.d(TAG, "点击获取图片..."); ImageRequest imageRequest=new ImageRequest("http://interface.zttmall.com/Images/upload/image/20150325/20150325083110_0898.jpg" , new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap response) { tv_result.setVisibility(View.GONE); img_result.setVisibility(View.VISIBLE); img_result.setImageBitmap(response); img_result_network.setVisibility(View.GONE); } }, 0, 0, ImageView.ScaleType.FIT_XY, Bitmap.Config.ARGB_8888, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); requestQueue.add(imageRequest); break; case R.id.btn_image_loader: //使用imageloader进行获取图片 ImageLoader imageLoader=new ImageLoader(requestQueue, new Fdv_ImageCache()); tv_result.setVisibility(View.GONE); img_result.setVisibility(View.VISIBLE); img_result_network.setVisibility(View.GONE); ImageLoader.ImageListener listener=ImageLoader.getImageListener(img_result,R.drawable.ic_loading,R.drawable.ic_loading); imageLoader.get("http://interface.zttmall.com//Images//upload//image//20150328//20150328105404_2392.jpg", listener); break; case R.id.btn_image_network: //采用NetworkImageView imageview控件 ImageLoader network_imageLoader=new ImageLoader(requestQueue, new Fdv_ImageCache()); img_result.setVisibility(View.GONE); tv_result.setVisibility(View.GONE); img_result_network.setVisibility(View.VISIBLE); img_result_network.setImageUrl("http://interface.zttmall.com//Images//upload//image//20150325//20150325083214_8280.jpg",network_imageLoader); break; case R.id.btn_string_post: //修改Volley源代码,扩展StringRequest支持post参数设置 final Map<String,String> params=new HashMap<String,String>(); params.put("username","张三"); params.put("password","12345"); StringRequest post_stringRequest=new StringRequest(Request.Method.POST,"http://10.18.3.123:8080/SalesWebTest/TestVolleyPost", new Response.Listener<String>() { @Override public void onResponse(String response) { tv_result.setVisibility(View.VISIBLE); img_result.setVisibility(View.GONE); img_result_network.setVisibility(View.GONE); tv_result.setText(response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { return params; } }; requestQueue.add(post_stringRequest); break; case R.id.btn_loader_list: //进行使用ImageLoader加载图片列表 openActivity(VolleyLoaderActivity_.class); break; case R.id.btn_gson: //使用扩展工具 GsonRequest进行请求 GsonRequest<UpdateBean> gsonRequest=new GsonRequest<UpdateBean>("http://interface.zttmall.com/update/mallUpdate", new Response.Listener<UpdateBean>() { @Override public void onResponse(UpdateBean response) { tv_result.setVisibility(View.VISIBLE); img_result.setVisibility(View.GONE); img_result_network.setVisibility(View.GONE); tv_result.setText(response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }, UpdateBean.class); requestQueue.add(gsonRequest); break; case R.id.btn_fdv_get_params: //get请求 传入请求参数 Map<String,String> params_get=new HashMap<String,String>(); params_get.put("username","张三"); params_get.put("password","12345"); new Fdv_StringRequest(this).get("http://10.18.3.123:8080/SalesWebTest/TestVolleyPost", new Fdv_CallBackListener<String>() { @Override public void onSuccessResponse(String response) { tv_result.setVisibility(View.VISIBLE); img_result.setVisibility(View.GONE); img_result_network.setVisibility(View.GONE); tv_result.setText(response.toString()); } @Override public void onErrorResponse(VolleyError error) { } },params_get); break; case R.id.btn_fdv_post_params: //post请求 传入请求参数 Map<String,String> params_post=new HashMap<String,String>(); params_post.put("username","张三"); params_post.put("password","12345"); new Fdv_StringRequest(this).post("http://10.18.3.123:8080/SalesWebTest/TestVolleyPost", new Fdv_CallBackListener<String>() { @Override public void onSuccessResponse(String response) { tv_result.setVisibility(View.VISIBLE); img_result.setVisibility(View.GONE); img_result_network.setVisibility(View.GONE); tv_result.setText(response.toString()); } @Override public void onErrorResponse(VolleyError error) { } },params_post); break; } } @AfterViews public void setViews(){ top_bar_title.setText("Volley网络框架测试实例"); } }