我是新的Android開發與Eclipse,我很難搞清楚如何配置我的應用程序,以便它能夠讀/寫文本到虛擬SD卡。SD卡沒有安裝(在eclipse中的Android應用程序開發)
我已經做了很多google'ing,並找到了點點滴滴,但我仍然覺得我失去了一些使它不起作用的東西。
在我的表現我已經包括:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" \>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" \>
這裏是我的代碼:
String state=Environment.getExternalStorageState();
if(!state.equals(Environment.MEDIA_MOUNTED))
data.setText("SD card not mounted");
else
{
File externalDir=Environment.getExternalStorageDirectory();
File textFile=new File(externalDir.getAbsolutePath()+File.separator+"text.txt");
try
{
writeTextFile(textFile, "this is a test\n LINE BREAK");
String text=readTextFile(textFile);
data.setText(text);
if(!textFile.delete())
data.setText("couldn't remove temporary dir");
}
catch(Exception e)
{
data.setText(e.getMessage());
}
}
private void writeTextFile(File file, String text) throws IOException
{
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(text);
writer.close();
}
private String readTextFile(File file) throws IOException
{
BufferedReader reader = new BufferedReader(new FileReader(file));
StringBuilder text=new StringBuilder();
String line;
while((line=reader.readLine())!=null)
{
text.append(line);
text.append("\n");
}
reader.close();
return text.toString();
}
我有一個按鈕,點擊功能代碼的第一部分,而「數據」變量用於editText視圖。 每次我運行它,然後單擊按鈕,我得到結果「SD卡未安裝」。
我知道我錯過了某個地方的重要步驟,以使其正常運行。任何人都可以幫我解決問題嗎? 謝謝!
你說「虛擬SD卡」,所以我假設這是與模擬器,而不是一個真正的設備?你已經配置了模擬器的AVD來使用虛擬SD卡? – Squonk
在這一點上,我覺得真的很愚蠢。是的,我正在使用模擬器。 我剛剛意識到我必須編輯AVD才能使用虛擬SD卡。我在閱讀指示時非常難以理解。那麼它現在正在工作。 謝謝反正! – shane
哈哈,沒問題。一年多前,我從來沒有使用eclipse,模擬器或爲Android編程。這是一個艱難的學習曲線,我們都必須從某個地方開始。一個技巧 - 指定一個小的(ish)SD卡大小(剛夠你需要的)。如果您指定1GB(例如),則仿真器將在開發機器上佔用大量內存。 – Squonk