总结在Android中,一共有数据存储的5种方式。今天做一个笔记的整理。关于以文件形式如何来保存数据。
1.在activity_main.xml设计好布局
2.在MainActivity.class获取用户输入的文件名和文件信息,保存文件。
1
2
3
4
5
6
7
8
9
10
11
|
public
class
MainActivity
extends
Activity {
private
Button saveBtn;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
saveBtn = (Button)findViewById(R.id.fileSaveBtn);
saveBtn.setOnClickListener(
new
saveFileListener());
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/**
* 如果这个类不需要被继承,加个final关键字来终结它。
*/
private
final
class
saveFileListener
implements
OnClickListener{
@Override
public
void
onClick(View v) {
EditText fileNameText = (EditText)findViewById(R.id.inputName);
EditText fileContentText = (EditText)findViewById(R.id.inputContext);
String fileName = fileNameText.getText().toString();
String fileContent = fileContentText.getText().toString();
FileService fileService =
new
FileService(getApplicationContext());
try
{
//保存到手机的内存上
fileService.saveFilePrivate(fileName,fileContent);
}
catch
(Throwable e) {
Toast.makeText(MainActivity.
this
, R.string.fail, Toast.LENGTH_LONG).show();
e.printStackTrace();
}
|
1
2
|
}
}
|
3.在业务层,FileSerivice处理如何保存文件内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
public
class
FileService {
private
Context context;
//生成构造器
public
FileService(Context context){
this
.context = context;
}
/**
* 保存文件信息
* @param fileName 文件名
* @param fileContent 文件内容
* @throws Throwable
*/
public
void
saveFilePrivate(String fileName,String fileContent)
throws
Exception{
//采用输出流对象,输出我们所需要的数据。
//指出需要导出的位置openFileOutput(只接受文件名称,不接受文件路径,
//用于指定文件的操作模式,行为【追加方式】,【覆盖形式】
//文件有一个访问权限的控制,针对拥有者,针对其他用户的访问权限
//私有操作模式:创建出来文件的只能被本应用访问,其他应用无法访问该文件。
// 其次私有模式创建出来的文件会覆盖原有的文件内容。
// 默认保存在,当前应用包所在的下的files文件夹下。
FileOutputStream outputStream = context.openFileOutput(lmfcast.txt,Context.MODE_PRIVATE);
//追加方式
//FileOutputStream outputStream = context.openFileOutput(lmfcast.txt,Context.MODE_APPEND);
write(fileContent, outputStream);
}
private
void
write(String fileContent, FileOutputStream outputStream)
throws
IOException {
outputStream.write(fileContent.getBytes());
outputStream.close();
}
}
|
4.源码运行截图:
学习总结:
1.文件保存方式,是采用java的IO流技术。
2.文件的访问模式,分为private和append。
3.文件操作行为分为:private,apend,read,write,read+write。