package com.itheima74.test;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.EditText;
import android.widget.Toast;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class MainActivity extends AppCompatActivity {
private EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et = (EditText) findViewById(R.id.et);
// 回显用户上次输入的内容
String content = this.read();
if (!content.isEmpty()) {
et.setText(content);
et.setSelection(content.length());
Toast.makeText(this, "Restoring successed", Toast.LENGTH_SHORT).show();
}
}
/**
* 读取路径data/data/<packagename>/files/data文件中的内容并返回
*
* @return 读取到的内容
*/
private String read() {
StringBuilder sb = new StringBuilder();
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(openFileInput("data")));
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return sb.toString();
}
@Override
protected void onDestroy() {
super.onDestroy();
String content = et.getText().toString();
this.save(content);
}
/**
* 保存edittext文本框中用户输入的内容
*
* @param content 用户输入的内容
*/
private void save(String content) {
FileOutputStream fos = null;
try {
// 文件存放路径data/data/<packagename>/files/data
fos = openFileOutput("data", Context.MODE_PRIVATE);
fos.write(content.getBytes());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
转载请注明原文地址: https://ju.6miu.com/read-25301.html