gpt4 book ai didi

Android/Web 应用程序离线/在线数据库设置。在两个平台上创建项目

转载 作者:行者123 更新时间:2023-11-30 00:07:23 27 4
gpt4 key购买 nike

阅读更新 1 以获取更好的问题描述。对此感到抱歉。

我正在尝试弄清楚如何构建同步数据的 Android 应用程序和 Web 应用程序。我知道我应该为 MySQL 数据库创建一个 REST API 以与 Android 应用程序同步。我之前制作过一个应用程序,用于同步数据,但仅用于在 android 端检索(SELECT 查询)。

我现在想要制作一个 Android 应用程序/Web 应用程序,它应该在两个平台上创建/更新项目并同步,以便两者都有新的/更新的项目。该应用程序还应该可以离线工作。

我习惯于为大多数数据库表创建 id 作为带有自动增量的键。现在我将拥有 2 个数据库,我不知道如何创建这些唯一的 ID。或者我应该放弃这些 id 并使用列的组合作为主键(带有时间戳或其他内容)。

希望这是有道理的,英语不是我的母语。

更新1缩小问题范围:所以我有一个带有 PHP API 的 MySQL 数据库。该 API 将由 Web 应用程序和 Android 应用程序使用。问题是如何处理 Android 应用程序中的离线数据创建。如果你依赖MySQL数据库的具有自动增量的id。

示例:创建一个人时如何获取该人的 ID(如果 MySQL 数据库处理 ID 创建)

提前致谢,奥托·范卢谢内

最佳答案

你问的是一个非常广泛的问题,有很多选择,但这就是我的做法。

如何处理 native 端 REST 调用:

首先,我使用 HTTP 库来处理 GET/POST REST API 调用。它处理回调并且非常有帮助。

这是我经常使用的:

LoopJ's Async HTTP Callback Library

这将使用许多很酷的功能来处理 GET 和 POST 请求,例如自定义超时、JSON 格式、onSuccess() 和 onFailure() 方法等。这个库也有很多工作示例。我已经在所有应用程序中使用了它,还没有遇到任何问题!

数据库设置:

您将想要创建一个 MySQL 数据库来存储您的所有数据。您可能想阅读常见的数据库实践。

API 设置

我用 PHP 编写所有 API,但这只是我的偏好。您在此处编写的 API 将在您的 Web 和移动应用程序中使用,以保持一致。假设您使用 GET,您只需传递一个参数(我通常称之为“回调”)即可确定 API 将返回哪些信息 block 。

例如:

http://www.ottosite.com/otto_api.php?callback=get_users

因此,在 PHP 代码中,您将让它检查回调是否=get_users,如果是,它将查询数据库中的所有用户,格式化 json 字符串,然后简单地回显它。

这可能会返回类似以下内容:

{"status":"success","users":["user1","user2","user3"]}

所以这显然是一个 JSON 格式的响应,然后在您的应用程序中,当您调用该 API 时,您只需将响应解析为 JSONObject(用户为 JSONArray),然后从中获取您需要的任何数据。

希望这有帮助。

关于Android/Web 应用程序离线/在线数据库设置。在两个平台上创建项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com