2016-11-17 12 views
0

私はアクセスしたいカスタムデータベースとファイルを持っています。現在のところ、ルートディレクトリのフォルダに保存していますが、ログにはそのような権限はありません。内部ストレージにカスタムファイルを保存するのに最適な場所

私はapp assetsフォルダ内にファイルを保存したくありません。内部ストレージにファイルを保存する最適な場所は何ですか?

+0

'getExternalFilesDir()'に保存 – ozbek

答えて

0

内部ストレージ/ sdcardに名前(。)が始まるデータベースを作成します。また、最初の文字として(。)をつけたフォルダを作成し、そこにデータベースファイルを置くこともできます。これは隠されます。あなたはAndroidManifest.xmlに

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
0

はこれを試してみてください。 Context.getExternalCacheDir()またはContext.getExternalFilesDir()ファイルはSDCard/Android/data/data/<application package>/cacheまたはSDCard/Android/data/data/<application package>/filesに格納されます。
AndroidManifest.xmlにアクセス許可を追加する必要があります。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Android 6.0 Runtime Permissionsは必要ありません。

内部ストレージの場合、Context.getCacheDir()またはContext.getFilesDir()を使用できます。ファイルはまたはdata/data/<application package>/filesに保存されます。この場所では、許可を宣言する必要はありません。

あなたのデータベースファイルは、デフォルトの場所に保存されていると思います。 data/data/<application package>/database

+2

なぜ 'READ_PHONE_STATE'ですか? –

0

に権限を追加する必要があり

関連する問題