在这个 Android 的数据库代码中不实现抽象方法怎么可能调用?
How is it possible to call without implementing an abstract method in this Android's DB code?
我正在学习 Android
,我是 DB
的新手。我正在尝试使用 Room
库来使用 DB
.
我正在查看示例代码,但有些地方我不明白。
就是调用AppDatabase abstract class
的abstract method
而不执行
至少据我所知,抽象类不能被实例化
但我很好奇它是如何调用的,以及如何使用返回值。
(与 Kotlin
相同。)
我对 JAVA
或 Kotlin
有误吗?
ToDoDao.interface
@Dao // Data Access Object
interface ToDoDao {
@Query("SELECT * FROM ToDo")
abstract fun getAll(): List<ToDo>
@Insert
void insert(ToDo todo)
@Update
void update(ToDo todo)
@Delete
void delete(ToDo todo)
}
AppDatabase.class
@Database(entities = [Todo.class], version = 1)
abstract class AppDatabase extends RoomDatabase {
public abstract void TodoDao todotDao();
}
Main.class
AppDatabase db = Room.databaseBuilder(this, AppDatabase.class, "todo-db").build();
mResultTextView.setText(db.todoDao().getAll().toString); // THIS
我正在学习 Android
,我是 DB
的新手。我正在尝试使用 Room
库来使用 DB
.
我正在查看示例代码,但有些地方我不明白。
就是调用AppDatabase abstract class
的abstract method
而不执行
至少据我所知,抽象类不能被实例化
但我很好奇它是如何调用的,以及如何使用返回值。
(与 Kotlin
相同。)
我对 JAVA
或 Kotlin
有误吗?
ToDoDao.interface
@Dao // Data Access Object
interface ToDoDao {
@Query("SELECT * FROM ToDo")
abstract fun getAll(): List<ToDo>
@Insert
void insert(ToDo todo)
@Update
void update(ToDo todo)
@Delete
void delete(ToDo todo)
}
AppDatabase.class
@Database(entities = [Todo.class], version = 1)
abstract class AppDatabase extends RoomDatabase {
public abstract void TodoDao todotDao();
}
Main.class
AppDatabase db = Room.databaseBuilder(this, AppDatabase.class, "todo-db").build();
mResultTextView.setText(db.todoDao().getAll().toString); // THIS