Google Play でアプリを更新したいのですが、アプリを更新するには API レベル 30 をターゲットにする必要があると思います。
アプリは、実際には SQLiteDatabase インスタンスであるドキュメントを読み書きします。これらのドキュメントは、SD カードまたは内部ストレージに保存されます。
アプリの現在のバージョン: https://github.com/EricTerrell/Vault3.Android
現在、アプリは API レベル 29 を対象としており、requestLegacyExternalStorage="true" 設定に依存しています。さらに、READ_EXTERNAL_STORAGE および WRITE_EXTERNAL_STORAGE パーミッションをアサートします。
https://github.com/EricTerrell/Vault3.Android/blob/main/app/src/main/AndroidManifest.xml#L7-L16
ACTION_OPEN_DOCUMENT_TREE および ACTION_OPEN_DOCUMENT UI を使用して、ドキュメントのフォルダーを指定し、特定のドキュメントを開く実験を行いました。
私の問題は、これらの UI がファイル パスではなく Uri を返すことです。アプリがパスではなくファイル Uri を使用して SQLiteDatabase データベースを開くことができるかどうかはわかりません。
Uri をファイル パスに変換する方法に関するいくつかの投稿を読みました。決定的なものは何も見つかりませんでした。Google はファイル Uris を不透明に保とうとしているようです。
また、ファイル Uri を指定して SQLiteDatabase を開く方法が見つかりませんでした。
https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase?hl=en
ドキュメントはデスクトップ アプリと Android モバイル アプリによって読み書きされるため、ファイル形式は実際には変更できません。
どんなアドバイスでも大歓迎です!ファイルUriを指定してSQLiteDatabasesを開く方法があれば、それで問題は解決します。
エリック・バーグマン・テレル