如何保存对象的 ArrayList?
How to save an ArrayList of Objects?
我正在创建一个项目,让用户输入书名,然后将其放入 ArrayList 中,然后将其转换为 RecyclerView。我如何存储这个 ArrayList 以便在应用程序被销毁时数据不会丢失。以下是我目前正在做的事情。我尝试过 TinyDB 等替代方案,但没有成功。 (顺便说一句,第二个参数是一个复选框)
var todoList = arrayListOf<Todo>(
Todo("Write your first TODO statement", false)
)
val adapter = TodoAdapter(todoList)
binding.rvTodos.adapter = adapter
binding.rvTodos.layoutManager = LinearLayoutManager(this)
binding.btnAddTodo.setOnClickListener {
val title = binding.etTodo.text.toString()
val todo = Todo(title, false)
todoList.add(todo)
adapter.notifyItemInserted(todoList.size - 1)
}
您可以使用 SQLite、Room Database 或 Firebase 等数据库存储数据。
在您的情况下,我发现像 Room 这样的数据库是存储数组列表数据的最佳选择。
您可以通过 Android 开发人员通过此 link(kotlin) or follow their text tutorial through this link.
提供的代码实验室开始阅读有关 Room 数据库的信息
之后当您在被销毁后返回到您的应用程序时,您可以使用一行 select 查询从数据库中获取数据并将其再次加载到您的回收器视图适配器中。
我正在创建一个项目,让用户输入书名,然后将其放入 ArrayList 中,然后将其转换为 RecyclerView。我如何存储这个 ArrayList 以便在应用程序被销毁时数据不会丢失。以下是我目前正在做的事情。我尝试过 TinyDB 等替代方案,但没有成功。 (顺便说一句,第二个参数是一个复选框)
var todoList = arrayListOf<Todo>(
Todo("Write your first TODO statement", false)
)
val adapter = TodoAdapter(todoList)
binding.rvTodos.adapter = adapter
binding.rvTodos.layoutManager = LinearLayoutManager(this)
binding.btnAddTodo.setOnClickListener {
val title = binding.etTodo.text.toString()
val todo = Todo(title, false)
todoList.add(todo)
adapter.notifyItemInserted(todoList.size - 1)
}
您可以使用 SQLite、Room Database 或 Firebase 等数据库存储数据。
在您的情况下,我发现像 Room 这样的数据库是存储数组列表数据的最佳选择。
您可以通过 Android 开发人员通过此 link(kotlin) or follow their text tutorial through this link.
提供的代码实验室开始阅读有关 Room 数据库的信息之后当您在被销毁后返回到您的应用程序时,您可以使用一行 select 查询从数据库中获取数据并将其再次加载到您的回收器视图适配器中。