[我对Android编程很新,所以请原谅我提出的问题)
我正在开发一个字典应用程序。此应用程序的一个功能是收藏夹按钮,允许用户保存喜欢的单词(短按)并查看喜欢的单词列表(长按)。
到目前为止,我已成功将单词保存到文本文件(myfav.txt)中。文本文件内容的格式如下(一行中的每个项目):
A
B
C
...
Z
但是,我在应用程序中加载和查看此文件时遇到问题。我正在考虑使用 ListView 来显示“myfav.txt”的内容,但我真的不知道该怎么做。我咨询过Qs&从这里的其他类似帖子,但结果发现自己更加困惑。
因此,我的问题是:
这是我的代码:
//Reading lines from myfav.txt
btnAddFavourite.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
File sdcard = Environment.getExternalStorageDirectory();
setContentView(R.layout.text_view);
//trying opening the myfav.txt
try{
File f = new File(sdcard,"myfolder/myfav.txt");
InputStream fileIS = new FileInputStream(f);
BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
String readString = new String();
while((readString = buf.readLine())!= null){
Log.d("Content: ", readString);
//How to code to load/view the content of "myfav.txt"
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
return false;
}
});
非常感谢你。
答案 0 :(得分:1)
您好,您可以找到有用的示例here。
答案 1 :(得分:1)
我认为使用ListView
不是一个好主意。如果您选择这种方式,则需要提供ListAdapter
。
我建议您使用TextView
(如果您不需要编辑文字)或EdiText
(如果您这样做)
答案 2 :(得分:0)
使用文件保存此类信息并不太复杂。我认为您应该查看有关使用SQLite的教程,因此您可以将这些单词存储在数据库中,并使用游标在ListViews中查看它们。您可以在模式中使用单独的布尔颜色来标记有利的单词,例如。
无论如何,如果你想坚持使用文件,一个解决方案就是:
答案 3 :(得分:0)
我正在使用以下内容写入文件 -
FileOutputStream fout = null;
try {
fout = openFileOutput(fileName, MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fout);
oos.writeObject(wordList); //writing arraylist<T>
oos.flush();
} catch(IOException e)
{
e.printStackTrace();
}
阅读 -
fin = openFileInput(fileName);
ObjectInputStream ois = new ObjectInputStream(fin);
list =(ArrayList<T>)ois.readObject(); //reading in arraylist directly