一,使用SharedPreferences
有些时候,应用程序有少量的数据需要保存,而且这些数据的格式很简单,都是普通的字符串或基本数据类型等,比如说用户的偏好设置,记住密码等,对于这种数据,可以用SharedPreferences进行保存。
1,SharedPreferences的基本操作
//----------------------查找---------------------------------- //获取只能被本应用读、写的SharedPreference对象,默认寻找在 //该应用目录下/data/data/app.package.name/shared_prefs目录下的login.xml文件 SharedPreferences sp = getSharedPreferences("login", MODE_PRIVATE); //在loing.xml中查找key是password的值。 String oldpass = sp.getString("password", ""); //----------------------保存---------------------------------- SharedPreferences sp = getSharedPreferences("login", MODE_PRIVATE); //获取SharedPreferences的编辑器 SharedPreferences.Editor ed = sp.edit(); ed.putString("password", etpass.getText().toString()); // 当Editor编辑完成后,提交修改。 ed.commit(); //----------------------删除---------------------------------- editor.clear(); //清空SharedPreference里的所有数据 editor.remove(String key) //删除SharedPreference里指定key的数据项
login.xml的内容:
2,如果想访问其他应用程序中的sharedpreferences.xml
1) 设置SharedPreference的权限:MODE_WORLD_READABLE 其他应用程序可读
2) 假设其中OtherApp中的包名:com.lydia.app ,获取该应用的Context对象
Context other = createPackageContext("com.lydia.sp", Context.CONTEXT_IGNORE_SECURITY); SharedPreferences sp = other.getSharedPreferences("otherXML", Context.MODE_WORLD_READABLE); String ss = sp.getString(key);
二,File存储
1,openFileOutput和openFileInput
getDir(String name,int mode): 在应用程序的数据文件夹下获取或创建name对应的子目录
File getFilesDir():获取对应应用程序的数据文件夹的绝对路径。 /data/data/com.package/files
String[] fileList():返回该应用程序的数据文件夹下的全部文件。
deleteFile(String) 删除该应用程序的数据文件夹下的指定文件
//----------读-------------------------------------------- // 打开对应程序的数据文件夹下的文件 // /data/data/com.lydia.testfile/files/tarena.dat InputStream is = openFileInput("tarena.dat"); byte[] buff = new byte[1024]; int b = -1; StringBuffer sb = new StringBuffer(""); while ((b = is.read(buff)) != -1) { sb.append(new String(buff, 0, b)); } etread.setText(sb.toString()); System.out.println(getDir("myDir", Context.MODE_APPEND)); System.out.println(getFilesDir());// /data/data/com.example.bbb/myDir // 其中myDir是自己创建的目录 System.out.println(Arrays.toString(fileList()));// /data/data/com.example.bbb/files // 其中files是系统创建的目录 deleteFile("tarena.dat");//删除 //----------------写-------------------------------------- // 打开输出流 OutputStream os = openFileOutput("tarena.dat", Context.MODE_APPEND); PrintWriter pw = new PrintWriter(os); pw.println(etwrite.getText().toString()); pw.close();
2,访问SD上的文件
步骤如下:
1)加入权限
<!-- 在SD中创建与删除文件的权限 --> <uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS"/> <!-- 在SD中写入数据的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
2)编写代码是要判断SD卡是否挂载
if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)){}
3)文件操作
File sdCardDir = Environment.getExternalStorageDirectory(); File targetFile = new File(sdCardDir.getPath()+ "/my.dat");
相关推荐
Android数据存储——SharedPreferences实现登入记住密码功能。
安卓Android源码——SharedPreferences.rar
NULL 博文链接:https://zhujianjia.iteye.com/blog/1042048
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 2 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
程序代码 博文链接:https://prettyboy434.iteye.com/blog/724088
嵌入式Android项目设计与开发 第六章 数据存储 ——SharedPreferences 1 SharedPreferences 键值对概念: 某一个数据都由一个键和一个值构成,键代表数据的名称,它是全局唯一的。具体的数据内容存放在值中。 键值对...
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
Android数据存储之SharedPreferences,自己根据文档编写的代码,有需要的就下载吧。
Jetpack DataStore 是一种改进的新数据存储解决方案,允许使用协议缓冲区存储键值对或类型化对 象。 DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore ...
我以前以为数组适配器是功能很小,现在我发现了数组适配器能动态添加数据,这是一个不错的选择
Android项目开发中使用的数据存储方式有:网络存储、sqlite存储、File存储和SharedPreferences存储,四种存储方式对应的Demo别人是NetworkDemo、SqliteDemo、FileDemo和SharedPreferencesDemo,根据应用的场景选择...
第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-1 第8章 移动信息仓库——Android的数据存储操作之轻轻地我保护——SharedPreferences存储-2 第9章 我来“广播”你的“意图”...
申明人(签名): 实验报告评语与评分: 评阅老师签名: 一、实验名称:Android数据存储与IO 二、实验日期:2014/11/13 三、实验目的: 1、掌握SharedPreferences的存储数据的格式及位置,能够读写其他应用程序的...
在使用SharedPreferences进行进程数据共享时,我们发现,有些虽然过时了,但是实际上还是可以用的。 只是Google不建议大家这么干了。所以这篇文章只是一个介绍实现,科普。 ...
Android自学笔记-8-Android数据存储1:文件、SharedPreferences和获取sd卡信息
安卓学习——从SharedPreferences中读取数据的实例
1.掌握SharedPreferences的使用方法; 2.掌握各种文件存储的区别与适用情况; 3.了解SQLite数据库的特点和体系结构; 4.掌握SQLite数据库的建立和操作方法; 5.理解ContentProvider的用途和原理; 6.掌握...
Android使用SharedPreferences和SQLite数据库实现数据存储
因此,我们来学习一下Android的另外一种存储方式,SharedPreferences存储,它是一种数据持久化的方式,它比文件存储更加简单易用。 将数据存储到SharedPreferences中 不同于文件存储的方式,SharedPreferences是使用...
Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是: 1、文件存储 2、SharedPreference 存储 3、数据库存储。SharedPreferences 是使用键值对的方式来存储数据的,使用 SharedPreferences来进行数据...