App Inventor 2 本地存儲(chǔ)之“微數(shù)據(jù)庫”組件,App數(shù)據(jù)持久化
應(yīng)用介紹

數(shù)據(jù)存儲(chǔ)一般分為兩大類:本地 和 網(wǎng)絡(luò),本地一般是數(shù)據(jù)文件的形式存儲(chǔ)在手機(jī)上,本地App每次啟動(dòng)都可以共享讀取,但是不同的手機(jī)之間不可以共享數(shù)據(jù);如果需要多個(gè)手機(jī)之間共享獲取或存儲(chǔ)數(shù)據(jù)的話,那就需要用到網(wǎng)絡(luò)數(shù)據(jù)庫了(云數(shù)據(jù)庫、網(wǎng)絡(luò)微數(shù)據(jù)庫,它們目前默認(rèn)都是MIT服務(wù)器),它的原理就是用戶A將數(shù)據(jù)通過網(wǎng)絡(luò)傳輸?shù)皆品?wù)器,然后用戶B通過網(wǎng)絡(luò)可以讀取到用戶A存儲(chǔ)的數(shù)據(jù),最典型的應(yīng)用就是類似微信的聊天App了。
本地?cái)?shù)據(jù)庫一般指的就是“微數(shù)據(jù)庫”,提供鍵、值方式的存儲(chǔ)。
本示例程序演示了如何保存App退出前的狀態(tài)(即數(shù)據(jù)),然后重新打開App時(shí)仍然能夠知道上次保存的數(shù)據(jù)。主要用到“數(shù)據(jù)通信”下的“微數(shù)據(jù)庫”組件。
“微數(shù)據(jù)庫”教程(難度系數(shù):★)
教程入口:App Inventor 2 中文網(wǎng)(fun123.cn)?-> 登陸 ->?“項(xiàng)目指南”?-> 微數(shù)據(jù)庫"開始學(xué)習(xí)"。
App基本邏輯設(shè)計(jì)
點(diǎn)擊按鈕,將文本框中輸入的內(nèi)容,以一個(gè)固定的鍵保存到“微數(shù)據(jù)庫”中。
屏幕初始化的時(shí)候,從“微數(shù)據(jù)庫”中將同一個(gè)鍵的值讀取出來,并設(shè)置到文本框中。
驗(yàn)證一下 AI伴侶 及 編譯成apk 這兩種情況下,保存的值在下次打開App時(shí)是否正確加載。
微數(shù)據(jù)庫作用范圍
AI伴侶 保存的是所有的測(cè)試App共用的數(shù)據(jù),要注意清理防止測(cè)試多個(gè)App時(shí)有干擾。
微數(shù)據(jù)庫僅針對(duì)同一App有效,不能跨App保存數(shù)據(jù),因此AI伴侶保存的數(shù)據(jù),編譯好的apk是不可能獲取到的,反之也一樣。
更多用法,請(qǐng)參考文檔。
點(diǎn)按鈕保存狀態(tài)值,App初始化時(shí)讀取
界面如下:

代碼如下:

測(cè)試
經(jīng)過測(cè)試,AI伴侶 及 編譯成apk,均能保存我們輸入的值到本地,下次啟動(dòng)后能讀到上次設(shè)置的值。
后記
Q&A:保存整個(gè)app的狀態(tài)怎么辦?
答:App的狀態(tài)也是由數(shù)據(jù)組成的,需要保留的狀態(tài)設(shè)計(jì)成多個(gè)數(shù)據(jù)項(xiàng)目,保存本地微數(shù)據(jù)庫即可。沒有捷徑可走,不可能自動(dòng)將上次所有的界面原樣保存,只能靠自己設(shè)計(jì)更多的變量保留更多的特性。