資料庫 靜宜大學資管系 楊子青
1. Database (DB) Facebook has a database of every member’s account information, friends list, and posts. Amazon has a database of just about everything you can buy. Google has a database of information about every page in the World Wide Web.
Database Course In most programming environments, building an app that communicates with a database is an advanced programming technique: you have to set up a server with database software like Oracle or MySQL and then write code that interfaces with that database.
useful DB components provides components that reduce database communication to simple store and get operations. You can create apps that store data : directly on the Android device: TinyDB and with some setup, you can create apps that share data with other devices and people by storing it in a centralized web database: TinyWebDB 或 FirebaseDB even when you close the app and reopen it, the data is still available.
建立TinyDB專案,介面如下:
使用者輸入名字,按讀取進行顯示 安裝到手機,進行測試 退出再次執行 App無法貯存先前輸入的名字
2. TinyDB (行動裝置資料庫) The TinyDB.StoreValue block stores data to the device’s long-term memory. A tag-value scheme is used for database storage. You retrieve data from the database with the TinyDB.GetValue block.
修改TinyDB專案,程式碼如下: 系統首次執行之 初始化事件 如果找不到標籤之顯示內容
安裝至行動裝置,執行結果: 首次執行 離開應用程式,再次執行 仍然可讀取上次輸入的名字 按讀取 輸入名字,按貯存
從行動裝置刪除資料之方法 設定→應用程式→選擇應用程式(如TinyDB) →儲存空間→清除資料→按「確定」 再次執行 應用程式
3. Firebase (網路資料庫) Many apps do share data: think of Facebook, Twitter, and popular multiuser games. For such data-sharing apps, the database must live on the Web, not the device. TinyWebDB is the web counterpart to TinyDB. 必須自行設定web service 建議使用Firebase https://tw.alphacamp.co/2016/07/22/firebase/ 一個同時支援 Android、iOS 及網頁的 app 雲端開發平台 協助 app 開發者在雲端快速建置後端服務,提供即時資料庫,有效縮短 app開發時間,讓開發者更專注在前端的優化
將TinyDB專案另存成Firebase,修改Screen1的AppName屬性為Firebase 加入FirebaseDB元件,連結至https://firebase.google.com/
於Firebase網站新增專案 GET STARTED→新增專案,請輸入自己想要的專案名稱
選擇左方DATABASE,複製網址到FirebaseURL
設定規則,讓任何人都可以存取
讀取網路API金鑰
複製金鑰到FirebaseToken
修改:貯存資料之程式碼
修改:讀取資料之程式碼 *重要:網路存取可能耗時 必須先要求讀取資料 當傳回資料後,再修改介面
安裝至可上網行動裝置進行測試 假設輸入姓名為:楊子青
自行練習:記錄最高分玩家 提示 讓使用者可輸入名字及分數兩個TextBox 判斷先前是否已有tag存在 如果沒有,表示為第一個玩家,直接存至資料庫,包含Player及Score兩個標籤值 如果已有tag 判斷此次分數是否高過原紀錄,若較高則貯存兩個標籤值