1

我正在创建一个应用程序,它使用 GPS 跟踪用户位置,使用内容提供程序将经度和纬度存储在数据库中,然后将第一个经度和纬度输出到地图视图。

我可以使用这行代码创建光标:

Cursor c = getContentResolver().query(GPSContentProvider.CONTENT_URI,
                                                      null, null, null, null);
startManagingCursor(c);

但是,当我调用移动到数据库中的第一行甚至尝试使用关闭游标时,c.close();我收到一个NullPointerException.

编辑:为了清楚起见,我可以在数据库中以毫为单位存储经度、纬度和时间,然后问题是从数据库中取出数据并将其显示在地图上。

更新代码:

public static final String AUTHORITY = "application.android.prototype";
// followed by the CONTENT_URI
public static final Uri CONTENT_URI = Uri.
                    parse("content://" + AUTHORITY + "/gpspoints");

更新权限:

<provider android:name="GPSDataContentProvider" android:authorities="application.android.prototype">
</provider>
4

1 回答 1

0

我最终决定不使用 ContentProvider,因为我的应用程序的数据库只会被该单个应用程序使用。

相反,我使用 SQL 创建了一个典型的数据库,并使用了类似的 Cursor 函数:

SQLiteDatabase db = waypoints.getReadableDatabase(); 光标 cursor = db.query(TABLE_NAME, FROM, null, null, null, null, ORDER_BY); 开始管理光标(光标);返回光标;

于 2010-03-19T13:41:30.223 回答