在sdcard中存储文件时没有安装的SD卡

时间:2011-04-05 14:57:37

标签: android file-io

我在/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);
              }
          }
      }
    }

}

我该如何解决这个问题? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

你真的在模拟器中定义了一张SD卡吗?您需要在AVD管理器应用程序中创建AVD时定义它(但您可以修改现有的AVD并稍后添加SD卡)。

在unix上,您可以通过

启动AVD管理器
$ android 

鉴于android-sdk / tools文件夹位于您的路径中。

另请参阅http://developer.android.com/guide/developing/devices/index.html