猿问

如何使用Android中的HTTPClient在JSON中发送POST请求?

如何使用Android中的HTTPClient在JSON中发送POST请求?

我想弄清楚如何使用HTTPClient从Android发布JSON。我已经尝试了一段时间了,我在网上找到了很多例子,但我无法让它们中的任何一个发挥作用。我相信这是因为我缺乏JSON/网络知识。我知道有很多的例子,但谁能指点我一个实际的教程吗?我正在寻找一个一步的过程和代码,并解释为什么你要做每一步,或该步骤做什么。它不需要是一个复杂的,简单的就够了。

再说一遍,我知道有很多例子,我只是想找一个例子来解释到底发生了什么,为什么会这样做。

如果有人知道这方面有一本好的安卓书,请告诉我。

再次感谢帮助@Terress,下面是我描述的代码

public void shNameVerParams() throws Exception{
     String path = //removed
     HashMap  params = new HashMap();

     params.put(new String("Name"), "Value"); 
     params.put(new String("Name"), "Value");

     try {
        HttpClient.SendHttpPost(path, params);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
 }


慕的地10843
浏览 1170回答 3
3回答

跃然一笑

我建议你用这个HttpURLConnection相反HttpGet..如HttpGet在AndroidAPI级别22中已经被废弃。HttpURLConnection httpcon;  String url = null;String data = null;String result = null;try {   //Connect   httpcon = (HttpURLConnection) ((new URL (url).openConnection()));   httpcon.setDoOutput(true);   httpcon.setRequestProperty("Content-Type", "application/json");   httpcon.setRequestProperty("Accept", "application/json");   httpcon.setRequestMethod("POST");   httpcon.connect();   //Write          OutputStream os = httpcon.getOutputStream();   BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));   writer.write(data);   writer.close();   os.close();   //Read           BufferedReader br = new BufferedReader(new InputStreamReader(httpcon.getInputStream(),"UTF-8"));   String line = null;    StringBuilder sb = new StringBuilder();            while ((line = br.readLine()) != null) {       sb.append(line);    }            br.close();     result = sb.toString();} catch (UnsupportedEncodingException e) {     e.printStackTrace();} catch (IOException e) {     e.printStackTrace();}
随时随地看视频慕课网APP

相关分类

Android
我要回答