要点:

实现一个简单的备忘录功能。

能填写和点击保存,保存路径是

内部存储&&外部存储_输入流


内部存储&&外部存储_Text_02

  1. 代码:
  • 在activit_main.xml文件中定义一个按钮和可编辑文本框
  • 在MainActivity中写:
public class MainActivity extends AppCompatActivity {

byte[] buffer = null; //定义保存数据的数组

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText editText = (EditText) findViewById(R.id.editText);
Button btn_save = (Button) findViewById(R.id.btn_save);

btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
/*********保存填写的备忘信息*********/
FileOutputStream fos = null; // 声明文件输出流
String text = editText.getText().toString();//获取输入的备忘信息
try {
fos = openFileOutput("memo",MODE_PRIVATE);//获得文件输入刘对象
fos.write(text.getBytes()); //保存备忘信息
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(fos!=null){
try {
fos.close(); //关闭输出流
Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
});

/**********读取保存的备忘信息***********/
FileInputStream fis = null;
try {
fis = openFileInput("memo");//获得文件输入流对象
buffer = new byte[fis.available()]; //实例化字节数组
fis.read(buffer); //从输入流中读取数据
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fis!=null){
try {
fis.close();//关闭输入流对象
String data = new String(buffer);//吧字节数组中的数据转换为字符串
editText.setText(data);
} catch (IOException e) {
e.printStackTrace();
}
}

}

}
}

外部存储

只需要在内部存储的基础上修改两处,以及在安卓虚拟上设置这个APP的属性(Storage),允许其访问外存。

内部存储&&外部存储_输入流_03


内部存储&&外部存储_输入流_04

保存位置如下:

内部存储&&外部存储_输出流_05