安卓存储基本用法之SharedPreferences和内部外部存储
来源:互联网 发布:欧莱雅男士 知乎 编辑:程序博客网 时间:2024/04/30 09:58
SharedPreferences存储
1.创建sharedPreferences对象调用getSharedPreferences()函数
2.实例化SharedPreferences.Editor对象。
3.输入键值对
4.确认。
程序启动时,想要初始化数据,应重载onStart()函数。
代码:
保存
//为了方便,自成一函数public void savingSharedPreferences() {SharedPreferences preferences = getSharedPreferences("people",MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE);SharedPreferences.Editor editor = preferences.edit();editor.putString("name", "小强");editor.commit();}
获取
public void loadingSharedPreferences() {SharedPreferences preferences = getSharedPreferences("people",MODE_WORLD_READABLE);String msgString = preferences.getString("name", null);view.setText(msgString);}
内部存储
存:
1.创建FileOutStream 对象获取openFileOutput()函数
2.写入数据。
取
1.创建FileInStream对象获取openFileOutput()函数
2.定义一比特字节流byte[] reader=new byte[fis.available]
3.while(fis.read(reader))判断是否读取完毕,创建String对象来保存数据。
public void SavinginStore() {String string1 = "this is a test \n and is another";try {FileOutputStream fos = openFileOutput("people.txt",MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE);//注意权限,第二个参数、fos.write(string1.getBytes()); //需要将String变量转换为btye类型fos.flush();fos.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void loadinginStore() {try {FileInputStream fis = openFileInput("people.txt");byte[] reader = new byte[fis.available()];String msgString = null;while (fis.read(reader) != -1) {msgString = new String(reader);}view.setText(msgString);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
外部存储
外部存储跟内部存储差不多(个人觉得),只是在创建FileInStream和FileOutStream对象时有些不同,而且有时需要判断外部存储卡是否存在可写(还没有体会此好处)。
关键的是外部存储需要获取写入权限。在AndroidManifast.xml中申请。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
代码(FILENAME为一String变量,myData也是String变量)
public void savingoutStore() {try {FileOutputStream fos = new FileOutputStream(Environment.getExternalStorageDirectory() + "/" + FILENAME);fos.write(myData.getBytes());} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void loadingoutstore() {String msg = null;try {FileInputStream fis = new FileInputStream(Environment.getExternalStorageDirectory() + "/" + FILENAME);byte[] reader = new byte[fis.available()];while (fis.read(reader) != -1) {msg = new String(reader);}view.setText(msg);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
- 安卓存储基本用法之SharedPreferences和内部外部存储
- 安卓数据存储之SharedPreferences存储
- 安卓数据存储之SharedPreferences存储
- Android的五大存储方式:SharedPreferences、内部存储、外部存储、SQLite和网络存储
- 内部存储和外部存储
- 安卓内部存储之数据库存储
- 安卓存储基本用法之SQLite存储
- Android中的数据存储: SharedPreferences,内部存储,外部存储,数据库
- 数据存储(SharedPreferences)(内部存储及外部存储)
- 【安卓存储SharedPreferences】
- 安卓数据存储之sharedpreferences
- 【安卓】数据存储之SharedPreferences
- [安卓基础]数据存储之SharedPreferences
- 安卓开发之数据存储SharedPreferences
- 安卓的内部存储方式(二) SharedPreferences
- 最佳拍档之内部存储和外部存储(sdcard)
- 安卓内部存储
- 内部存储 外部存储
- [黑马程序员]--Java语言基础二
- 线程
- 生成模型与判别模型
- C++中explicit
- ubuntu 10.04启动到文本模式的设置
- 安卓存储基本用法之SharedPreferences和内部外部存储
- 6800&8080时序
- 《Cocos2d-x 关于控件的简单介绍》
- 字符串模式匹配——KMP算法
- 【云踪风物】杭州
- SQL injection
- Linux沙箱技术简介
- Java编程中“为了性能”需做的26件事
- Linux备份与压缩命令