我想从数据库中获得两个浮点数(经度和纬度)。我知道他们正在被正确写入,因为我在应用程序中打开了数据库,它说这两个值分别是42.9512和-83.4225(我选择添加一个随机的地方)。Android SQLite从数据库中得到很长
我本来返回的方法,这两个值在我的DB类成捆,而且还创造了只返回纬度(只是为了测试它是否会工作)的方法:
public long getLat(long l) throws SQLException {
String[] cols = new String[]{KEY_ROWID,KEY_ADDRESS,KEY_LATITUDE,KEY_LONGITUDE};
Cursor c = ourDB.query(DATABASE_TABLE, cols, KEY_ROWID + "=" + l, null, null, null, null);
if(c != null) {
c.moveToFirst();
long lat = c.getLong(2); //latitude column
return lat;
}
return 0l;
}
的类这个值返回到我的类中,显示所有的数据库内容(lat/long除外)。这是代码的一部分:
Bundle favLoc = temp.getLatLng(rowID);
long lat = temp.getLat(rowID);
long lng = favLoc.getLong("lng");
Toast.makeText(SQLView.this, "Row id: " + rowID + "\nlat: " + lat + "\nlng: " + lng, Toast.LENGTH_LONG).show();
Intent i = new Intent("com.blah.blah.MAINACTIVITY");
i.putExtras(favLoc);
setResult(RESULT_OK, i);
finish();
break;
temp是我的DBHelper类的一个实例。我尝试从Bundle中获取长整型值,但我稍微更改了代码,尝试使用专为lat值创建的新方法获取纬度值。 我使用吐司作为调试工具来显示值。
出于某种原因,打印输出的值总是以int而不是浮点形式打印出来 - 所以lat打印为42而不是42.9512,而lng打印为-83而不是-83.4225。
我似乎无法理解为什么会出现这种情况。如果有人能够帮助我解决这个问题,那将非常感激。
我不明白你的问题。你问为什么花车转换成多头时会变圆? – Simon