安卓内不保存数据的机制
核心代码段:
public class MainActivity extends Activity {
private EditText editText;
private Button btn;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.save);
editText = (EditText)findViewById(R.id.edit);
//读取上次保存的文件
readSaveText();
//保存数据的事件
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveCurrentText();
}
});
}
private void saveCurrentText() {
try {
OutputStream os = openFileOutput("data",MODE_PRIVATE);
os.write(editText.getText().toString().getBytes());
os.flush();
os.close();
//给用户一个反馈
Toast.makeText(this, "保存成功", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
Toast.makeText(this, "保存失败", Toast.LENGTH_SHORT).show();
}
private void readSaveText() {
try {
InputStream is = openFileInput("data");
byte[] bytes = new byte[is.available()];
is.read(bytes);
is.close();
String text = new String(bytes,"utf-8");
editText.setText(text);
} catch (Exception e) {
e.printStackTrace();
}
}
当点击确定按钮之后用于数据保存