Извините за, возможно, плохой заголовок, не знаю, как описать это хорошо.
Я написал свой собственный ContentProvider под названием DeaddropDBProvider, который включает в себя следующие строки, чтобы установить некоторые константы для URI для предоставленного содержимого:
public static final String PROVIDER_NAME =
"squirrel.deaddropdroid.deaddropdbprovider";
public static final Uri BLOG_URI =
Uri.parse("content://"+ PROVIDER_NAME + "/blog");
Теперь, чтобы добраться до этих URI, я получаю к ним доступ двумя способами.Один работает, другой выходит из строя, и я не понимаю, почему.
Неудачный метод:
Метод 1): прямой вызов.Это прекрасно работает (сокращенный код):
public class DeaddropDB {
public void getData(...) {
Cursor cursor = context.getContentResolver().query(DeaddropDBProvider.BLOG_URI,
columns, selection, selectionArgs, orderBy);
}
}
Метод 2): импортировать URI как константу;тогда сделай звонок.Это дает исключение NullPointerException в тот момент, когда я пытаюсь использовать этот URI, поскольку URI по-прежнему равен нулю.
public class DeaddropDB {
public static final Uri BLOG_URI = DeaddropDBProvider.BLOG_URI;
public void getData(...) {
Cursor cursor = context.getContentResolver().query(BLOG_URI,
columns, selection, selectionArgs, orderBy);
}
}
Почему этот второй метод не работает?Почему BLOG_URI равен нулю?