我正在尝试基于酒店管理构建一个Android应用程序。该应用程序只是向用户提供交易列表。该网站存储有关用户的数据,并在数据库中的sql表中进行处理。
是否有任何简单的方法可以将数据(如交易详情和用户详细信息,如用户名,酒店名称等)从网站传送到Android应用程序和反之亦然。
我知道这可以使用json。但我发现很难实施。
答案 0 :(得分:3)
在PHP上使用https://code.google.com/p/google-gson/和在PHP中使用json_encode()非常轻松(另请参阅blackpanthers响应),这里有一个简短的摘录如何在具体示例中将该东西绑定在java中:
首先在PHP中实现json_encode()并在浏览器中调用,这样你就可以看到结果了,比如说,你会得到类似的东西:
{“user_name”:“我的名字”,“user_surname”:“my_surname”,“phones”:{“mobile”:“11111”}}
现在,您有一个包含属性“user_name”,“user_surname”和“phones”的JSON实体。而“电话”是一个嵌套的实体,包含一个“移动”属性。
现在你为每个实体创建一个java-class,所以我们需要两个,一个包含“phones”,另一个包含所有属性,包括实体“phones”
class Phones {
// with this annotation you can bind to
// properties from JSON named differently than
// the property in this class
@SerializedName("mobile")
String thePhone;
}
class MyJson {
String user_name;
String user_surname;
Phones phones;
}
好吧,多数民众赞成吧:)啊,好的,最后一部分
...
InputStream is = new URL("http://www.my.php.returning.json").openStream();
InputStreamReader isr = new InputStreamReader();
MyJson myJson = new Gson().fromJson(isr , MyJson.class);
... //close stream, handle exceptions, etc.
// now you've got that all in the myJson object...
在这里你去!
答案 1 :(得分:1)
您可能会发现以下教程非常有用:http://www.helloandroid.com/tutorials/connecting-mysql-database
本教程介绍如何使用MySQL数据库和PHP将JSON发送到Android应用程序。
(假设您正在使用MySQL数据库,如果没有,它仍然是一个有用的教程)。
您还可以使用GSON,Google的API和以下教程: http://www.techrepublic.com/blog/app-builder/use-gson-to-work-with-json-in-your-android-apps/1386