0
私は知っていますが、この質問は何千回も聞かれましたが、解決策は私のために働いていません... SDカードのファイルにデータを保存したいだけです。 しかし、最初に、ここに私のコードだ:もちろんAndroidスタジオ:外部ストレージに書き込めませんか?
private static final String TAG="Logmessage";
public void save(){
String state=Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state)){
File dir=new File(Environment.getExternalStorageDirectory() + "/NewFolder");
if(!dir.exists()){
if (dir.mkdirs()){
Log.i(TAG,"Dir made");
}else{
Log.i(TAG,"Error: Dir not made");
}
}else{
Log.i(TAG,"Dir already exists");
}
File file=new File(dir,"file.txt");
try {
BufferedWriter bWriter = new BufferedWriter(new FileWriter(file));
bWriter.write("Hello World!");
bWriter.close();
}catch (IOException e){
Log.e("Exception","BufferedWriter");
}
}else{
Log.i(TAG,"External Drive not available");
}
}
私は、マニフェストファイルに<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
を追加しましたが、私はアプリを実行すると、ログメッセージは、常に、次のとおりです。Logmessage: Dir not made
とException: BufferedWriter
。 マニフェストファイルのエントリは、ディレクトリを作成することさえできないため、「動作しませんでした」と思いますか?
Android> 5.0をターゲットに設定していますか?ストレージのアクセス許可が大幅に変更され、GoogleのAndroidデベロッパーサイトで読み上げられました。 – t0mm13b
それは問題でした!私はhttp://stackoverflow.com/questions/33162152/storage-permission-error-in-marshmallowでそれを探しました。 –