「Android」スタジオを使ったシンプルなTodo Example(kotlin)
スタジオとは?
データベース内のオブジェクトをjavaまたはcortlinオブジェクトにマッピングします.
スタジオの3つの主要コンポーネント
Entity
データベース内のテーブル・ロールDao
データベースへのアクセスに必要なメソッドを含めるex. Query, Insert, Update, Delete ...
Database
RoomDatabaseクラスの抽象クラスを継承📆 Todo Fileの例(kotlin)
->ルームで使用するオブジェクトファイル
->Todoに対して実行するアクションを定義するインタフェースファイル
->RoomDatabaseを継承し、抽象メソッド
->AppDatabase変数宣言(オブジェクトの作成)
build.gradle (app)
dependencies {
def room_version = "2.2.6"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
// optional - Kotlin Extensions and Coroutines support for Room
implementation "androidx.room:room-ktx:$room_version"
// optional - Test helpers
testImplementation "androidx.room:room-testing:$room_version"
}
activity_main.xml
Todo.kt
@Entity
data class Todo(var todoList: String) {
@PrimaryKey(autoGenerate = true)
var id: Int = 0
}
relay autoGenerate=true:PK値1を自動的に増加TodoDAO.kt
@Dao
interface TodoDAO {
@Query("SELECT * FROM Todo")
fun getAll(): List<Todo>
@Query("SELECT todoList FROM Todo")
fun getTodoList(): MutableList<String>
@Insert
fun insert(todo: Todo)
...
}
AppDatabase.kt
@Database(entities = [Todo::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun toDoDao(): TodoDAO
}
MainActivity.kt
db = Room.databaseBuilder(baseContext, AppDatabase::class.java, "TodoDB")
.allowMainThreadQueries()
.build()
// insert Todo
db.toDoDao().insert(Todo(editTextTodo.get().toString()))
// show TodoList
binding.textViewTodoList.text = db.toDoDao().getTodoList().toString()
Reference
この問題について(「Android」スタジオを使ったシンプルなTodo Example(kotlin)), 我々は、より多くの情報をここで見つけました https://velog.io/@hyooosong/Android-Roomテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol