存储方式:SharedPreferences、sqlite、文件存储、网络存储
SharedPreferences:
通过NVP(键值对)方式存储在android文件系统中,可以在不同的应用程序之间进行数据共享
支持的模式:私有MODE_PRIVATE/全局读MODE_WORLD_READABLE/全局写MODE_WORLD_WRITEABLE
声明读写:MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE
通过名字来区分位置[若NVP中的name相同,保存到相同的文件中]
*声明对象方法getSharedPreferences(String sharedName, int mode)
SharedPreferences.Editor 类完成数据的修改;
通过SharedPreferences的edit()方法来获取Editor对象,在修改结束后使用方法commit()方法保存修改;
通过Editor对象的put方法进行数据添加存储,SharedPreferences支持基本数据类型;
通过SharedPreferences对象的get方法来获取数据;
需要提供给另个一app使用,在获取SharedPreferences之前,需要获取提供数据的app的Context,使用Activity
的createPackageContext(String appName, int security)方法创建包环境Context,参数appName为包名,
SharedPreferences在获取数据时,通过包名识别文件;
*getString("name", "default name")读取数据
默认保存的为xml文件
*文件保存在/data/data/<package name>/shared_prefs目录下
文件存储:
默认存放于/data/data/<package name>/files目录当中;
openFileOutput(String fileName, int mode)打开文件输出流,若文件不存在,则创建一个文件;
openFileInput(String fileName)
可以使用java api来对文件进行操作;
文件操作模式:MODE_PARIVATE/MODE_APPEND/MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE
sd卡存储:
在运行时配置中的target选项卡,中配置sdcard路径【-sdcard 路径】
IO操作:使用[绝对目录+文件名]进行操作
命令行方法:adb push[pull] mnt/sdcard 分隔符‘/’
在sdcard中进行文件操作的时候路径使用 "sdcard/"
操作sdcard中的文件需要在manifest文件中进行权限设置
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
设置完成权限后,使用java api进行操作;
资源文件:
res/raw 目录下存放音频、视频、图片等资源
res/xml 在打包时编译成二进制文件
读取res/raw目录下的资源:
读取getResource()方法获取资源对象,再调用openRawResuource()方法,以二进制流的形式打开指定的原始格式文件;
读取res/xml目录下的xml文件:
调用getXml()方法,获取xml解析器,XmlPullParser读取xml文件
写入xml文件使用XmlSerializer写xml文件
sqlite:
输入sqlite3可以启动sqlite3工具,并获得工具的版本信息;
输入adb shell可以进入shell命令;
保存在/data/data/<package name>/databases目录下
.tables命令显示当前数据库中的所有表
.schema 表名 命令查看表情况
mode 命令支持常见到恶column格式
.database 命令显示数据库名称和文件位置
SQLiteDatabase用以建立、删除数据库,执行sql命令,对数据进行管理等工作;
SQLiteOpenHelper可以辅助建立、更新、打开数据库;
SQLiteOpenHelper的getWritableDatabase()和getReadableDatabase()方法获取数据库类SQLiteDatabase;
记事本程序:
android学习笔记6
最新推荐文章于 2024-01-19 16:22:18 发布