在Layout下建立xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="cn.edu.bzu.filedemo.MainActivity">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:drawableLeft="@mipmap/ic_launcher"
android:hint="input infos"
android:ems="10"
android:layout_centerHorizontal="true"
android:layout_marginTop="122dp"
android:id="@+id/etInfo" />
<Button
android:text="Ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/etInfo"
android:onClick="saveData"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:id="@+id/btnOk" />
</RelativeLayout>
建立相应的Activity
package cn.edu.bzu.filedemo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import cn.edu.bzu.filedemo.model.FileService;
public class MainActivity extends AppCompatActivity {
private EditText etInfo;
FileService fileService;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fileService=new FileService(this);
etInfo=(EditText) findViewById(R.id.etInfo);
restoreData();
}
public void saveData(View view){
fileService.save(etInfo.getText().toString());
}
private void restoreData() {
String content=fileService.read();
if(content!=null)
etInfo.setText(content);
}
}
建立一个名为model的包,在包中建立名为FileService的Java class
package cn.edu.bzu.filedemo.model;
import android.content.Context;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
/**
* Created by 25835 on 2017/4/4.
*/
public class FileService {
private Context context;
public FileService(Context context){
this.context=context;
}
public boolean save(String content){
FileOutputStream fos=null;
OutputStreamWriter osw=null;
BufferedWriter bw=null;
try {
fos=context.openFileOutput("data",Context.MODE_PRIVATE);
osw=new OutputStreamWriter(fos);
bw=new BufferedWriter(osw);
bw.write(content);
return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally {
try {
if (bw!=null)
bw.close();
if (osw!=null)
osw.close();
if (fos!=null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return false;
}
public String read() {
FileInputStream fis = null;
BufferedReader br = null;
String content = null;
try {
fis = context.openFileInput("data.txt");
br = new BufferedReader(new InputStreamReader(fis));
content = br.readLine();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)
br.close();
if (fis != null)
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return content;
}
}
ExampleinstrumentedTest文件
package cn.edu.bzu.filedemo;
import android.app.Instrumentation;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import cn.edu.bzu.filedemo.model.FileService;
import static org.junit.Assert.*;
/**
* Instrumentation test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() throws Exception {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("cn.edu.bzu.filedemo", appContext.getPackageName());
}
@Test
public void save(){
Context appContext = InstrumentationRegistry.getTargetContext();
FileService fileService=new FileService(appContext);
assertEquals(true,fileService.save("hello test"));
}
@Test
public void read(){
Context appContext = InstrumentationRegistry.getTargetContext();
FileService fileService=new FileService(appContext);
assertEquals("hello test",fileService.read());
}
}
存储结果,当打上hello testdemo后,点击返回,再次进去已将hello testdemo存储