我希望我的Android应用将其在线ERP的数据同步到MYSQL

时间:2018-08-27 17:21:01

标签: php android mysql sqlite sharedpreferences

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

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

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

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

我不想使用Firebase,因为mySQL对我来说很经济,而且我想将相同的同步数据获取到其Web版本。

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

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

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

如果可能的话,我想从过去从事类似项目的PHP编码人员那里得到答案,可以为我提供有关框架结构和使用技术的详细信息。请记住,我是这种编写应用程序的新手,如果您能抽出几分钟并向我解释一切,例如我六岁或愚蠢(我就是我!),我将不胜感激。

我真的很感谢您的帮助和建议。

2 个答案:

答案 0 :(得分:0)

您可以尝试在服务器上安装xampp,在此处可以为客户端托管“ localhost”。这就是我们所说的Intranet。盎司安装完毕后,您只需将您的项目放在“ htdocs”文件夹中即可。您可以使用“ http://localhost/myproject”来测试您的项目,也可以使用“ http://192.168.1.2/myproject”之类的服务器IP或“ http://myserver/myproject”之类的服务器名称来在您的网络中进行测试

答案 1 :(得分:0)

我要执行的方法是将您的android应用程序中的所有操作添加到队列中,并且当网络连接充足时,从队列中删除项目并将其发送给后端(即您的php和mysql) erp服务)。

经过研究后,看来您的php后端代码将无法在您的android应用程序中重用(除非我认为您想要hacky或依赖地狱解决方案(See this))。

为了使您的android应用程序(以及上面讨论的队列中的)顺利运行,您应该在php代码中构建一个api端点,然后在您的android应用程序中实现api以发送更新/上传请求

在夏季,

可以使用this android queue implementation->

的android应用内的

队列

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

使用api将请求发送到php后端->

具有api端点处理来自Android应用的请求;

这似乎是一个非常艰巨的项目,祝您好运!