У меня есть файл в /data/data<package name>/files/settings.dat
и вы хотите сохранить/скопировать этот файл на SD-карте, файл хорошо читается, но при попытке скопировать его на SD-карту у меня есть исключение: sdacrd не монтируется.
Я добавил правильную строку в androidmanifest.xml и добавил виртуальную SD-карту в эмулятор. -sdcard /Users/Alaeddine/Documents/workspace/android_sdcard
Код:
public void transfer(){
File sdCard = Environment.getExternalStorageDirectory();
if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
Log.d("Carburant", "Sdcard was not mounted !!" );
}
else
{
File nmea_file;
File root = Environment.getExternalStorageDirectory();
FileWriter nmea_writer = null;
try {
nmea_file = new File(root,"settings.dat");
if(!nmea_file.exists()) {
Log.w("Carburant", "File Doesn't Exists!");
nmea_file.createNewFile();
}
copyfile(nom,sdCard.getAbsolutePath() + nmea_file);
}
catch (IOException e)
{
Log.w("Carburant", "Unable to write", e);
}
finally
{
if (nmea_writer != null)
{
try
{
nmea_writer.close();
}
catch (IOException e)
{
Log.w("Carburant", "Exception closing file", e);
}
}
}
}
}
Как я могу решить эту проблему? Благодарим вас за помощь.
Фактически вы определили SD-карту в эмуляторе? Вы должны определить его при создании AVD в приложении менеджера AVD (но вы можете изменить существующий AVD и добавить SD-карту позже).
В unix вы можете запустить AVD-менеджер с помощью
$ android
учитывая, что папка android-sdk/tools находится на вашем пути.
См. также http://developer.android.com/guide/developing/devices/index.html для этого.
android
чтобы отобразить список виртуальных устройств и проверить, есть ли на устройстве определенная sdcard. Можно создавать устройства без (или с размером 0).