J'ai un problème d'écriture sur la carte SD, voici le code: (Désolé pour la mise en page du code, il suffit de copier PASED il)L'autorisation d'écrire sur la carte SD Android
public class SaveAndReadManager {
private String result;
private String saveFileName = "eventlist_savefile";
public String writeToFile(ArrayList<Event> arrlEvents){
FileOutputStream fos = null;
ObjectOutputStream out = null;
try{
File root = Environment.getExternalStorageDirectory();
if(root.canWrite()){
fos = new FileOutputStream(saveFileName);
out = new ObjectOutputStream(fos);
out.writeObject(arrlEvents);
result = "File written";
out.close();
}else{
result = "file cant write";
}
}catch(IOException e){
e.printStackTrace();
result = "file not written";
}
return result;
}
public boolean readFromFile(){
return false;
}
}
Je n'ai pas implémenté readFromFile() pour le moment. Le problème est que root.canWrite() retourne false tout le temps. Voici le fichier manifeste:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".InfoScreen"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<activity android:name=".EventCalendar"
android:label="@string/app_name" />
<activity android:name=".MakeEvent"
android:label="@string/app_name" />
<activity android:name=".ViewEvent"
android:label="@string/app_name" />
</application>
<uses-sdk android:minSdkVersion="8" />
J'ai demandé la permission d'écrire, et sur mon AVD, si je vais aux paramètres -> Carte SD et stockage de téléphone, il me dit que j'ai 1 Go sur la carte SD pour écrire. S'il vous plaît aider.
Merci :)
Merci, cela a fonctionné parfaitement: D – lands