diary(比较好).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
diary(比较好)

系统分析 项目的功能: 默认启动界面listview,包含了日记titile和对应的时间 如果第一次进入系统(也就是没有日记在数据库),判断用户从来没有写过日记,提示如何操作开始写(点击menu进入) 点击menu跳出”添加一篇新日记”和”删除一篇日记” 添加新日记 intent另外一个页面包括有:标题输入、内容输入(如果做复杂可以加入表情)、确定按钮、重写按钮。 到了主界面可以调出”删除一篇日记”进行删除 扩展功能点击menu可以出现“加密”。加密日记本 需要界面跳转: 主界面(显示标题和时间) 日记编写界面 数据存储: ContentProvider UriMatcher 特殊功能以及权限 onPrepareOptionMenu OpenGL 重点: 本系统可以采用SQLite来完成,但是数据在android系统中是私有的,当然这些数据包括文件数据和数据库数据等等。那么两个程序如果交互数据该如何操作呢? ContentProvider类提供了实习一组标准的方法接口,从而让其他应用程序保持或者读取此contentProvider的各种数据类型。也就是说:一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去,外界是无法查看,通过标准统一的接口和程序里面的数据进行打交道:读取、删除、查询等。 界面设计 键值对 需要的界面 主界面:diary_list.xml 编辑界面:diary_edit.xml 日记列表:diary_row.xml 数据存储方式:ContentProvider 新建一个类:LifeDiaryContentProvider(难点)。这里,在代码前面定义程序中需要的一些变量和函数 定义一:日记本中变量定义二:UriMatcher。用来匹配URI的类型,是单一的数据请求还是全部数据请求定义三:DatabaseHelper。DatabaseHelper是继承SQLiteOpenHelper的SQLiteOpenHelper是一个抽象类,有3个函数 onCreate、onUpdate、onOpen(一般不用)定义四:getFormateCreatedDate。一个获取当前时间的函数 辅助类DatabaseHelper 关键是重写 onCreate方法和onUpdate方法 辅助类CotentProvider 日记本的数据还是在存储在SQLite数据库中,当然可以通过SQLite实现增删改查。但是sql语句容易出错,这里,执行增删改查操作不是直接访问数据库,而且通过日记本里面的CotentProvider来实现。 数据库、数据表、数据表中的字段 升级的版本号 DatabaseHelper和SQLiteDatabase事例 Context实例 辅助类BaseColumns 需要定义日记本内数据库的列表字段的名字,并且需要和mannifest结合起来配合定义,新建了一个Fields的类 用于描述需要的字段 当构造列名的辅助类时,直接实现BaseColumns,这就有了默认的_id字段,因为BaseColumns这个接口有个两个变量,一个ID=_id,另外一个是COUNT=_count。在android当中,每个数据库表至少有一个字段,这个字段是id。在android中鼓励开发者使用内部类的,这样不但方法,而且开发效率高。 声明manifest android:name=DiaryContentProvider实现 content provier的类名 android:authorities=andy.diarycontentprovider 为content URI第二部分,授权部分 辅助类UriMatcher UriMatcher是匹配Uri的一个辅助类,很方便的判断一个uri的类型UriMatcher类 这个类的主要作用是:判断这个URi是对单个数据的请求还是对全部数据的请求UriMatcher来龙去脉,为什么要用他 一、ContentProvider简介当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据。而使用ContentProvider共享数据的好处是统一了数据访问方式。 二、Uri类简介 Uri代表了要操作的数据,Uri主要包含了两部分信息:1.需要操作的ContentProvider ,2.对ContentProvider中的什么数据

文档评论(0)

sd44055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档