我看android开发入门与实战上是这样说的:
一个ContentProvider类实现了一组标准的方法接口,从而能够让其它应用保存或读取此contentprovider的各种数据类型,外界根本看不到也不用看到这个应用暴露出去的数据在应用中是如何来存储的,或者用数据库存储或者是文件存储从这段话理解,应该也可以让ContentProvider来封装SharePreferences的数据吧?
我是想在一个例子中,把各种知识点都用上,练一遍,故有此想法,但不知是否有方法可以通过已知的几个字符串来构建cursor这样一个对象
一个ContentProvider类实现了一组标准的方法接口,从而能够让其它应用保存或读取此contentprovider的各种数据类型,外界根本看不到也不用看到这个应用暴露出去的数据在应用中是如何来存储的,或者用数据库存储或者是文件存储从这段话理解,应该也可以让ContentProvider来封装SharePreferences的数据吧?
我是想在一个例子中,把各种知识点都用上,练一遍,故有此想法,但不知是否有方法可以通过已知的几个字符串来构建cursor这样一个对象
解决方案 »
- 有人知道os4.1中,如何判断是否变更了SD卡保护选项么?
- 谁给个完整的Android图片管理器例子
- 如何是运行的游戏暂停。
- android 通知声音的设置
- 若购真机测试的问题?
- 现在中国大概有多少人在研究android
- 代码调试时,布局不显示控件,什么原因呢?
- ANDROID STUDIO 怎么导入一个.SO的库?
- 求帮忙解决,我想进行页面跳转,在第一遍无返回值的跳转能够顺利完成,但是,加了一个有返回值的Activity之后程序一点击按钮就停止运行了,
- AndroidTV中使用RecyclerView布局长按遥控器导致网络请求问题
- 求号http://www.eoeandroid.com的帐号
- 在eclipse里引用android出错,怎么办?
.
.
.
}
public static class YourProviderColumns {
public static final String _ID = "_id";
public static final String GPSSETTING = "_gpssetting";
public static final String MAPSETTING = "_mapsetting";
}
MatrixCursor ret = new MatrixCursor(projection);
Object[] values = new Object[projection.length];
for (int i = 0, count = projection.length; i < count; i++) {
String column = projection[i];
if (YourProviderColumns._ID.equals(column)) {
values[i] = id;
}
else if (YourProviderColumns.GPSSETTING.equals(column)) {
values[i] = settings.getString(AppSetting.GPSSETTING, "");
}
else if (YourProviderColumns.MAPSETTING.equals(column)) {
values[i] = settings.getString(AppSetting.MAPSETTING, "");
}
}
ret.addRow(values);
return ret
你的方法确实可行。