Proto DataStore

投稿日:  更新日:

Proto DataStoreの使い方を、まとめます。

DataStoreはPreferencesとProto DataStoreの2つがあります。

Proto DataStoreは、データの識別子にカスタムデータクラスのフィールドを使うタイプです。

カスタムデータクラスはprotoスキーマの定義から自動生成される仕組みになっています。

このカスタムデータクラスの作成に一手間かかるため、使い勝手はPreference DataStoreよりも劣ります。

あえて、Proto DataStoreを使う理由が無いのであれば、Preferences DataStoreで十分です。

※環境:Android Studio Hedgehog | 2023.1.1 Patch 2
    com.google.protobuf 0.9.5
    androidx.datastore:datastore:1.1.7
    com.google.protobuf:protobuf-javalite:4.32.0
続きを読む

Preferences DataStore

投稿日:  更新日:

Preferences DataStoreの使い方を、まとめます。

DataStoreはPreferencesとProto DataStoreの2つがあります。

Preferences DataStoreは、データの識別子にキー(文字列)を使うタイプです。

手軽・簡素で、Proto DataStoreに比べて、使い勝手がよいです。

あえて、Proto DataStoreを使う理由が無いのであれば、Preferences DataStoreで十分です。

※環境:Android Studio Hedgehog | 2023.1.1 Patch 2
    androidx.datastore:datastore-preferences:1.1.7
続きを読む

DataStoreの概要

投稿日:  更新日:

「DataStore」はAndroid Jetpackで提供されているAPIです。

永続的なデータを保存するための仕組みです。

「SharedPreferences」の代替ツールとして登場し、「SharedPreferences」に代わって使用が推奨されています。

ここでは「DataStoreの概要」について、まとめます。

※環境:Android Studio Hedgehog | 2023.1.1 Patch 2
続きを読む

Kotlin:useスコープ関数

投稿日:  更新日:

useスコープ関数は、オブジェクトが確保したリソースの開放(close関数の実行)を自動的に行ってくれる関数です。

とてもお勧めのスコープ関数です。

※環境:Android Studio Hedgehog | 2023.1.1 Patch 2
続きを読む

SAFでURIに対するアクセス許可の永続化

投稿日:  更新日:

Storage Access Framework(SAF)は、ファイルピッカーでアクセス対処のファイル(またはフォルダ)を指定する仕組みです。

指定されたURI(ファイル、フォルダ)は、アプリがアクセスする許可を付与したものになります。

そのまま、そのURIを使って読み書きが可能です。

ただし、このアクセス許可には期限があります。期限を過ぎれば失効します。

失効したら、再びファイルピッカーで指定すれば良いですが、ユーザーの操作を伴います。ユーザーのエクスペリエンス(使い易さ)は下がるでしょう!

そのような場合に、URIに対するアクセス許可を永続化できます。

※環境:Android Studio Narwhal Feature Drop | 2025.1.2 Patch 2
    androidx.datastore:datastore-preferences:1.1.7
続きを読む