Android学习笔记——文件存储
来源:互联网 发布:od破解 e盾网络验证 编辑:程序博客网 时间:2024/05/22 05:19
Android学习笔记——文件存储
实现在编辑框输入信息,当destory该activity时,把用户输入的内容以文件形式储存起来,当再次打开该应用时,读取文件,之前输入过的内容就会重新显示出来 。
代码
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 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.yimispace.filepersistencetest.MainActivity" > <EditText android:id="@+id/edit" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Type something here" /></RelativeLayout>
MainActivity.java
package cn.yimispace.filepersistencetest;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.text.TextUtils;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText edit; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit = (EditText) findViewById(R.id.edit); String inputText = load(); if(!TextUtils.isEmpty(inputText)){ edit.setText(inputText); //将内容填充到编辑框内 edit.setSelection(inputText.length()); //将光标移动到文本末尾位置 Toast.makeText(this, "Restoring succeeded", Toast.LENGTH_SHORT).show(); } } /** * 加载已存储的文件内容 * @return */ public String load(){ FileInputStream in = null; BufferedReader reader = null; StringBuilder content = new StringBuilder(); try { in = openFileInput("data"); //打开名为"data"的文件夹 reader = new BufferedReader(new InputStreamReader(in)); String line = ""; while((line = reader.readLine()) != null){ content.append(line); } } catch(IOException e){ e.printStackTrace(); } finally { if(reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return content.toString(); } @Override protected void onDestroy() { super.onDestroy(); String inputText = edit.getText().toString(); save(inputText); //销毁前对输入编辑框的数据inputText进行保存 } /** * 文件存储 * @param inputText */ public void save(String inputText) { FileOutputStream out = null; BufferedWriter writer = null; try { /** * openFileOutput * 第一个参数:要用于存储的文件名 * 第二个参数:文件的操作模式, * MODE_PRIVATE表示若已有同名文件则覆盖原文件内容; * MODE_APPEND表示若已有同名文件则在文件内追加内容。 * 若无同名文件则会新建此文件。 */ out = openFileOutput("data", Context.MODE_PRIVATE); writer = new BufferedWriter(new OutputStreamWriter(out)); writer.write(inputText); //把编辑框内容写入文件"data"中 } catch(IOException e){ e.printStackTrace(); } finally { try { if(writer!=null){ writer.close(); } } catch(IOException e) { e.printStackTrace(); } } }}
效果图
编辑框输入界面
输入数据退出应用后,在DDMS里/data/data/[packagename]/files/目录下寻找生成的”data”文件
你可以导出文件并用记事本查看内容
当再次打开该应用时,之前输入过的内容就会重新显示出来
1 0
- Android学习笔记——文件存储
- 数据存储之文件存储——第一行代码Android学习笔记
- Android学习笔记032之数据存储—文件存储读取
- Android学习笔记三十二之数据存储—文件存储读取
- Android笔记——文件存储
- Android学习笔记--文件存储数据
- android学习笔记五—android的存储2 文件的读取与写入
- Android学习笔记——SharedPreferences存储
- Android学习笔记——数据存储
- Android学习14——数据存储之文件存储
- River的Android的学习笔记——数据持久化技术(文件存储)
- Android学习笔记(4)——登陆界面模拟及存储文件到内存
- Android文件存储学习
- Android 文件存储学习
- 《Android面试宝典》学习笔记(第五章:文件存储)
- android 学习笔记 数据存储到文件中
- [Android新手学习笔记33]-Storage-文件存储
- Android基础学习笔记---流文件存储(一)
- hdu 1241 Oil Deposits DFS
- mkhl后台开发实例
- php面向对象_get(),_set()的用法
- java常用的数字证书
- sql 系统时间问题
- Android学习笔记——文件存储
- 刷题总结#3
- 集合框架
- 20170403_Linux视频学习1——Linux系统的基本命令
- React学习之相关代码库(三十六)
- npm init 之package.json
- getMeasuredHeight()与getHeight
- 让一个类只能在对上创建对象或者只能在栈上实例化
- 数组中sizeof与strlen的区别