您的位置:首页 > 移动开发 > Android开发

android 文件存储

2016-07-27 15:38 423 查看
在布局中加入一个EditText,用于输入文本内容。该代码实现对数据的保存,即输入的文本,再应用关闭后的下一次打开时依旧存在。

.java文件:

public class MainActivity extends AppCompatActivity {
private EditText editText;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText=(EditText)findViewById(R.id.edit);
String inputText=load();
if(!TextUtils.isEmpty(inputText)){
editText.setText(inputText);
editText.setSelection(inputText.length());   //将输入光标移动到文本的末尾位置以便于继续输入。
Toast.makeText(this,"Restoring succeeded",Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onDestroy(){
super.onDestroy();
String inputText = editText.getText().toString();
save(inputText);
}
public void save(String inputText){
FileOutputStream out=null;
BufferedWriter writer=null;
try {
out=openFileOutput("date1", Context.MODE_PRIVATE);
writer=new BufferedWriter(new OutputStreamWriter(out));
writer.write(inputText);
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(writer!=null){
writer.close();
}
}catch (IOException e){
e.printStackTrace();
}
}
}

public String load(){
FileInputStream in=null;
BufferedReader reader=null;
StringBuilder content=new StringBuilder();
try{
in=openFileInput("date1");
reader=new BufferedReader(new InputStreamReader(in));
String line="";
while ((line=reader.readLine())!=null){
content.append(line);
}
}catch (IOException e){
e.printStackTrace();}finally {
if(reader!=null){
try{
reader.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return content.toString();
}

结果展示:

图一为打开应用,输入文本,然后关闭应用。                  图2为打开应用,即获得上次输入的文本内容,并弹出提示框。
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息