Android 我正在制作一个简单的待办事项列表应用程序。我可以将数据保存到文件中,但当我关闭应用程序并重新打开时,我丢失了数据
我正在制作一个简单的待办事项列表应用程序。我可以将数据保存到文件中,但当我关闭应用程序并重新打开时,我丢失了数据。我正在将数据存储在文件中,当应用程序关闭并重新打开时,我无法检索数据Android 我正在制作一个简单的待办事项列表应用程序。我可以将数据保存到文件中,但当我关闭应用程序并重新打开时,我丢失了数据,android,Android,我正在制作一个简单的待办事项列表应用程序。我可以将数据保存到文件中,但当我关闭应用程序并重新打开时,我丢失了数据。我正在将数据存储在文件中,当应用程序关闭并重新打开时,我无法检索数据 public class MainActivity extends AppCompatActivity { EditText toDo; ListView listView; Button addButton; ArrayList<String> item; Ar
public class MainActivity extends AppCompatActivity {
EditText toDo;
ListView listView;
Button addButton;
ArrayList<String> item;
ArrayAdapter<String> arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
readItems();
toDo = (EditText) findViewById(R.id.editText);
addButton = (Button) findViewById(R.id.addButton);
listView = (ListView) findViewById(R.id.listView);
item = new ArrayList<String>();
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, item);
listView.setAdapter(arrayAdapter);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String result = toDo.getText().toString();
arrayAdapter.add(result);
toDo.setText(" ");
writeItems();
}
});
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
item.remove(position);
arrayAdapter.notifyDataSetChanged();
writeItems();
return true;
}
});
}
private void readItems() {
File filesDir = getFilesDir();
File todoFile = new File(filesDir, "todo.txt");
int read = -1;
try {
FileInputStream inputStream = new FileInputStream(todoFile);
while ((read = inputStream.read()) != -1) {
//arrayAdapter.add(String.valueOf((char)read));
Log.d("TAG", " " + read);
}
item = new ArrayList<String>(FileUtils.readLines(todoFile));
} catch (IOException e) {
item = new ArrayList<String>();
}
}
private void writeItems() {
File filesDir = getFilesDir();
File todoFile = new File(filesDir, "todo.txt");
try {`enter code here`
FileUtils.writeLines(todoFile, item);
} catch (IOException e) {
e.printStackTrace();
}
}
}
在writeItems方法中
File todoFile = new File(filesDir, "todo.txt");
FileUtils.writeLines(todoFile, item);
创建新文件或通过删除所有内容覆盖现有文件
您应该使用FileWriter类,它为您提供了在现有文件中追加数据的选项请尝试以下代码,它使用FileWriter类
try{
String line = "your string content";
File file =new File("todo-list.txt");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
}
//true = append file
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(line);
bufferWritter.close();
System.out.println("Done");
}catch(IOException e){
e.printStackTrace();
}
代码来自此网站。当我关闭应用程序并重新打开时,它仍不能像sson一样工作。我看不到mt DATAOOHKK。。刚才看到。。。。。在readitems方法中,使用bufferedreader读取文件。。通过使用其readline方法