这是我的数据库类:
(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)上运行它,我没有模拟器。