php - 从服务器的 [NGINX] MySQL 数据库创建和重新创建本地 Android 数据库
问题描述
我目前有一个Android
将数据推送到本地Android
数据库和我的MySQL
数据库的应用程序,该数据库存储在我的NGINX
服务器上。
每当重新启动应用程序时,都会从最新服务器的数据库中删除并重新创建本地表。
我目前正在通过调用StringRequest
一个脚本来实现这一点,该脚本通过该方法PHP
检索数据。然后遍历结果集并插入本地数据库:JSON
onResponse
JSONObject jsonObj = jsonObjects[0];
try {
JSONArray dataArray = jsonObj.getJSONArray("example");
if (dataArray.length() != 0) {
try {
db.execSQL("DELETE FROM TABLEX");
db.execSQL("DELETE FROM sqlite_sequence WHERE name = 'TABLEX';");
db.beginTransaction();
ContentValues cv = new ContentValues();
for (int i = 0; i < dataArray.length(); i++) {
JSONObject row = dataArray.getJSONObject(i);
cv.put("DATA_A", row.getInt("DATA_A"));
db.insert("TABLEX", null, cv);
}
db.setTransactionSuccessful();
db.endTransaction();
} catch (SQLiteException e) {
e.printStackTrace();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
这目前是一个可行的解决方案,但是,随着条目的增加,这会增加响应时间,我很谨慎,这不是从在线 MySql 数据库重新创建本地数据库的最有效方法。
我已经研究过了,我正在努力寻找最有效的方法:
[1]从 MySQL 服务器访问数据(当前:StringRequest 和 PHP)->
[2]从 MySQL 服务器检索数据(当前:PHP 和 JSON)->
[3]从 MySQL 服务器的新数据和更新数据重新创建本地 Android 数据库(当前:JSON 和内容值插入)。
我对这些概念很陌生,因此我们将不胜感激地获得任何帮助。
当然,最好MySQL
通过创建远程.SQL
文件来访问和检索服务器数据库中的数据PHP
,删除现有表,然后从该远程.SQL
文件重新创建表?
再次,我回到我的天真和当前的经验,任何进一步我理解的教程或链接都会很棒。
解决方案
推荐阅读
- react-native - 反应原生自适应状态栏颜色
- c++ - 为什么头文件不会改变内容?
- mongodb - MongoDB 查询按逗号分隔字符串的长度进行聚合
- jenkins - 詹金斯管道如何根据测试结果的百分比更改阶段结果
- c - 交换寄存器内容的汇编程序
- python - 在 python 中计算需求价格弹性的三个 for 循环返回 NaN 值
- node.js - Heroku Private Spaces 用于通过 VPN 访问内部应用程序
- php - 使用 WordPress 内置功能如何确定当前正在编辑哪个页面?
- html - html5 响应式快捷方式图标
- reactjs - 如何在每次页面刷新时阻止 socketio 重新连接