我想在Sqlite
数据库的IN_RIDE_LatLng
数据库中保存所有纬度和经度,其latitude
和longitude
列名称。
创建表。
database.execSQL(" CREATE TABLE IF NOT EXISTS " + IN_RIDE_LatLng + " ("
+ Latitude + " TEXT, "
+ Longitude + " TEXT" + ");");
保存所有纬度和经度
public void insertLatLng(Double latitude, Double logitude) {
try {
ContentValues contentValues = new ContentValues();
contentValues.put(NewDatabaseForInRideData.Latitude, latitude);
contentValues.put(NewDatabaseForInRideData.Longitude, logitude);
database.insert(NewDatabaseForInRideData.IN_RIDE_LatLng, null, contentValues);
}
catch (Exception e) {
e.printStackTrace();
}}
如何从数据库中检索ArrayList<LatLng> latLngList = new ArrayList();
中的所有LatLng。
函数如何返回存储在数据库中的所有LatLng列表。
我这样做是为了检索列表但不起作用。
public ArrayList<LatLng> getLatLngList() {
try {
Cursor cursor = database.rawQuery("SELECT latitude , longitude FROM in_ride_lat_lng" , null);/*(die tabel se naam)*/
// String[] columns = new String[]{NewDatabaseForInRideData.Latitude,NewDatabaseForInRideData.Longitude};
//Cursor cursor = database.query(NewDatabaseForInRideData.IN_RIDE_LatLng, columns, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
latLngList.add(new LatLng(cursor.getDouble(cursor.getColumnIndex(NewDatabaseForInRideData.Latitude)), cursor.getDouble(cursor.getColumnIndex(NewDatabaseForInRideData.Longitude))));
// return latLngList;
} while (cursor.moveToFirst());
}
return latLngList;
} catch (Exception e) {
e.printStackTrace();
return latLngList;
}
}
答案 0 :(得分:0)
请替换您的getLatLngList()
方法,如下所示:
public ArrayList<LatLng> getLatLngList()
{
ArrayList<LatLng> latLngList = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM " + NewDatabaseForInRideData.IN_RIDE_LatLng, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()){
latLngList.add(new LatLng(cursor.getDouble(cursor.getColumnIndex(NewDatabaseForInRideData.Latitude)),cursor.getDouble(cursor.getColumnIndex(NewDatabaseForInRideData.Latitude))));
cursor.moveToNext();
}
cursor.close();
return latLngList;
}