android从java端中取数据

  1. 简介
    1.1 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、
    功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和协议。
    1.2 Android已成功集成了HttpClient,这意味这开发人员可以直接在Android应用中使用 HtppClient来提交请求、接收响应
// 字符集
	private static String encoding = "UTF-8";

	// 服务器地址+端口号+项目名   
	//每个人的端口号都不一样,并且每次启动端口号都会改变
	private static String basePath = "http://172.20.10.9:8080/Y2Pro02";

	// 子控制器的路径
	private String path;

	// 保存请求中的参数
	private List<NameValuePair> params = new ArrayList<NameValuePair>();;

	public HttpClientPost(String path) {
		super();
		this.path = path;
	}

注:在API 23中,Google已经移除了移除了Apache HttpClient相关的类 ,
在build.gradle中的android {}中加上useLibrary ‘org.apache.http.legacy’,
详情见资料“”
1 创建HttpClient对象
HttpClient httpClient = new DefaultHttpClient();

2 创建HttpGet(或HttpPost)对象
HttpGet HttpGet = new HttpGet(“http://www.baidu.com”);
HttpPost httpPost = new HttpPost(“http://www.baidu.com”);

3 添加参数(可选)
setParams(HttpParams params)//HttpGet和HttpPost共有
setEntity(HttpEntity entity)//HttpPost独有
//测试代码

 public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt_main_add:
                add();
                break;
            case R.id.bt_main_edit:
                edit();
                break;
            case R.id.bt_main_del:
                del();
                break;
            case R.id.bt_main_load:
                load();
                break;
            case R.id.bt_main_list:
                list();
                break;
        }
    }

    private void add() {
        Log.i("test", "add...");
        HttpClientPost clientPost=new HttpClientPost("/bookAction.action");
        clientPost.addParam("methodName","addBook");
        clientPost.addParam("book_name","你是我的眼");
        clientPost.addParam("book_category_id","4");
        clientPost.addParam("book_author","新大陆");
        clientPost.addParam("book_price","24.8");
        clientPost.addParam("publishing","呃呃呃");
        clientPost.addParam("book_desc","牡丹江阿合格");
        clientPost.submit(new HttpClientPost.Callback() {
            @Override
            public void execute(String json) {
                Log.i("test",json);
            }
        });
    }

    private void edit() {
        Log.i("test", "edit...");
        HttpClientPost clientPost=new HttpClientPost("/bookAction.action");
        clientPost.addParam("methodName","updateBook");
        clientPost.addParam("book_name","略略略");
        clientPost.addParam("book_id","13");
        clientPost.addParam("book_category_id","6");
        clientPost.addParam("book_author","新大陆");
        clientPost.addParam("book_price","24.8");
        clientPost.addParam("publishing","呃呃呃");
        clientPost.addParam("book_desc","牡丹江阿合格");
        clientPost.submit(new HttpClientPost.Callback() {
            @Override
            public void execute(String json) {
                Log.i("test",json);
            }
        });
    }

    private void del() {
        Log.i("test", "del...");
        HttpClientPost clientPost=new HttpClientPost("/bookAction.action");
        clientPost.addParam("methodName","delBook");
        clientPost.addParam("book_id","20");
        clientPost.submit(new HttpClientPost.Callback() {
            @Override
            public void execute(String json) {
                Log.i("test",json);
            }
        });
    }

    private void load() {
        Log.i("test", "load...");
        HttpClientPost clientPost=new HttpClientPost("/bookAction.action");
        clientPost.addParam("methodName","bookList");
        clientPost.addParam("book_name","你是我的眼");
        clientPost.submit(new HttpClientPost.Callback() {
            @Override
            public void execute(String json) {
                Log.i("test",json);
                ObjectMapper om=new ObjectMapper();
                try {
                    Map<String, Object> rs=om.readValue(json,Map.class);
                    Log.i("test",rs.get("total").toString());
                    Log.i("test",rs.get("rows").getClass().getName());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }

    private void list() {
        Log.i("test", "list...");
        HttpClientPost clientPost=new HttpClientPost("/bookAction.action");
        clientPost.addParam("methodName","bookList");
        clientPost.submit(new HttpClientPost.Callback() {
            @Override
            public void execute(String json) {
                Log.i("test",json);
                ObjectMapper om=new ObjectMapper();
                try {
                    Map<String, Object> rs=om.readValue(json,Map.class);
                    Log.i("test",rs.get("total").toString());
                    Log.i("test",rs.get("rows").toString());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值