Android中数据存储方式一:文件形式

总结在Android中,一共有数据存储的5种方式。今天做一个笔记的整理。关于以文件形式如何来保存数据。

1.在activity_main.xml设计好布局

<LinearLayout xmlns:android=""xmlns:tools=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><TextViewandroid:id="@+id/textName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="文件名称"/><EditTextandroid:id="@+id/inputName"android:layout_width="match_parent"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/fileContextName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="文件内容"/><EditTextandroid:id="@+id/inputContext"android:layout_width="match_parent"android:layout_height="wrap_content"android:maxLines="5" /><Buttonandroid:id="@+id/fileSaveBtn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="保存"/></LinearLayout>

2.在MainActivity.class获取用户输入的文件名和文件信息,保存文件。

public class MainActivity extends Activity { private Button saveBtn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);saveBtn = (Button)findViewById(R.id.fileSaveBtn);saveBtn.setOnClickListener(new saveFileListener());}} /*** 如果这个类不需要被继承,加个final关键字来终结它。*/private final class saveFileListener implements OnClickListener{@Overridepublic 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();}}}

3.在业务层,FileSerivice处理如何保存文件内容。

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。

都属于昨天。哪怕那山再青,那水再秀,

Android中数据存储方式一:文件形式

相关文章:

你感兴趣的文章:

标签云: