2日経ちましたが、解決できないように見える非常に一般的で単純な問題に行き詰まっています(他の人は解決できますが):
AndroidでSDカードにフォルダを作成!!! はい!!!
ここには多くの投稿があり、同じことを言っているように見える多くのチュートリアルがあります。
- 外部フォルダー パス + /yourFolderName で文字列を作成します
- 引数としてパスを渡す新しいファイルを作成します
- その上で mkdir() (または mkdirs()) を呼び出します
- 終わり!
同時に、SD カードが MOUNTED、READABLE、WRITABLE であるかどうかを確認できます。もちろん、Manifest.xml に WRITE_EXTERNAL_STORAGE へのアクセス許可を入れることを忘れないでください。ただし、マニフェストの直接の子として設定する必要があります。アプリケーションの!!!
まあ、それは私にはうまくいかないようです。
folder_creation コードは onCreate() 内にあり、MediaScannerConnection を呼び出してファイルが存在するかどうかをテストしようとしていますが、OnScanCompleteListener で null を返しますが、これを正しい方法で使用しているかどうかはわかりません。
アプリケーションは正常に動作します (デフォルトのカメラ アクティビティを起動してからメイン アクティビティに戻ります)、フォルダは作成されません! (今のところ、何も入っていないフォルダーを作成したいだけです)
パッケージ名に「例」という単語が含まれているパッケージ名に関連する問題でしょうか? (私はどこかに関連する何かを赤くします...)
何が間違っている可能性がありますか?ヒント、アドバイス、何か教えてください...
minSdkVersion = 8 を使用して Eclipse を使用して Mac 1.7.5 でビルドし、2.3.5 (sdkVersion = 10) の HTC Wildfire S でテストしています。ルート化されていないデバイスで ES File Manager 1.6.1.6 を使用して確認する
これが私を夢中にさせるコードの主要部分です...
私にできることがあると知ってとてもうれしいです...よろしくお願いします!
myPath = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator
+ "myFolder";
File newDirectory = new File(myPath);
Log.v("judy says", newDirectory.toString());
newDirectory.mkdir(); // this doesn't work because "no directory" is displayed in the logCat window
if (!newDirectory.exists()) {
newDirectory.mkdir();
Log.v("no, no, no", "no directory");
}
MediaScannerConnection.scanFile(this,
new String[] { newDirectory.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});