内部メモリにフォルダを作成する方法を取得できません。
私はAndroidで内部メモリにフォルダを作成し、Androidの内部メモリからファイルを読み取る際に直面する問題についていくつかの会話をしました。しかし、それでも私は私の要件を満たすことができません。
私の要件は、内部メモリにフォルダを作成したい、そこに 1 つのビデオを保存したいということです。
貴重なフィードバックをお寄せいただき、誠にありがとうございます。
内部メモリにフォルダを作成する方法を取得できません。
私はAndroidで内部メモリにフォルダを作成し、Androidの内部メモリからファイルを読み取る際に直面する問題についていくつかの会話をしました。しかし、それでも私は私の要件を満たすことができません。
私の要件は、内部メモリにフォルダを作成したい、そこに 1 つのビデオを保存したいということです。
貴重なフィードバックをお寄せいただき、誠にありがとうございます。
以下を試してください
File mydir = context.getDir("users", Context.MODE_PRIVATE); //Creating an internal dir;
if (!mydir.exists())
{
mydir.mkdirs();
}
内部メモリにファイルを作成するために使用しているコードは次のとおりです。
File myDir = context.getFilesDir();
// Documents Path
String documents = "documents/data";
File documentsFolder = new File(myDir, documents);
documentsFolder.mkdirs(); // this line creates data folder at documents directory
String publicC = "documents/public/api." + server;
File publicFolder = new File(myDir, publicC);
publicFolder.mkdirs(); // and this line creates public/api.myservername folder in internal memory
電話のプライマリ ストレージ メモリ (通常は内部メモリ) にディレクトリを作成するには、次のコードを使用する必要があります。Environment.getExternalStorageDirectory()
ExternalStorage inは必ずしも sdcard を指すわけではなく、電話のプライマリ ストレージ メモリを返すことに注意してください。
File mediaStorageDir = new File(Environment.getExternalStorageDirectory(), "MyDirName");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.d("App", "failed to create directory");
return null;
}
}
このコードを使用して作成されたディレクトリは、電話ユーザーに表示されます。もう1つの方法(受け入れられた回答のように)は、場所(/data/data/package.name/app_MyDirName)にディレクトリを作成するため、通常の電話ユーザーは簡単にアクセスできないため、ビデオ/写真の保存には使用しないでください等
AndroidManifest.xml で権限が必要になります
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
「data/package_name」ディレクトリに「cacheDirectory」があります。
そのキャッシュメモリに何かを格納したい場合は、
File cacheDir = new File(this.getCacheDir(), "temp");
if (!cacheDir.exists())
cacheDir.mkdir();
これはコンテキストです。