使用volley实现简单的操作,json传输,网络图片显示

服务器端代码

@WebServlet(urlPatterns = "/get")
public class getServlet extends HttpServlet {
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws IOException {
		System.out.println("get");
		// JSONObject jsonObject = new JSONObject();
		// try {
		// jsonObject.put("json", "json");
		// } catch (JSONException e) {
		// e.printStackTrace();
		// }

		Map<String, Object> result = new HashMap<String, Object>();
		result.put("json1", "Json");
		result.put("json2", "Json");
		response.setContentType("text/html;charset=utf-8");
		response.getWriter().println(new JSONObject(result));
	}
}
使用servlet部署在tomcat上面,采用json传输数据

在android上与服务器通信

public class MainActivity extends Activity {
	private ImageView imageView;
	private NetworkImageView mNetworkImageView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		final TextView mTextView = (TextView) findViewById(R.id.txt);
		imageView = (ImageView) findViewById(R.id.imageView1);
		// mNetworkImageView = (NetworkImageView)
		// findViewById(R.id.networkImageView);
		RequestQueue queue = Volley.newRequestQueue(this);

		String url = "http://219.228.251.22:8080/test/get";
		String imageUrl = "http://imgsrc.baidu.com/forum/pic/item/95d7912397dda144e5e2d08ab1b7d0a20cf4861b.jpg";

		queue.add(new StringRequest(Method.GET, url, new Listener<String>() {

			@Override
			public void onResponse(String arg0) {
				mTextView.setText(arg0);
				//	mTextView.setText(new JSONObject(arg0).getString("json2"));
				//可以使用String类型的返回值获取json数据
			}
		}, null));

		JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.GET,
				url, null, new Listener<JSONObject>() {

					@Override
					public void onResponse(JSONObject arg0) {
						try {
							mTextView.append(arg0.getString("json1"));
						} catch (JSONException e) {
							e.printStackTrace();
						}
					}
				}, new Response.ErrorListener() {
					@Override
					public void onErrorResponse(VolleyError error) {
					}
				});
		queue.add(jsonObjectRequest);

		ImageRequest request = new ImageRequest(imageUrl,
				new Response.Listener<Bitmap>() {
					@Override
					public void onResponse(Bitmap bitmap) {
						imageView.setImageBitmap(bitmap);

					}
				}, 0, 0, null, new Response.ErrorListener() {
					public void onErrorResponse(VolleyError error) {
						imageView.setImageResource(R.drawable.ic_launcher);
					}
				});
		queue.add(request);
	}


volley.jar下载

post 传数据

  loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                account = idEdit.getText().toString();
                password = pwdEdit.getText().toString();
                queue = Volley.newRequestQueue(LoginActivity.this);
                String url = "http://219.228.251.13:8080/WirelessOrder_Server/servlet/LoginServlet";
                StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {

                    @Override
                    public void onResponse(String arg0) {
                        Log.d("login", arg0);
                        if (!arg0.equals("0"))
                            finish();
                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        // error
                        Log.d("Error.Response", error.getMessage());
                    }
                }) {
                    protected Map<String, String> getParams() {
                        Map<String, String> params = new HashMap<String, String>();
                        params.put("account", account);
                        params.put("password", password);
                        return params;
                    }
                };
                queue.add(request);
            }
        });
由于继承public abstract class Request<T> implements Comparable<Request<T>> {

这个类,所以需重写下面的方法

    /**
     * Returns a Map of parameters to be used for a POST or PUT request.  Can throw
     * {@link AuthFailureError} as authentication may be required to provide these values.
     *
     * <p>Note that you can directly override {@link #getBody()} for custom data.</p>
     *
     * @throws AuthFailureError in the event of auth failure
     */
    protected Map<String, String> getParams() throws AuthFailureError {
        return null;
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值