【问题标题】:I want my Android App to sync data to MYSQL for my Online ERP我希望我的 Android 应用程序为我的在线 ERP 将数据同步到 MYSQL
【发布时间】:2019-02-02 06:41:00
【问题描述】:

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

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

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: php android mysql sqlite sharedpreferences


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      夏天,

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

      队列堆叠请求直到连接足够处理->

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

      让 api 端点处理来自 android 应用程序的请求;

      总的来说,这似乎是一个相当艰巨的项目,祝你好运!

      【讨论】:

        猜你喜欢
        • 2012-11-28
        • 1970-01-01
        • 1970-01-01
        • 2017-11-20
        • 2016-11-23
        • 1970-01-01
        • 1970-01-01
        • 2011-07-26
        • 1970-01-01
        相关资源
        最近更新 更多