Flutter 请求多个API并在SQLITE上存储多个表的最佳方式
问题是:如何在sqlite上存储?我的意思是如何在两个表上存储两个API数据? 我有多个API来获取和存储缓存中的数据。现在,我一个一个的做,像这样: 按下按钮(): 这会减慢我的应用程序速度…所以我决定用@günter-zöchbauer的方式。()但我不知道如何在SQLite上存储多个表Flutter 请求多个API并在SQLITE上存储多个表的最佳方式,flutter,dart,dart-http,Flutter,Dart,Dart Http,问题是:如何在sqlite上存储?我的意思是如何在两个表上存储两个API数据? 我有多个API来获取和存储缓存中的数据。现在,我一个一个的做,像这样: 按下按钮(): 这会减慢我的应用程序速度…所以我决定用@günter-zöchbauer的方式。()但我不知道如何在SQLite上存储多个表 storeAll()已使用未来。等待 void storeAll(String url, String token) async { final urlList = ['$url/nativeapi/v
storeAll()
已使用未来。等待
void storeAll(String url, String token) async {
final urlList = ['$url/nativeapi/v1.0/Register','$url/nativeapi/v1.0/EquipmentReg'];
final responses = await Future.wait(
urlList.map((String url) {
return http.get(url,headers: {'Authorization': 'Bearer $token'});
}),
);
final List<dynamic> caches = responses.map((response) {
print('store All: ${response.body}');
return json.decode(response.body);
}).toList();
}
storeWquipmentReg()
方法
storeEquipmentReg(String url, String token) async {
var db = await db1;
Batch batch = db.batch();
final response = await http.get(
'${url}/nativeapi/v1.0/EquipmentReg',
headers: {'Authorization': 'Bearer ${token}'},
);
final jsonResponse = json.decode(response.body);
Assets model = Assets.fromJson(jsonResponse);
int length = model.data.length;
for (int i = 0; i < length; i++) {
var data = DataEquipmentReg(
i: model.data[i].i,
r: model.data[i].r,
l: model.data[i].l,
t: model.data[i].t,
p: model.data[i].p,
c: model.data[i].c,
u: model.data[i].u,
a: model.data[i].a,
b: model.data[i].b,
eq_no: model.data[i].eq_no,
isH_wit_C: model.data[i].isH_wit_C,
n: model.data[i].n,
);
batch.insert(
'EquipmentRegTable',
data.toMap()
);
}
await batch.commit();
}
storeEquipmentReg(字符串url、字符串令牌)异步{
var db=等待db1;
Batch Batch=db.Batch();
最终响应=等待http.get(
“${url}/nativeapi/v1.0/EquipmentReg”,
标头:{'Authorization':'Bearer${token}},
);
final jsonResponse=json.decode(response.body);
资产模型=Assets.fromJson(jsonResponse);
int length=model.data.length;
for(int i=0;i
@mathronaut可以回答这个问题,兄弟我现在很忙,今晚我将用一个示例代码兄弟来回答你的答案。请。。非常感谢兄弟的更改((最终列表缓存=>最终列表缓存))。以下两种方法的问题是什么?@mathronaut问题是:如何在sqlite上存储?我的意思是如何在两个表上存储2个API数据?@mathronaut可以回答这个问题bro我现在很忙,今晚我将用示例代码bro回答你的答案。请。。非常感谢兄弟的更改((最终列表缓存=>最终列表缓存))。以下两种方法的问题是什么?@mathronaut问题是:如何在sqlite上存储?我的意思是如何在2个表上存储2个API数据?
storeRegister(String url, String token) async {
var db = await db1;
Batch batch = db.batch();
final response = await http.get(
'$url/nativeapi/v1.0/Register',
headers: {'Authorization': 'Bearer $token'},
);
final jsonResponse = json.decode(response.body);
AssetRegister model = AssetRegister.fromJson(jsonResponse);
int length = model.data.length;
for (int i = 0; i < length; i++) {
var data = DataRegister(
i: model.data[i].i,
d: model.data[i].d,
c: model.data[i].c,
u: model.data[i].u,
p: model.data[i].p,
a: model.data[i].a);
batch.insert(
'registerTable',
data.toMap()
);
}
await batch.commit();
}
storeEquipmentReg(String url, String token) async {
var db = await db1;
Batch batch = db.batch();
final response = await http.get(
'${url}/nativeapi/v1.0/EquipmentReg',
headers: {'Authorization': 'Bearer ${token}'},
);
final jsonResponse = json.decode(response.body);
Assets model = Assets.fromJson(jsonResponse);
int length = model.data.length;
for (int i = 0; i < length; i++) {
var data = DataEquipmentReg(
i: model.data[i].i,
r: model.data[i].r,
l: model.data[i].l,
t: model.data[i].t,
p: model.data[i].p,
c: model.data[i].c,
u: model.data[i].u,
a: model.data[i].a,
b: model.data[i].b,
eq_no: model.data[i].eq_no,
isH_wit_C: model.data[i].isH_wit_C,
n: model.data[i].n,
);
batch.insert(
'EquipmentRegTable',
data.toMap()
);
}
await batch.commit();
}