- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
日记本详解
8.5.3? 使用ContentProvider操作数据日记本实例(1)
在上一个例子当中学习了ContentProvider,并且使用了系统中的一个联系人的ContentProvider,在本节当中,我们仍然实现类似第8章所讲的日记本的例子,只不过这次我们用ContentProvider实现,而不是直接用数据库实现。这样外界的程序就可以访问得到日记本这个应用数据。通过这个例子可以学到。
如何实现一个ContentProvider。
理解UriMatcher的含义。
onPrepareOptionsMenu方法介绍。
具体实现步骤如下所示。
1.第一步
在Eclipse中打开ex09_2_contentProvider项目,具体操作步骤如下。
(1)新建一个项目,依次单击 File → New → Android Project项。
(2)在新建项目的对话框中,选择Create project from existing source项。
(3)单击浏览项,找到ex09_2_contentProvider项目,然后单击确定。
程序的目录结构如图8-31所示。
2.第二步
首先运行这个项目,将会看到如图8-32所示界面。
? (点击查看大图)图8-31? 程序的目录结构
? (点击查看大图)图8-32? 未添加任何数据的主界面 ?xml?version=1.0?encoding=utf-8? ?
LinearLayout?xmlns:Android=http://schemas.A/apk/res/Android?
Android:layout_width=wrap_content?
Android:layout_height=wrap_content ?
?
ListView?Android:id=@+id/Android:list?
Android:layout_width=wrap_content?
Android:layout_height=wrap_content?/ ?
TextView?Android:id=@+id/Android:empty?
Android:layout_width=wrap_content?
Android:layout_height=wrap_content?Android:text=您还没有开始写日记呢!单击下边的Menu按钮开始写日记吧:)?/ ?
/LinearLayout?
代码解释:
其中ListView的id我们必须定义成Android:id=@+id/Android:list,这样系统才可以在List Activity里引用的到。
3.第三步
和第8章的前一个日记本例子一样,日记本的数据还是存储在SQLite数据库中,但是不一样的是,在这个例子里,执行增、删、改、查操作时不是直接访问数据库,而是通过日记本程序的ContentProivder来实现。
我们先来看一下Diary这个类,这个类里边有一个内部静态类DiaryColumns,和它的名字意思一样,这个类里主要定义了日记本数据库的列表字段的名字,具体代码如下所示:
public?static?final?class?DiaryColumns?implements?BaseColumns?{ ?
????????private?DiaryColumns()?{} ?
????????public?static?final?Uri?CONTENT_URI?=?Uri.parse(content://?+?AUTHORITY?+?/diaries); ?
????????public?static?final?String?CONTENT_TYPE?=?vnd.Android.cursor.dir/vnd.google.?diary; ?
????????public?static?final?String?CONTENT_ITEM_TYPE?=?vnd.Android.cursor.item/vnd.?google.diary; ?
????????public?static?final?String?DEFAULT_SORT_ORDER?=?created?DESC; ?
????????public?static?final?String?TITLE?=?title; ?
????????public?static?final?String?BODY?=?body; ?
????????public?static?final?String?CREATED?=?created; ?
????}?
代码解释:
BaseColumns 是一个接口,里边有两个变量,一个是_ID=_id,一个是_COUNT=_
文档评论(0)