Shared Preferencesのファイルはどこにあるのか? / Where are Shared Preferences Stored in 【Flutter/Android】?
開発中のアプリにおいて、userの入力したデータをすべてひっくるめて、Google Driveにバックアップする機能を実装しようとしています。
そのなかでShared Preferencesのデータがどこに保存されているのか確認する必要がありました。調べていくと下記のSO記事を見つけました。
いわく、/data/data/PACKAGE NAME/shared_prefs/FlutterSharedPreferences.xml
Androidの場合はここにあるよ、と。確かめてみます。
適当なデータをShared Preferences経由で保存し、下記のようにデータにアクセスします。
final file = File( '/data/data/MY PACKAGE NAME/shared_prefs/FlutterSharedPreferences.xml'); String contents = await file.readAsString(); if (contents != null) print( 'This is /data/data/MY PACKAGE NAME/shared_prefs/FlutterSharedPreferences.xml -> ...\n$contents'); else print('its NULL');
ありました!!!StringList形式と通常のStringのデータがあります。 同様にStethoパッケージを使って、Chrome Dev Toolsでも確認をしてみます。はい、もちろん同様のデータが確認できます。StringListのデータだけ、なんか不明な文字列に変換されている仕様なんですよね。最初見たときは、なんか文字化けしてるとおもいました。 :p