У меня есть этот статический метод для извлечения моего зарегистрированного пользователя информации из базы данных (SQLite), а иногда по неизвестной причине, этот метод возвращает ноль ... И, к сожалению, я могу 'воспроизвести эту ошибку ...
private static final Object sLock = new Object() {};
public static User getUser() {
User user = null;
synchronized (sLock) {
Cursor cursor = getContext().getContentResolver().query(
MyContract.User.CONTENT_URI, null, null, null, null);
TypeAdapter<User> adapter = GsonUtils.createGsonBuilder().getAdapter(User.class);
try {
if (cursor != null) {
if (cursor.moveToFirst()) {
user = adapter.fromJson(cursor.getString(1));
}
}
} catch (IOException e) {
LogUtils.LOGE(TAG, "Impossible to parse from Gson logged user");
} finally {
if (cursor != null) {
cursor.close();
}
}
if (user == null) {
LogUtils.LOGE(TAG, "Impossible to retrieve logged user from database");
}
}
return user;
}
Ребята, у вас есть объяснения?
Большое спасибо!