好的,我的应用程序中有2个活动,可以做一些事情。 在启动第二个Intent之前的mainActivity中,我想为我的应用程序创建必要的文件夹以使其正常工作。
所以,到目前为止我的代码看起来像这样: 在主要活动中,我使用此代码在SD卡上创建我的文件夹,然后开始新的意图:
//点击按钮
createWholePath(spinner1.getSelectedItem().toString(),"test");
//和函数
public static boolean createWholePath(String mainfolder, String subfolder){
boolean ret= true;
File wallpaperDirectory = new File(Environment.getExternalStorageDirectory()+"/"+mainfolder+"/"+subfolder);
wallpaperDirectory.mkdirs();
return ret;
}
在AndroidManifest中,我添加了以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
现在我希望在点击按钮后看到(在设备的SD卡上)创建了一个文件夹 但它不会发生...... 可能有什么不对? 为什么不出现文件夹?
我用于调试真实设备*(Samsung Galaxy Note 2)
谢谢
更新 所以我的问题是一个更大的项目的一部分,显然在其他地方出了问题。我决定创建一个新的空项目来测试我的代码,是的,它在我的原始项目之外工作正常。我会进一步调查。我会给那个测试我的代码并且说它有效的人奖励答案
谢谢大家。
答案 0 :(得分:0)
你确定它不起作用吗?您的代码对我有效(在我用一个常量字符串替换了微调器值之后)。也许正在创建目录,而不是您期望的目录。您可以使用如下行来查看目录的创建位置:
Log.v(TAG, "wallpaperDirectory=" + wallpaperDirectory.getAbsolutePath());
答案 1 :(得分:0)
试试这可能是你的方法没有调整微调项目选择
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
try{
Object item = parent.getItemAtPosition(pos);
createWholePath(item.toString(),"test");
}catch(Exception e){}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
答案 2 :(得分:0)
File wallpaperDirectory = new File(Environment.getExternalStorageDirectory(),mainfolder+"/"+subfolder);
if (!wallpaperDirectory.exists()) {
wallpaperDirectory.mkdirs();
}
and put these permission to manifiest :-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />