我希望我的Android应用程序将数据同步到MYSQL以用于我的在线ERP

问题描述 投票:0回答:2

我正在创建一个在线erp系统,我的erp将数据存储在MySQL数据库中。它还使用PHP代码检索数据,在服务器上执行计算并将结果发送回用户。

数据非常简单:购买记录,销售记录,费用记录,待办事项列表等,从数据库中读取并在服务器端进行操作。

客户通常在互联网连接不佳或不可用的环境中工作。在这种情况下,我希望客户能够脱机工作:即输入购买记录,销售记录,费用记录,待办事项列表等以执行计算。然后在连接可用时立即同步所有数据。

所有离线活动都将在Android应用程序上执行,我希望将所有数据(如购买记录,销售记录,费用记录,待办事项列表等)同步到其数据库,以便它可用于其Web版本,即在线erp。

我不想使用firebase,因为mySQL对我来说很经济,而且我想将同样的syncd数据提取到它的web版本。

现在的问题是,我不知道实现这一目标的最佳方式或技术是什么。别担心,我不是要求为我编写代码。您能否向我解释一下建立这样一个系统的正确方法是什么?

有一种简单的方法可以在本地使用我的在线MySQL和PHP代码吗?

我应该使用两个MySQL数据库,一个本地数据库和一个联机数据库,并在数据可用时在两者之间进行同步吗?如果是,我将使用哪种技术(语言)来执行此操作?

如果可能的话,我想从过去曾在类似项目中工作过的PHP编码员那里得到答案,并且可以给我详细的框架结构和技术信息。请记住,我是这种编写应用程序的新手,我很感激,如果你可以节省几分钟,并向我解释一切,如果我六岁或愚蠢(我是!)

我非常感谢任何帮助和建议。

php android mysql sqlite sharedpreferences
2个回答
0
投票

您可以尝试在此处为服务器安装xampp,您可以为您的客户端托管“localhost”。这就是我们所说的内联网。安装盎司你可以把你的项目放在“htdocs”文件夹中,完成后。您可以使用“http://localhost/myproject”测试您的项目,或者您可以使用服务器的IP(如“http://192.168.1.2/myproject”)或您的服务器名称(如“http://myserver/myproject”)在您的网络内测试


0
投票

我这样做的方法是将你的android应用程序中的所有操作添加到队列中,当有足够的网络连接时,从队列中删除项目并将它们发送到你的后端(即你的php和mysql erp服务) 。

在研究了这个之后,看起来你的php后端代码将无法在你的Android应用程序中重复使用(除非你想要,在我看来,hacky或依赖地狱解决方案(See this))。

为了让你的Android应用程序(以及上面谈到的队列)顺利运行,你应该在你的php代码中构建一个api端点,然后在你的Android应用程序中实现api,以便轻松发送更新/上传请求。

综上所述,

在Android应用程序中的队列,可以使用this android queue implementation - >

队列堆栈请求,直到连接足以进行处理 - >

使用api,向php后端发送请求 - >

有api端点处理Android应用程序的请求;

总而言之,这似乎是一个非常艰难的项目,祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.