DataStore Proto Data


DataStore - Proto Data

流程

1. build.gradle 設定



Project 設定,加入 com.google.proroubf:protobuf-gradle-plugin:0.8.15


Module 設定 

Code

加入 id "com.google.protobuf"

加入 protobuf { }

dependencies 加入 implementation

2. 建立 proto 資料夾

切換到 Project

在 src -> main 這層建立資料夾

名稱是 proto

對 proto 資料夾新增 File

名稱可以自定義
命名為 login_prefs.proto

3. 第一次建立檔案提醒

點選 install plugins

按照步驟安裝

安裝完成後,可以到 Preferences 確認 Protocol Buffer Editor,沒有可以自行搜尋安裝


選擇 Plugins 確認 Protocol Buffer Editor 是否安裝

4. 編輯 .proto 檔案


java_package 填入 package name


message 可以自行定義,之後可以修改

Login 內的變數可以自行定義,要確認資料型態

int32 代表 int, 這邊轉換的方式可以到 Google language Guide 查看 網址

選擇 proto3 -> Scalar Value Types

設定完成後,記得要 Rebuild Project

Build -> Rebuild Project

切換到 Project
確認系統在 proto 資料夾下已經產生 3 個檔案
名稱會依據 message 設定的名稱不同而有所改變

5. 處理 Serializer 檔案

新增 Kotlin FIle

命名為 SettingSerializer.kt

官網介紹文件 : 網址

可以直接複製,val Context 這一段程式碼不用複製
參考 Code 要注意不要直接貼上

6.  主要程式碼 (RecyclerViewActivity.kt 中運行)

Code

定義 Context.loginDataStore (可以修改)

fileName 是儲存檔案的名稱可以修改
serializer 是上方步驟定義的檔案(步驟5)

處存檔案

使用定義的 loginDataStore
當中的 setLoginTime, setUserName, setStockListSize 是依據
message Login 設定自動產生的,放入對應參數類型即可

讀取檔案

利用 it 把變數讀取出來,用 Log 查看

onCreate() 執行

先執行檔案儲存再讀取,流程可以調整

Logcat 執行結果

註 : 沒有執行過 APP,沒有存入資料,是否需要先填入 Defuault 值

沒有設定 Default 值,執行正常

7. 查看檔案

開啟 Device File Explore

選擇對應裝置

到 data -> data -> package 下可以找到 .pb 檔案
.pb 檔案名稱為 Context.loginDataStore 定義(步驟6)

點擊可以查看

Data Preference 介紹 : 連結

專案名稱 : sidekotlin

commit version : 1bce5e6

後記

如果這篇文章對於你有幫助,可以幫忙分享給更多的人.文章內容如果有誤,可以在下方留言告知.本網站主要提供程式相關資訊,可以訂閱獲得最即時的資訊.

留言

熱門文章

40 個可以改變寫程式技巧的秘訣

Generate Signed Bundle / APK(s) & Bundle Tool 基本使用 & .aab安裝方式

2021申請 Android Developer 開發者帳號及上架步驟