iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
Mobile Development

攜手神隊友ChatGPT:攝護腺自我照護App開發歷程!系列 第 10

D10-輕巧強大SQLite: Flutter開發的秘密武器

  • 分享至 

  • xImage
  •  

Part1:今日目標

1.介紹SQLite

Part2:今日內容

1.介紹SQLite

(1) 簡介

SQLite 是一種輕量級的嵌入式關聯式資料庫管理系統,它以簡單的單一檔案形式儲存整個資料庫,不需要額外的伺服器或設定。這使得它成為儲存和管理小到中型資料集的理想工具,尤其適用於移動應用程式和本地儲存需求。

(2) 應用場景

  • 移動應用程式開發: 因為SQLite的輕量性和高效性,適用於在移動設備上儲存和管理資料。

  • 本地資料儲存(Local Data Storage): 當應用程式需要在本地儲存資料,而不依賴於網絡連接時,SQLite 是一個理想的解決方案。

  • 應用範例:

    • 桌面應用程式: SQLite 可用於桌面應用程式,包括電子郵件客戶端、筆記應用程式等。

    • 嵌入式系統: 許多嵌入式系統需要儲存和檢索資料,SQLite 的輕量級特性使其成為嵌入式系統中的一個合適選擇,如智能家居裝置、工業自動化系統等。

    • 桌面應用程式的本地儲存: 就像在手機應用程式中一樣,桌面應用程式也可以使用SQLite來進行本地資料儲存,以提高應用程式的性能和效能。

    • 小型網站和Web應用程式: 對於小型Web應用程式或網站,SQLite 可能是一個簡單且高效的資料庫解決方案,特別是使用者數量較少時。

    • 原型和小型專案: 在開發原型或小型專案時,SQLite 可以用作快速啟動和測試的資料庫,因為它不需要複雜的伺服器架構。

(3) 優缺點

  • 優點

    • 輕量級: SQLite 非常輕巧,適合嵌入式應用,不佔用大量系統資源。
    • 單一檔案: 整個資料庫以單一檔案儲存,便於管理和備份。
    • 沒有伺服器需求: 不需要額外的伺服器或配置,簡化了部署和使用。
    • 支援交易處理(Transaction Processing): SQLite 支援交易處理,可確保資料的一致性、完整性和可靠性。
    • 高性能: 在適當的使用情境下,SQLite可提供高效的資料存取性能。
  • 缺點

    • 並行處理限制(Concurrency Limitation): 指的是一個系統或應用程式在同一時間允許並處理的並發操作數量的限制。SQLite在高度並發的情況下可能會有性能限制,系統可能無法有效地處理大量同時的操作,從而影響性能和回應時間,因此SQLite不適合大規模並發應用程式。
    • 不支援客戶端-伺服器架構: SQLite不適合用於需要多個客戶端同時訪問資料的情況,因為它是一個嵌入式資料庫。
    • 複雜查詢性能: 對於複雜的查詢,SQLite的性能可能不如其他高度優化的資料庫系統。

在Flutter中使用SQLite是一個適合本地資料儲存的選擇,特別適用於移動應用程式開發,並且它的輕量級特性和簡單性使其易於上手。然而,在處理大規模並發或需要複雜查詢的情況下,可能需要考慮其他資料庫解決方案。

(4) Flutter實作SQLite參考: Flutter官方文件: Persist data with SQLite

這份文件也是我們上課所學的,詳細說明許多操作細節,非常建議大家可以仔細閱讀此份文件並同時動手操作,就能對在Flutter中如何使用SQLite有初步了解。

  • Step_1.添加依賴套件 (Add the dependencies)
  • Step_2.定義 Dog 數據模型 (Define the Dog data model)
  • Step_3.打開資料庫 (Open the database)
  • Step_4.建立 dogs 表格 (Create the dogs table)
  • Step_5.插入一條 Dog 數據到資料庫 (Insert a Dog into the database)
  • Step_6.檢索狗的列表 (Retrieve the list of dogs)
  • Step_7.更新資料庫中的一條 Dog 數據 (Update a Dog in the database)
  • Step_8.從資料庫中刪除一條 Dog 數據 (Delete a Dog from the database)

Life is a journey to be experienced, not a problem to be solved. -Winnie the Pooh
人生,是對於新鮮事物探索的旅程,而不是一個等待被解決的麻煩 - 小熊維尼
今天要聽恭碩良《We All Fall Down》


上一篇
D9-Records介面,國際攝護腺症狀評分表輕鬆填_part3
下一篇
D11-實戰指南,帶著 SQLite 踏上偉大的航道吧!
系列文
攜手神隊友ChatGPT:攝護腺自我照護App開發歷程!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言