我在/data/data<package name>/files/settings.dat
中有一个文件,并希望在sdcard中存储/复制此文件,该文件已被很好地处理,但在尝试将其复制到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);
}
}
}
}
}
我该如何解决这个问题? 谢谢你的帮助。
答案 0 :(得分:1)
你真的在模拟器中定义了一张SD卡吗?您需要在AVD管理器应用程序中创建AVD时定义它(但您可以修改现有的AVD并稍后添加SD卡)。
在unix上,您可以通过
启动AVD管理器$ android
鉴于android-sdk / tools文件夹位于您的路径中。
另请参阅http://developer.android.com/guide/developing/devices/index.html。