Android Qでは、新しいスコープストレージ機能が導入されました。
Android 10(APIレベル29)以上を対象とするアプリには、デフォルトで外部ストレージまたはスコープストレージへのスコープアクセスが付与されます。このようなアプリは、外部ストレージ上のアプリ固有のディレクトリだけでなく、アプリが作成した特定のタイプのメディアにもアクセスできます。
外部ストレージにSQLiteデータベースを作成するアプリがあります。これは、アプリをアンインストールしたときにデータベースがまだ有効であり、後でリカバリとして使用したり、Androidデバイスの外部で使用したりできるようにするためです(PCで言う)
Android Qで同じ効果を得るにはどうすればよいですか?より正確には、データベースが外部のパブリックディレクトリに格納されている場合-標準を使用してこのデータベースを読み取るにはどうすればよいSQLiteOpenHelper
ですか?
フレームワークSQLiteやサポートSQLite AndroidX API(Roomで使用されているもの)では、少なくともできません。カスタムコンパイルされたSQLiteライブラリとおそらくファイル記述子を使用して、あいまいなソリューションを除外することはできません。
—
CommonsWare
いいえ、違います。noo-oooo-oooo!私は信じられません、パブリックディレクトリに置かれたSQLiteデータベースを使用する方法が必要です...
—
Barmaley Red Star
アプリの起動時とシャットダウン時に、データベースファイルのコピーを作成できます。メディアストアを使用する場合、権限は必要ありません。
—
blackapps
@blackapps、このオプションを理解していることを確認しますが、他のアプローチも喜んでいます。外部ストレージ上のSQLiteデータベースへの直接アクセス
—
Barmaley Red Star