要点:
实现一个简单的备忘录功能。
能填写和点击保存,保存路径是
- 代码:
- 在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),允许其访问外存。
保存位置如下: