房间数据库中的Dao为NULL

时间:2017-11-04 20:49:47

标签: java android android-room

这是我的数据库类:

(rapidly click four times)
PING
PING
PING
PING
(1000ms pass)
PONG
(1000ms pass)
PONG
(1000ms pass)
PONG
(1000ms pass)
PONG

问题是:public static int search(int[] a, int target) { final OptionalInt index = IntStream.range(0, a.length).filter(i -> a[i] == target).findFirst(); return index.isPresent() ? index.getAsInt() : -1; } 在实例化AppDatabase后返回null。

这是UserDao:

@Database(entities = {User.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
    public abstract UserDao userDao();
}

这就是我实例化数据库的方式:

userDao()

尝试在AppDatabase实例上调用@Dao public interface UserDao { @Query("SELECT * FROM user") List<User> getAll(); @Query("SELECT * FROM user WHERE id IN (:userIds)") List<User> loadAllByIds(int[] userIds); @Query("SELECT * FROM user WHERE first_name LIKE :first AND " + "last_name LIKE :last LIMIT 1") User findByName(String first, String last); @Insert void insert(User... users); @Delete void delete(User user); @Query("SELECT * FROM user ORDER BY last_name ASC") LivePagedListProvider<Integer, User> usersByLastName(); } 时,我收到以下异常。

java.lang.RuntimeException:无法启动活动ComponentInfo {mk.forum/mk.test.MyActivity}:java.lang.NullPointerException:尝试调用虚方法'mk.test.UserDao mk.test.AppDatabase.userDao ()'在空对象引用

我在Moto G5(Android 7.0)上运行它,我没有模拟器。

0 个答案:

没有答案
相关问题