2012-05-02 45 views
-1

我想编写一个Android应用程序,它可以与使用PHP编写的中央服务器进行通信,与它进行通信并获取/发送数据,例如用户身份验证,显示用户偏好等 我的问题是做这件事的最好方法是什么。在服务器端使用返回XML并在android或使用json解析xml的webservice,或者使用html post响应并解析它。 任何帮助,将不胜感激。从服务器获取数据到Android手机的最佳方式

+0

JSON ...使用更方便,更灵活 – WarrenFaith

回答

9

的Json是最好的选择

,因为它的光路,并且可以为Java对象很容易地转换。 总之JSON是最好的

+0

感谢您的回答,我有一个问题,我应该用什么在服务器端genearte的JSON。 –

+0

虽然我不是一个Web开发人员,听到的是链接,PHP ... http://www.sencha.com/learn/legacy/Tutorial:Creating_JSON_Data_in_PHP –

1

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

0

它取决于客户端以及服务器团队。在Android不错JSON API可用。很容易解析传入的数据并以JSON格式准备请求。

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

0

我推荐JASON。这是目前的事实标准。并不像XML那么沉重。

我一直在使用许多C#JASON web服务从我的ANdroid应用程序,他们都像魅力一样工作。我相信它也会和PHP服务一样。

发布HTML响应对于表单可以正常使用,但对于复杂的数据您可能会遇到困难。

所以我会投票给JASON

也可以查看supplementary read

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对象的数组组成json对象并将其保存到数据库。

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

  • 它简单得令人难以置信的Android
  • 易于使用JSON的工作简单地起酥油键值名(JSON基本上是成对的键值),以压缩字符串。

后者具有分块向下字符串的大小的好处是说,同时作为一个反面,数据的可读性。我出于压缩原因做了这个,我的代码评论很好。反映这种压缩。

相关问题