代码
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent" >
- <EditText
- android:id="@+id/edit"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="Type something here" />
- </LinearLayout>
- package cn.edu.bzu.filepersistencetest;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import android.os.Bundle;
- import android.os.Environment;
- import android.app.Activity;
- import android.content.Context;
- import android.text.TextUtils;
- import android.view.Menu;
- import android.widget.EditText;
- import android.widget.Toast;
- public class MainActivity extends Activity
- {
- private EditText edit;
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- edit = (EditText) findViewById(R.id.edit);
- /*String inputText =load();
- if(!TextUtils.isEmpty(inputText)){
- edit.setText(inputText);
- edit.setSelection(inputText.length());
- Toast.makeText(this, "Restoring succeeded", Toast.LENGTH_SHORT).show();
- }*/
- }
- public void saveToSDcard(String filename,String filecotent)throws Exception{
- if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
- File file=new File(Environment.getExternalStorageDirectory(),filename);
- FileOutputStream outputStream=new FileOutputStream(file);
- outputStream.write(filecotent.getBytes());
- outputStream.close();
- Toast.makeText(getApplicationContext(), R.string.success, 1).show();
- }else{
- Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show();
- }
- }
- protected void onDestroy()
- {
- super.onDestroy();
- String inputText = edit.getText().toString();
- save(inputText);
- }
- public void save(String inputText)
- {
- FileOutputStream out = null;
- BufferedWriter writer = null;
- try
- {
- out = openFileOutput("data", 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("data");
- reader=new BufferedReader(new InputStreamReader(in));
- String line="";
- while((line=reader.readLine()) !=null){
- content.append(line);
- }
- } catch (IOException e) {
- e.printStackTrace();
- // TODO: handle exception
- }finally{
- if(reader!=null){
- try{
- reader.close();
- }catch(IOException e){
- e.printStackTrace();
- }
- }
- }
- return content.toString();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu)
- {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }