iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Mobile Development

Android開發之旅:從Java到Kotlin,迎接Compose時代系列 第 7

Java實戰(五):整合SQLite資料庫,管理待辦事項資料

  • 分享至 

  • xImage
  •  

在這篇文章中,我們將探討如何在待辦事項管理應用中整合SQLite資料庫,以便儲存待辦事項資料。以下是實作此功能的步驟:

步驟 1:新增SQLite依賴

首先,確保在 build.gradle 文件中新增SQLite的依賴。對於大多數Android專案,SQLite是內建的,但如果需要使用Room庫來簡化資料庫操作,則需要新增以下依賴:

implementation 'androidx.room:room-runtime:2.4.2'
annotationProcessor 'androidx.room:room-compiler:2.4.2' // For Java

步驟 2:創建資料庫實體

接下來,我們需要創建一個資料庫實體類,這個類將映射到SQLite資料庫中的表。對於待辦事項,我們可以創建一個 TodoItem 類,並使用Room的註解來標記其屬性。

@Entity(tableName = "todo_items")
public class TodoItem {
@PrimaryKey(autoGenerate = true)
private int id;
private String title;
private String description;
private boolean isCompleted;
private Date createdAt;
// Getters and Setters
}

步驟 3:創建資料訪問物件(DAO)

然後,我們需要建立一個吃料訪問物件(DAO),這是一個接口,定義了對茲後庫的操作方法,例如插入、查詢、更新和刪除待辦事項。

@Dao
public interface TodoDao {
@Insert
void insert(TodoItem todoItem);
@Query("SELECT FROM todo_items")
List<TodoItem> getAllTodos();
@Update
void update(TodoItem todoItem);
@Delete
void delete(TodoItem todoItem);
}

步驟 4:建立資料庫類

接下來,我們需要建立一個資料庫類,這個類將擴展 RoomDatabase,並提供對DAO的訪問。

@Database(entities = {TodoItem.class}, version = 1)
    public abstract class TodoDatabase extends RoomDatabase {
    public abstract TodoDao todoDao();
}

步驟 5:初始化資料庫

MainActivity 中,我們需要初始化資料庫並獲取DAO的實例。這可以在 onCreate 方法中完成。

TodoDatabase db = Room.databaseBuilder(getApplicationContext(),
TodoDatabase.class, "todo_database").build();
TodoDao todoDao = db.todoDao();

步驟 6:實現資料的新刪修查

現在,我們可以使用DAO來實現待辦事項的新刪修查功能。在 addTodo 方法中,我們將插入新的待辦事項到資料庫中。

public void addTodo(String title, String description) {
    TodoItem newItem = new TodoItem(title, description);
    new Thread(() -> todoDao.insert(newItem)).start();
}

同樣,我們可以在編輯和刪除待辦事項時使用對應的DAO方法。

步驟 7:從資料庫加載資料

最後,我們需要從資料庫中加載待辦事項並顯示在UI上。這可以通過在背景線程中查詢資料庫來實現,然後更新UI。

new Thread(() -> {
    List<TodoItem> todos = todoDao.getAllTodos();
    runOnUiThread(() -> {
    // 更新UI
    });
}).start();

結論

通過以上步驟,我們成功地將SQLite資料庫整合到待辦事項管理APP中,實現了資料的儲存。這不僅提高了APP的可靠性,還使得使用者能夠在重新啟動APP後保留其待辦事項。在接下來的文章中,我們將進一步優化應用性能,提升使用者體驗。


上一篇
Java實戰(四):添加通知提醒功能,讓待辦事項更加實用
下一篇
Java實戰(六):優化APP效能,提升使用者體驗
系列文
Android開發之旅:從Java到Kotlin,迎接Compose時代9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言