我正在製作Android應用程序,因爲我需要在存儲磁盤卡上創建文件夾。 我的主要活動分類: 我已經添加了三個按鈕,每次點擊都是爲了寫一個文件夾。 我的程序正在執行,但Toast消息是「目錄未創建」。 我檢查了我的存儲磁盤卡,並在那裏,我也在清單中添加了用戶權限。在SD卡上製作文件夾android
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final boolean isSDWritable = SDcard.isExternalStorageWritable();
buttonDownlaod = (Button) findViewById(R.id.activity_main_directoryDownload);
buttonPictures = (Button) findViewById(R.id.activity_main_directoryPictures);
buttonMovies = (Button) findViewById(R.id.activity_main_directoryMovies);
buttonDownlaod.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSDWritable) {
getStorageDir(Environment.DIRECTORY_DOWNLOADS, "MyDownlaods");
}
}
});
buttonMovies.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSDWritable) {
getStorageDir(Environment.DIRECTORY_MOVIES, "MyMovies");
}
}
});
buttonPictures.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSDWritable) {
getStorageDir(Environment.DIRECTORY_PICTURES, "MyPictures");
}
}
});
}
public File getStorageDir(String inBuiltDir, String folderName) {
String inBuiltdir = Environment.getExternalStorageDirectory().getAbsolutePath();
File file = new File(inBuiltDir, folderName);
if (!file.mkdirs()) {
Toast.makeText(this, "Directory is not created", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Folder Name" + folderName + "Created", Toast.LENGTH_SHORT).show();
}
return file;
}
} // Update code formatting
誰能幫助那什麼是錯在這是爲什麼目錄沒有被創建的代碼。
你必須寫在清單文件中聲明外部存儲權限? – Bhargav
是的,我有權限。我在清單文件中聲明.. – Heisenberg
代碼現在工作正常。剛剛實現了getExternalFilesDir()而不是getExternalStorageDirectory()。 – Heisenberg