我面临着关于sqlite数据库的问题。我想将数据保存在数据库中。 KEY_LATITUDE和KEY_LONGITUDE分别从info.getLatitude()和info.getLongitude()获取空值。但是info.getLongitude()和info.getLatitude()分别有12.99999和50.9999。
private static final String KEY_ID = "id";
private static final String KEY_EventName = "event_name";
private static final String KEY_Description = "description";
private static final String KEY_Location = "location";
private static final String KEY_Date = "date";
private static final String KEY_Time = "time";
private static String KEY_LATITUDE ;
private static String KEY_LONGITUDE ;
addinfo函数将数据保存到数据库中。
public void addInfo(Event info) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_EventName, info.getEventName());
values.put(KEY_Location, info.getLocationName());
values.put(KEY_Description, info.getDescription());
values.put(KEY_Date, info.getDate());
values.put(KEY_Time, info.getTime());
values.put(KEY_LATITUDE, info.getLatitude()); // it return Double
// value.i.e 12.999999
values.put(KEY_LONGITUDE, info.getLongitude()); // it return Double
// value.i.e 12.999999
db.insert(TABLE_EVENT_DATA, null, values);
db.close(); // Closing database connection
}
答案 0 :(得分:1)
将Double
值转换为String
values.put(KEY_LATITUDE, String.valueOf(info.getLatitude()));
values.put(KEY_LONGITUDE, String.valueOf(info.getLongitude()));
答案 1 :(得分:1)
您需要初始化列名变量:
private static String KEY_LATITUDE ;
private static String KEY_LONGITUDE ;
改为例如
private static final String KEY_LATITUDE = "latitude";
private static final String KEY_LONGITUDE = "longitude";