安卓\|向服务器发送“POST”JSON 数据

新手上路,请多包涵

我使用此代码使用 android 将发布数据发送到服务器。谁能给我任何想法或您的示例如何将 POST 或 GET json 数据发送到服务器 TOMCAT..!步骤提示:

  1. 创建 HttpClient

  2. 向给定的 URL 发出 POST 请求

  3. 构建 jsonObject

  4. 将 JSONObject 转换为 JSON 到 String

  5. 将 json 设置为 StringEntity

  6. 设置 httpPost 实体

  7. 设置一些标头以通知服务器内容的类型

  8. 对给定的 URL 执行 POST 请求

  9. 接收响应作为 inputStream

  10. 将输入流转换为字符串

  11. 返回结果

    private class HttpAsyncTask extends AsyncTask<String, Void, String> {
    
    
            @Override
            protected String doInBackground(String... urls) {
    
    
            person = new Person();
            person.setName(etName.getText().toString());
            person.setCountry(etCountry.getText().toString());
            person.setTwitter(etTwitter.getText().toString());
    
    
            return POST(urls[0],person);
        }
        // onPostExecute displays the results of the AsyncTask.
        @Override
        protected void onPostExecute(String result) {
            Toast.makeText(getBaseContext(), "Data Sent!", Toast.LENGTH_LONG).show();
       }
    }
    
    
    

原文由 user5728377 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 441
1 个回答

您正在使用 HttpClient。实际上 Android 弃用了 HttpClient insted of HttpClient 你需要“HttpURLConnection”进行 POST 请求检查这里的示例之一: here

更新:

您需要为示例代码添加以下两行以实现您的要求。

 conn.addRequestProperty("Accept", "application/json");
conn.addRequestProperty("Content-Type", "application/json");

在给定的示例代码中:

 conn.setDoOutput(true);
//Add the following line to the given sample
===============> updated for JSON POST <=========================
conn.addRequestProperty("Accept", "application/json");
conn.addRequestProperty("Content-Type", "application/json");
===============> updated for JSON POST <=========================
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("firstParam", paramValue1));
params.add(new BasicNameValuePair("secondParam", paramValue2));
params.add(new BasicNameValuePair("thirdParam", paramValue3));

原文由 Ravi Jaggarapu 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏