`
bcyy
  • 浏览: 1832048 次
文章分类
社区版块
存档分类
最新评论

Android 内容提供器---创建内容提供器(数据设计考虑因素)

 
阅读更多
以下是针对设计提供器的数据结构的一些提示:

1. 表数据应该始终有一个“主键”列,提供器针对每一列维护一个唯一的数字值。你能使用这个值把本行于其他表中相关行连接到一起(作为外键来使用)。虽然这列可以使用任意的名称,但是使用BaseColumns.ID是最好的选择,因为它能够把提供器的查询结果跟ListView对象要求的名叫_ID的检索列关联到一起。

2. 如果你想要提供位图图片或其他的非常大的面向文件的数据,那么就要把这样的数据保存在一个文件中,然后在一个表中提供间接的而不是直接的存储。如果你这样做了,就需要告诉用户,他们需要使用ContentResolver文件方法来访问数据;

3. 使用二进制大对象(BLOB)数据类型来保存不同尺寸或不同结构的数据。例如,你能够使用BLOB列来保存协议缓存或JSON结构。

你也能使用一个BLOB来实现一个独立模式的表。在这种表类型中,你定义一个主键列,一个MIME类型列,一个或多个一般的BLOB列。BLOB列中数据的含义是通过MIME类型列中的值来指明的。这样就允许你在同一个表中每一行保存不同类型的数据。通信录的“data”表ContantsContract.Data就是一个独立模式表的例子。

注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。

如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar

分享到:
评论

相关推荐

    Android高级编程--源代码

    6.5.4 创建和使用地震内容提供器 197 6.6 小结 206 第7章 地图、地理编码和基于位置的服务 207 7.1 使用基于位置的服务 207 7.2 使用Test Provider构建模拟器 208 7.2.1 更新模拟位置提供器中的位置 208 7.2.2...

    《Android高级编程》

    6.4 Android中的数据库 6.4.1 SQLite简介 6.4.2 Cursor和内容值 6.4.3 使用Android数据库 6.5 内容提供器简介 6.5.1 使用内容提供器 6.5.2 本地Android内容提供器 6.5.3 创建一个新的内容提供器 6.5.4 创建和使用...

    Android高级编程.pdf

    6.5.4 创建和使用地震内容提供器 6.6 小结 第7章 地图、地理编码和基于位置的服务 7.1 使用基于位置的服务 7.2 使用Test Proyider构建模拟器 7.2.1 更新模拟位置提供器中的位置 7.2.2 创建一个应用程序来管理Test ...

    Android高级编程 part1

    Android高级编程《Android高级编程》有清华大学出版社出版,书中对Android做了简单介绍,并对创建应用程序,用户见面编程做了介绍。并对一些新功能。如:地图,P2P通信,蓝牙以及后台和用Android访问硬件,分章节做...

    Android高级编程 part2

    Android高级编程《Android高级编程》有清华大学出版社出版,书中对Android做了简单介绍,并对创建应用程序,用户见面编程做了介绍。并对一些新功能。如:地图,P2P通信,蓝牙以及后台和用Android访问硬件,分章节做...

    基于Android手机平台的买火车票软件的设计与实现

    总之,为 Android 平台设计和实现火车票购买应用程序涉及广泛的考虑因素,从用户界面设计到安全和可靠性。通过仔细解决每个因素,可以创建一个既功能强大又用户友好的应用程序,为用户提供无缝和愉悦的体验。

    精通ANDROID 3(中文版)1/2

    12.4.4 创建使用库的Android项目  12.5 参考资料  12.6 小结  第13章 处理程序  13.1 Android组件和线程  13.1.1 活动在主线程上运行  13.1.2 广播接收程序在主线程上运行  13.1.3 服务在主线程上...

    基本Android创建的手机app教务管理系统 包含学生端 教师端 管理员.zip

    4. 响应式设计:Android 应用程序可以根据设备类型、屏幕尺寸等因素调整布局和显示方式,以适应不同的设备和用户需求。 5. 多媒体支持:Android 支持常见的音频、视频、图像等多媒体格式,可以实现各种多媒体应用。 ...

    android高级编程

    第7章 数据库和内容提供器 第8章 地图、地理编码和基于位置的服务 第9章 后台工作 第10章 个性化手机屏幕 第11章 音频、视频以及摄像头的使用 第12章 电话服务和sms 第13章 蓝牙、网络和wi-fi 第14章 传感器 ...

    基于Android的记事本的设计与开发(实验报告+源代码).pdf

    不能出现卡死或者不流畅的问题 2.2记事本功能 因为没有使⽤过记事本程序,对这⽅⾯⽐较缺乏了解,参考了⽐较流⾏的记事本程序设计,然后综合考虑各⽅⾯因素,对这个记事本程序的 功能设计进⾏了简化,只实现了基本的...

    精通Android 3 (中文版)2/2

    第1章 Android计算平台简介  1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 ...

    Data-Science-Project-The-Android-App-Market-on-Google-Play

    数据科学项目,Android应用程序在Google Play上的市场 项目描述移动应用无处不在。 它们易于创建并且可以带来丰厚的利润。 由于这两个因素,正在开发越来越多的应用程序。 在本项目中,您将通过比较不同类别的Google...

    Android高级编程_高清pdf_中文版.part2

    第7章 数据库和内容提供器 第8章 地图、地理编码和基于位置的服务 第9章 后台工作 第10章 个性化手机屏幕 第11章 音频、视频以及摄像头的使用 第12章 电话服务和sms 第13章 蓝牙、网络和wi-fi 第14章 传感器 ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...

    Android SD 卡管理工具

    android系统也会不断创建日志、 崩溃报告和普通用户用不上调试文件。 在您使用“谷歌应用市场”下载应用程序之后,它会产生临时文件(如同浏览器访问网站一样)。 让我们来搞定这些无用的垃圾 … … 为什么不使用“SD...

    Android SD 卡管理工具 SD Maid 5.1.4 中文多语免费版.zip

    Android 系统也会不断创建日志、 崩溃报告和普通用户用不上调试文件。 在您使用“谷歌应用市场”下载应用程序之后,它会产生临时文件(如同浏览器访问网站一样)。 让我们来搞定这些无用的垃圾 … … 为什么不使用“SD...

    gsa-hackathon-t4:GSA 黑客马拉松团队 4

    为联邦客户机构提供工作场所2014年进行租户满意度调查构建跨同一时间范围的运营成本衡量分析报告维护、清洁和公用事业的详细支出GSA PBS 要求我们使用这两个数据集来调查可能的租户满意度驱动因素方法清理并合并数据...

    AndroCompare::gear:一个有效的工具可以对两个android应用程序进行深入比较

    AndroCompare是一款工具,可接收两个Android应用程序(.APK文件),将其在各种因素上进行比较,然后将由此产生的差异和相似性保存在数据库中。 描述 该工具非常快速,可用于快速比较大量应用。 提供了两个名为app1....

    MYKI Password Manager & Authenticator-crx插件

    MYKI是一个密码管理器和2FA身份验证器,在设计时考虑了隐私。 MYKI会记住您的密码,将其自动填充到浏览器中,然后单击一下登录,为您的每个帐户创建唯一且复杂的密码,并处理两因素身份验证令牌,使其成为您自己的...

Global site tag (gtag.js) - Google Analytics