【问题标题】:Sending Json message using gson on android在android上使用gson发送Json消息
【发布时间】:2013-05-07 21:20:47
【问题描述】:

我想通过 http 向 php 服务器发送一条 json 消息。如您所见,我使用了 gson 库。

Gson gson = new Gson();
String[] data = {"value1", "value2", "value3"};
String json = gson.toJson(data);
String message = "jdata"+json; //I did this because of the server implementation 
String path= "http://localhost/joomla/index.php?option=com_up1";

我想连接发送 (POST) 字符串 message 到位于 path 上的服务器 服务器将从消息中检索值,value1,value2,value3

$jd = json_decode(JRequest::getVar( 'jdata'), true);
if (sizeof($jd)>0) {


$name = $jd[0];
$surname = $jd[1];
......
 ......

服务器会返回类似的消息

if ($db->query()) {
                printf("OK");

我想在我的应用程序中显示。

如何将消息发送到服务器? 以及如何将消息从服​​务器读取到我的应用程序?

【问题讨论】:

标签: android json http gson send


【解决方案1】:

看看HttpPost 类。 Google search 将向您展示大量示例。

【讨论】:

  • 我找到了很多例子,但没有一个解释完成 HTTP POST 所采取的步骤......我不明白它是如何工作的
  • 将谷歌搜索优化为“android httppost json”。第一个结果就是这个,它完全符合您的要求。 stackoverflow.com/questions/6218143/…
【解决方案2】:

你说你想要它在路径中但是:

//If it's a parameter it would have to be "jdata="+json
String message = "jdata"+json; 
//And you didn't append it to the path either...
String path= "http://localhost/joomla/index.php?option=com_up1"; 

但是,您确实应该在消息正文中发送此内容。

【讨论】:

  • 我现在很困惑。路径是我要将消息发送到的 url。请详细说明。谢谢
【解决方案3】:

在 android 中,诸如互联网交互之类的长操作应该(在最新版本中必须)在单独的线程中完成。

您可以通过多种方式完成此任务,但我认为最简单的方法是创建AsyncTask 的子类并将网络交互放入doInBackground 方法中。要与服务器交互,您可以使用 Apache HttpClientHttpURLConnection

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多