java - 如何从android中的游标检索数据?

标签 java android database sqlite android-cursor

我从数据库中检索信息,所有信息都在游标中。现在我需要遍历光标中的每个项目以检索 lng lats 和要在 map 上显示的名称。

Cursor c = mDbHelper.fetchSpot(15);
        startManagingCursor(c);

        double lat = Double.parseDouble(c.getString(c.getColumnIndexOrThrow(ParkingSpotDBAdapter.KEY_LAT)));
        double lng = Double.parseDouble(c.getString(c.getColumnIndexOrThrow(ParkingSpotDBAdapter.KEY_LNG)));
        String name = c.getString(c.getColumnIndexOrThrow(ParkingSpotDBAdapter.KEY_ADDRESS));

我有一个名为 fecthAllSpots() 的方法,它会返回游标中的许多项目,我该如何从该游标中的每一行中检索每个经纬度和名称?

最佳答案

您可以使用 while 循环迭代游标返回的所有行。

while(c.moveToNext()){
    double lat = Double.parseDouble(c.getString(c.getColumnIndexOrThrow(ParkingSpotDBAdapter.KEY_LAT)));
    double lng = Double.parseDouble(c.getString(c.getColumnIndexOrThrow(ParkingSpotDBAdapter.KEY_LNG)));
    String name = c.getString(c.getColumnIndexOrThrow(ParkingSpotDBAdapter.KEY_ADDRESS));
}

当然,您必须对 lat、lng 和 name 变量做一些事情,因为它们会在每次迭代时被覆盖。我建议你实现一个 DBLocation 类,它可以存储位置的名称、经度和纬度。然后,您可以将通过游标创建的所有对象存储在数组或列表中。

关于java - 如何从android中的游标检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395887/

相关文章:

java - Android Studio 线程调试

android - 如何修复 : Gradle sync failed: Unsupported method: SyncIssue. getMultiLineMessage()

mysql - 主题先决条件的 SQL 查询

java - 避免大图像将其他布局推出屏幕

java - Java 重绘中的组合框

Android:如何从我的应用程序中使用命令语音打开语音输入

php - 从 php 代码向 MySQL 数据库添加元素

mysql - IntelliJ IDEA 中的数据库 View 不显示连接的所有数据库

java - 如何基于日期查询数据库,但您的数据库将日期存储为日期 + 时间。

android - 如何围绕 20 分钟的 http session 构建我的 android 应用程序