将对象从HttpServer发送到Android

将对象从HttpServer发送到Android,android,http,Android,Http,我是android新手,我正在尝试制作一个android应用程序来显示数据库。数据库存储在服务器中,我希望通过http请求与服务器通信。 我已经建立了连接,我可以通过post和get发送少量数据,使用URLBuilder获取所有字段,但现在我想将所有数据从服务器发送到我的android应用程序。 由于我发送的数据是一个对象列表,我不知道哪种方式是将这些信息发送到android应用程序的最佳方式。 有人能帮忙吗 您可以将服务器上的数据转换为某种文本格式,例如JSON,并在http响应中返回。在客户

我是android新手,我正在尝试制作一个android应用程序来显示数据库。数据库存储在服务器中,我希望通过http请求与服务器通信。 我已经建立了连接,我可以通过post和get发送少量数据,使用URLBuilder获取所有字段,但现在我想将所有数据从服务器发送到我的android应用程序。 由于我发送的数据是一个对象列表,我不知道哪种方式是将这些信息发送到android应用程序的最佳方式。
有人能帮忙吗

您可以将服务器上的数据转换为某种文本格式,例如JSON,并在http响应中返回。在客户端上,您可以使用JSONArray和JSONObject从JSON构造回对象。 例如,您有以下课程:

class Person {
     private String firstName;
     private String lastName;
}
这些人是约翰·斯密特和杰克·布朗。JSON可能看起来像:

[{"firstName": "John",
  "lastName": "Smit" },
 {"firstName": "Jack", 
  "lastName": "Brown"}]
您将其作为响应返回,并在客户端执行以下操作:

String jsonResponse = ...;
JSONArray jsonPersons = new JSONArray(jsonResponse);
List<Person> persons = new ArrayList<Person>(jsonPersons.length());
for (int i = 0; i < jsonPersons.length(); i++) {
    JSONObject jsonPerson = jsonPersons.getJSONObject(i);
    Person person = new Person(jsonPerson.getString("firstName"),
                               jsonPerson.getString("lastName"));
    persons.add(person);
}
String jsonResponse=。。。;
JSONArray jsonPersons=新的JSONArray(jsonResponse);
List persons=newarraylist(jsonPersons.length());
for(int i=0;i
这种方式的优点:您可以轻松地调试和控制要发送到客户端的数据

缺点:您需要从JSON转换/解析数据,这需要额外的时间。

您是要将数据“推送”到android设备,还是希望设备通过HTTP请求下载数据?