1. 程式人生 > >android從java端中取資料

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();
                }
            }
        });
    }