将对象从 HttpServer 发送到 Android

发布于 2024-11-09 08:20:48 字数 227 浏览 0 评论 0原文

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

I'm new in android and i'm trying to make an android app to display a database. The database is stored in a server, and i want to comunicate with the server through http requests.
I already have the connection established, and i can send small pieces of data with post and get, using an URLBuilder to fetch all fields, but now i want to send all data from the server to my android app.
Since the data i'm sending is a List of Objects, i don't know which is the best way to send this information to the android app.
Can anyone help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

热血少△年 2024-11-16 08:20:48

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

class Person {
     private String firstName;
     private String lastName;
}

人物是约翰·斯密特(John Smit)和杰克·布朗(Jack Brown)。 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);
}

这种方式的优点:您可以轻松调试和控制哪些数据发送到客户端。

缺点:需要从 JSON 进行转换/解析,需要额外的时间。

You can convert data on server to some text format, e.g. JSON and return it in http response. On client you construct objects back from JSON using JSONArray and JSONObject.
E.g. you have following class:

class Person {
     private String firstName;
     private String lastName;
}

Persons are John Smit and Jack Brown. JSON may look like:

[{"firstName": "John",
  "lastName": "Smit" },
 {"firstName": "Jack", 
  "lastName": "Brown"}]

You return it in response and on client do following:

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);
}

Advantage of this way: you can easily debug and control which data is sending to client.

Disadvantage: you need to convert/parse from JSON and it requires additional time.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文