0
我在離線模式下顯示地圖中的時遇到問題。我用糖orm來處理數據庫操作。我使用下面的代碼。無法從數據庫檢索標記位置
DataResponse responseNiDatabase = new Gson().fromJson(JSON_STRING, DataResponse.class);
List<Result> markersFromDatabase = new ArrayList<>();
if (responseNiDatabase != null){
markersFromDatabase = responseNiDatabase.getResult();
SugarRecord.saveInTx(markersFromDatabase);
}
else{
Toast.makeText(this, "An error occured, fetching from database", Toast.LENGTH_SHORT).show();
markersFromDatabase = Select.from(Result.class).list();
}
if (!markersFromDatabase.isEmpty()){
for (Result resultFromResponse : markersFromDatabase){
mMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(resultFromResponse.getLatitude()),
Double.parseDouble(resultFromResponse.getLongitude())))
.title(resultFromResponse.getShopName())
.snippet(resultFromResponse.getShopContact())
.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon)));
}
}
else{
Toast.makeText(this, "No markers available", Toast.LENGTH_SHORT).show();
}
每當我連接到互聯網,從服務器上的所有數據將被檢索並存儲在本地數據庫。問題是,我不明白爲什麼它不在離線模式下從本地數據庫檢索數據。這是我第一次使用sugar orm庫,所以我希望有人能幫助我。謝謝。
PS。我正在使用谷歌API。
您是否在if(!markersFromDatabase.isEmpty())此行之前記錄了您的'markersFromDatabase'值列表 – UltimateDevil
是的。每個數據都保存在數據庫中,如android studio中的logcat中所示。 – Cross