我的代码有问题,我需要从用户那里读取 EditText,然后将该文本放入另一个布局中并进行一些计算。我的问题是我不明白如何在 Android 中读取/写入数据。下面是读/写代码的 fragment 。
感谢您的帮助!
编辑:应该注意的是,所有这些都在我的 MainActivity 类中
public EditText editName;
public EditText editAMT;
public Button save;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editName = (EditText) findViewById(R.id.editName);
editAMT = (EditText) findViewById(R.id.editAMT);
save = (Button) findViewById(R.id.save);
File fName = new File(name);
File fAMT = new File(AMT);
//WRITING TO THE FILE
try{
FileOutputStream test = openFileOutput(name, Context.MODE_PRIVATE);
FileOutputStream test2 = openFileOutput(AMT, Context.MODE_PRIVATE);
test.write(editName.getText().toString().getBytes());
test2.write(editAMT.getText().toString().getBytes());
test.close();
test2.close();
} catch(Exception e){
e.printStackTrace();
}
//READING FROM THE FILE
try{
BufferedReader inputReader = new BufferedReader(new InputStreamReader(openFileInput(name)));
String inputString;
StringBuffer stringBuffer = new StringBuffer();
while ((inputString = inputReader.readLine()) != null){
stringBuffer.append(inputString + "\n");
}
} catch (IOException e){
e.printStackTrace();
}
}
编辑:这是我的行动计划。
1) 从名为 (eAMT) 的 EditText 获取信息。 2) 从名为(eName)的EditText获取信息。 3) 将eAMT 的信息放入名为eName.txt 的文件中。 4) 在另一个 Activity 中,搜索名为eName 的文件。 5) 搜索完成后,提取该文件的内容并显示到另一个 Activity (主 Activity )上。
最佳答案
不要写入文件,而是使用 Android 的 SharedPreferences
:
SharedPreferences preferences = getSharedPreferences("com.example.myapp", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("UniqueEditNameKey", editName.getText().toString);
从另一个 Activity 中,您可以执行以下操作来检索值:
SharedPreferences preferences = getSharedPreferences("com.example.myapp", MODE_PRIVATE);
String name = preferences.getString("UniqueEditNameKey", ""); // second argument is default value if key does not exist
关于java - Android 的写入和读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874850/