-1

我想编写一个 Android 应用程序,它与用 php 编写的中央服务器通信,与它通信并获取/发送数据,例如用户身份验证、显示用户首选项等。我的问题是最好的方法是什么。在服务器端使用 web 服务,它返回一个 xml 并在 android 上解析 xml 或使用 json ,或者使用 html 后响应并解析它。对此的任何帮助将不胜感激。

4

5 回答 5

9

Json 是最好的选择

因为它是轻量级的,可以很容易地转换为 java 对象。总之JSON是最好的

于 2012-05-02T09:51:31.367 回答
2

正如其他答案所说,JSON。它是轻量级的,易于使用,android 有支持 JSON 的标准库。

例子:

ContentValues values = new ContentValues();
JSONArray projects = new JSONArray(_webService.getStringResponse());
int counter = 0;
int projectSize = projects.length();

while(projectCount < projectSize) {
    JSONObject projectData = projects.getJSONObject(projectCount);

    values.put(DbProperties.PROJECT_ID, projectData.getString("pid"));
    values.put(DbProperties.CUSTOMER_ID, projectData.getString("cid"));
    values.put(DbProperties.SETTLEMENT, projectData.getString("settl"));
    //Do some database saving for example

    counter++;
}

这里发生的事情(把它从应用程序中取出来让你明白)如下:

我发布了一个请求,以 JSON 格式返回一些结果。我创建了一个 JSONArray 对象,它接受一个 json 字符串作为构造函数参数,在我的例子中,json 字符串由一个包含 json 对象的数组组成

我遍历 JSONArray 中的每个项目,创建一个 JSONObject,然后从 json 对象中提取数据并将其保存到数据库中。

这个简单示例的目标是展示一些东西;

  • 在 android 中使用 JSON 非常容易
  • 只需缩短键名即可轻松压缩字符串(json 基本上是键值对)。

后者的好处是可以减少所说字符串的大小,而作为一个缺点,数据的可读性较差。我这样做是出于压缩原因,并且我的代码得到了很好的注释。来反映这种压缩。

于 2012-05-02T13:51:42.273 回答
1

请使用json。XML 太大了。html 不是为数据交换而设计的。

于 2012-05-02T09:53:49.723 回答
0

I'd recommend JASON. Its a defacto standard these days. And not so heavy like XML.

I've been using many C# JASON webservices fr my ANdroid applications and they all work like charm. I'm sure it'll be same with PHP services too.

Posting HTML response will be ok for a form but for a complex data you'll have hard time.

So I'll vote for JASON.

Also have a glance over this supplementary read.

于 2012-05-02T10:01:58.287 回答
0

它取决于客户端和服务器团队。在 androidJSON中提供了不错的 API。JSON解析传入的数据并准备格式的请求很容易。

虽然你也可以去xml。很好的支持xml

于 2012-05-02T09:56:28.297 回答