从服务器到Android手机获取数据的最佳方式
我想写一个Android应用程序,它与用php编写的中央服务器通信,与它通信并获取/发送数据,例如用户身份验证、显示用户偏好等。 我的问题是什么是最好的方法。在服务器端使用Web服务,返回xml并在android上解析xml,或者使用json,或者使用html post响应返回并解析它。从服务器到Android手机获取数据的最佳方式,android,xml,json,Android,Xml,Json,我想写一个Android应用程序,它与用php编写的中央服务器通信,与它通信并获取/发送数据,例如用户身份验证、显示用户偏好等。 我的问题是什么是最好的方法。在服务器端使用Web服务,返回xml并在android上解析xml,或者使用json,或者使用html post响应返回并解析它。 在此方面的任何帮助都将不胜感激。Json是最佳选择 因为它很轻,并且可以很容易地转换为java对象。 简而言之,JSON是最好的请使用JSON。XML太大了。html不是为数据交换而设计的。它取决于客户端和服务
在此方面的任何帮助都将不胜感激。Json是最佳选择 因为它很轻,并且可以很容易地转换为java对象。
简而言之,JSON是最好的请使用JSON。XML太大了。html不是为数据交换而设计的。它取决于客户端和服务器团队。在android中,可以使用nice
JSON
API。解析传入数据和准备JSON
格式的请求很容易
尽管您也可以选择
xml
。xml也提供了很好的支持。我推荐JASON。这是当今的事实标准。而且不像XML那么重
我在ANdroid应用程序中使用了许多C#JASON Web服务,它们都工作得很好。我相信PHP服务也会如此
发布HTML响应对于表单来说是可以的,但是对于复杂的数据,您将很难做到这一点
所以我会投票给贾森
也可以浏览一下这个 正如其他答案所说,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++;
}
ContentValues=新ContentValues();
JSONArray projects=newjsonarray(_webService.getStringResponse());
int计数器=0;
int projectSize=projects.length();
while(projectCount
这里发生的情况(从应用程序中取出此内容以便您了解情况)如下所示:
我发布了一个请求,得到了一些JSON格式的结果。我创建了一个JSONArray对象,它将json字符串作为构造函数参数,在我的例子中,json字符串由一个包含json对象的数组组成
我循环遍历JSONArray中的每个项,创建一个JSONObject,然后从json对象提取数据并将其保存到数据库中
我用这个简单的例子的目的是展示一些东西
- 在android中使用JSON非常容易
- 通过简单地缩短键名(json基本上是键值对),可以轻松压缩字符串李>
后者的好处是将所说字符串的大小分块,而作为缺点,数据的可读性较差。我这样做是为了压缩,我的代码得到了很好的注释。以反映这种压缩。json。。。更容易使用和更灵活谢谢你的回答,我还有一个问题,我应该在服务器端使用什么来生成JSON。虽然我不是一个web开发人员,但hear是php的链接。。。