安卓數據庫的實現與應用
App相關需求
- 我們想為APP設計一個較為完善的登錄界面,這就需要一個所有客戶端能夠共同訪問的存儲空間來存儲每個用戶的信息,例如用戶名、密碼等等。
- 在我們APP的“自動導入課表和各科科代表布置的任務”這項功能中,我們也需要一個存儲空間,使科代表能夠上傳任務,同學們能夠接收任務。
探究過程
- 我們從搜索關鍵詞“Android Studio登錄 注冊”開始,閱覽並參考了網上許多實現了注冊登錄功能的博客,涉及到的內容包括:SQLite、MySQL、OKhttp
- 在經過摸索與了解,並向老師詢問建議之后,我們SQLite的功能實現了一個簡易的注冊登錄界面。然而,在我們的后續探索中發現,我們之前使用SQLite構造的數據庫是掛載在程序本身的,如果繼續使用SQLite,那么我們的其中一個需求,即“所有安卓客戶端都能訪問某個共同的存儲空間”這一需求將難以達成。
- 隨后,我們根據我們的需求進行進一步的研究,了解到了一個能夠實現我們第一個需求的方法:搭建/購買服務器,在服務器上構建數據庫,並通過某種方式將APP與服務器連接,並最終實現本地數據與服務器數據的同步。
- 但是在嘗試使用MySQL之后,發現在三周內熟練掌握MySQL並將其與我們的開發需求結合較為困難,況且將MySQL和我們的APP進行連接也是個不小的難題,網上沒有特別完善並且比較新的教程。
- 在咨詢了上一屆學長學姐們之后,我們得知他們有一個小組實現了雲端數據庫,而采用的是一個叫leancloud的一站式后端雲服務提供商。在稍了解leancloud的功能與使用之后,我們認為leancloud的使用難度相對較低,並且提供的服務完全涵蓋了我們的需求,因此我們決定使用leancloud來進行我們程序的數據存儲、消息推送等涉及數據庫的功能的開發。