学习笔记 第7章 数据存储与访问

7.1简单存储

SharedPreferences支持3章访问模式

私有:MODE_PRIVATE

全局读:MODE_WORLD_READABLE 其他程序有读的权限

全局写:MODE_WORLD_WIRTEABLE

读取数据: 获得首选项getSharedPreferences()对象,获取数据 对象.getString...

写数据:获得首选项对象 使用对象.edit().putString()...

对象.edit().commit();

 

7.2文件存储

写文件使用openFileOutPut()

读文件用openFileInPut()

FileOutPutStream openFileOutput(String name, int mode);

第一个参数为文件名,第二个为模式。

第一个参数不能修改路径,及不包含/符号。

模式:MODE_PRIVATE 私有模式只能被文件创建的程序访问

MODE_APPEND: 追加模式

MODE_WORLDREADLE     MODE_WORLDWRITEABLE

 

7.2.2外部存储

首先在配置文件中添加android.permission.WRITE_EXTERNAL_STORAGE

调用getExternalStorageState()来检测SD卡是否正确挂载

然后使用createNewFile创建文件。

7.2.3资源文件

res/anim   xml文件编译为帧序列动画或者自动动画对象

res/xml   自定义的xml文件使用Resources.getXML()方法可以在运行时获取

res/raw  自定义的原始格式资源,直接复制给设备

读取txt文件

getResource().openRawResource(id)

打开xml

XmlPullParser parser = getResources().getXml(id);

getName getAttributeName getAttributeCount getAttributeValue

7.3数据库存储

使用 sqliteopenHelper调用getWirtableDatabase()来创建sqldatabase对象

修改使用getReadableDatabase()

插入数据使用

ContentValues对象

put()函数

db.insert

 

删除数据

db.delete

 

更新数据

使用ContentValues对象

调用db.update函数


查询数据

1.使用db.query()来获得cursor对象 参数吻别为表名称, 返回的属性列名称, 查询条件, 如果在查询条件中使用问好,需要定义替换付的具体内容, 分组方式, 定义组的过滤器,排列方式

2.使用cursor类的get<type>方法获取具体内容 (需要使用getCount()和moveToFirst进行检测)


7.4数据共享

程序通过getContentResolver()获取ContentResolver对象,调用query等函数实现数据共享。
参数Uri是通用资源标示符
语法
content://<authority>/<data_path>/<id>

content:://  通用前缀,表示Uri位于ContentProvider定位资源 无需修改
<authority> 是授权者名称,确定由哪一个ContentProvider提供资源 一般有包名 + 类名小写组成
<data_path> 数据路径,如果ContentProvider只有一个数据集可以省略 如果多个需要指定
<id> 指定后获取数据集中指定id的数据  不指定 返回全部

自定义ContentProvider类,在其中生成需要共享的数据,并设置其查询 添加等方法
需要注意要在配置文件中设置 android:name = 类名
android:authorities = 独一无二的 属性
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值