Получение исключения NullPointerException при вызове курсора в Android - PullRequest
1 голос
/ 18 марта 2010

Я создаю приложение, которое отслеживает местоположение пользователей с помощью GPS, сохраняет долготу и широту в базе данных с помощью провайдера контента, а затем выводит первые long и lat для просмотра карты.

Я могу создать курсор, используя следующую строку кода:

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>

1 Ответ

0 голосов
/ 19 марта 2010

В итоге я решил не использовать ContentProvider, поскольку база данных моего приложения будет использоваться только этим единственным приложением.

Вместо этого я создал типичную базу данных с использованием SQL и использовал аналогичную функцию Cursor:

SQLiteDatabase db = waypoints.getReadableDatabase (); Cursor cursor = db.query (TABLE_NAME, FROM, ноль, ноль, ноль, ноль, ORDER_BY); startManagingCursor (курсор); возврат курсора;

...