Android中数据存储方式

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. sharedPreferences

类似于存储window下的配置文件(.ini),sharedPreferences中存储的信息都是以键值对的形式存储

键值

ffppp

用sharedPreferences存储信息只能是基础数据类型 如:

int/float/string/stringSet/Long/boolean

SharedPreferences生成的存储文件路径:(默认保存名字为当前Activity.xml)

data/data/包名/shared_prefs/Activity.xml

2. 利用SharedPreferred进行数据存储步骤:

向SharedPreferred中写入数据

1)获得SharedPreferences.Editor对象SharedPreferences.Editor editor =

getPreferences(MODE_PRIVATE).edit();

2)利用editor对象的putXX方法向editor中以键值对的形式存储信息(注意:存储基本数据类型数据)

editor.putString("键名", 值);

editor.putString("password",

password.getText().toString());

3)当editor信息存储完成后,提交,此时会在对应文件夹下生产.xml文件(用此种方式生产的xml文件名默认是

Activity.xml)

mit();-生成.xml文件

读取SharedPreferred中数据

1)获得SharedPreferred对象

SharedPreferences sp =

getPreferences(MODE_PRIVATE);

2)通过SharedPreferred的对象的getXX(“键名”,默认值)的方法可以取出存在.xml文件中的对应信息

sp.getString("username", "");

如果想自定义生产的xml文件名,可以

在获得SharedPreferences.Editor对象时利用如下方法:SharedPreferences.Editor editor =

getSharedPreferences("a",MODE_PRIVATE).edit();

此时存储的文件名为a.xml

对应着

在读取SharedPreferred中数据时,获得SharedPreferred对象利用

如下方法(a为存储文件名,0为文件操作模式)

SharedPreferences sp =

getSharedPreferences(“a”,0);

文件的操作模式

• Context.MODE_PRIVATE:默认模式,在那里创建的文

件只能由应用程序调用,即为私有的,值为0。

• Context.MODE_WORLD_READABLE:允许所有其他应用

程序有读取文件的权限,值为1 。

• Context.MODE_WORLD_WRITEABLE:允许所有其他应用

程序具有写入文件的权限,值为2。

Java数据流

输出流向硬盘里写数据 output-------

参照:电脑内存

输入流从硬盘里读出数据 input------

手机内存中写入/读取数据

写入:output….

// context.getFilesDir().getAbsolutePath()获取内存绝对

路径

File file=new

File(context.getFilesDir().getAbsolutePath()+"/"+FileName); //FileOutputStream 是字节流,处理起来麻烦,

openFileoutput方法中参数不能有“/”

FileOutputStream fileoutputstream=new

FileOutputStream(file);

//OutputStreamWriter就是把字节流转换成容易处理的字符流

OutputStreamWriter osw=new

OutputStreamWriter(fileoutputstream);

//写入数据

osw.write(fileContent);

//关闭

osw.close();

读取:input…

//打开一个文件私有输入流,openFileInput方法中不能有“/”FileInputStream

fileinputstream=this.context.openFileInput(FileName);

//把字节流转换成字符流

InputStreamReader isr=new

InputStreamReader(fileinputstream);

BufferedReader br=new BufferedReader(isr);

//可变长StringBuffer存储读出数据的

StringBuffer sb=new StringBuffer();

String data="";

while((data=br.readLine())!=null){

sb.append(data); }

SDCrad上文件存储

要加上权限

获取sd卡上创建删除文件的权限

android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"获得sdcard上读写数据的权限

android:name="android.permission.WRITE_EXTERNAL_STORAGE"

写入Sd卡

//FileWriter返回字符型数据

FileWriter fw = new FileWriter(file);

相关文档
最新文档