如何解决在 Flutter 中上传 JSON 请求作为后台任务
我有一个需求,我想将 JSON 请求数据(从数据库表中获取)上传到服务器并获得响应,基于响应我必须更新本地数据库(sqflite:^1.2.1)。 我有多个屏幕,我需要根据用户操作在每个屏幕上创建不同的 JSON 请求数据。目前,对于相同的场景,我在另一个本机 android 应用程序中使用 Intent Service。 在 Flutter Android 应用程序中处理此类场景的基本方法是什么。如果我使用 channel 并实现 Intent Service,那么我将无法访问 Android 特定区域中的 sqflite 数据库。如果互联网不可用,那么我必须继续等待连接,当设备连接时,我需要将所有创建的事件一一上传到服务器。
请有人告诉我在 Flutter 中处理这种特定场景的可能方法。
提前致谢
解决方法
例如,首先使用 sqflite 或 sharedPreferences 在本地保存您的 JSON 请求。将它们同步到您的服务后,将它们从同步队列中删除
,我得到了解决方案:我可以通过渠道访问本机的 SQFlite 数据库。
这是flutter中创建的数据库的路径
"/data/data/{package name}/app_flutter/{database file name}"
所以我们可以像在本机中一样使用频道访问
SQLiteDatabase mDatabase= SQLiteDatabase.openDatabase("/data/data/{package name}/app_flutter/{database file name}",null,0);
Log.i("MainActivity","mDatabase.isOpen():"+mDatabase.isOpen());//check DB is open or not
String query = "SELECT * FROM {Table Name}";
Cursor cursor=mDatabase.rawQuery(query,null);
if (cursor.moveToFirst()){
do{
String data= cursor.getString(cursor.getColumnIndex({Table Column Name}));
Log.i("MainActivity","Column Data Value:"+data);
}while(cursor.moveToNext());
}
cursor.close();
所以我会在原生中实现Service来实现这个场景。 谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。