`
king_tt
  • 浏览: 2260009 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【Android 开发教程】数据共享

 
阅读更多

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


在上一章节中,我们介绍了数据持久化的几种方法:首选项,文件,以及数据库。在保存复杂的数据结构时,推荐使用SQliteDatabase。但是,共享数据就成了一种挑战,因为,数据库只对创建它的程序包可用。

在这一章节中,将会介绍Android特有的数据共享方式:使用ContentProvider。也会介绍如何使用内置的ContentProvider,以及创建自己的ContentProvider,以便在多个程序包之间共享数据。

在Android中,共享数据的推荐方式是使用ContentProvider。可以把ContentProvider想想成一个数据商店。它是如何存储数据的,这和使用它的程序不相关。重要的是,如何通过编码接口去获取这些数据。

ContentProvider表现的非常像一个数据库,你可以执行增删查改操作。

然而,和数据库不同的是,它可以使用不同的方式去存储数据。数据可以存放在数据库中,文件中,甚至网络上面。


Android提供了许多有用的ContentProvider,如下:

  • Browser 存储浏览器书签,浏览历史等等。
  • CallLog 存储未接来电,通话记录等等。
  • Contacts 储存联系人详情。
  • MediaStore 存储媒体文件,比如音频,视频,图片等。
  • Settings 存储设备的一些配置信息。


除了这些内置的ContentProvider,也可以创建自己的ContentProvider。

想要查询一个ContentProvider,需要用URI的形式指定一个查询字符串,指定某一行。URI查询形式如下:

<standard_prefix>://<authority>/<data_path>/<id>


URI的组成部分如下:

  • ContentProvider标准的前缀是 content://
  • authority指定了ContentProvider的名字。contacts就是内置Contacts 的ContentProvider的名字。对于第三方的ContentProvider,这个authority可能就是一个完成的指定的名字,例如net.manoel.provider或net.horsttnann.provider。
  • data_path指定了请求数据的类别。例如,如果你正在获取Contacts ContentProvider中的所有联系人,那么,data_path就应该是people,即URI会是这样:content://contacts/people
  • id 指定了请求的记录。例如,如果你在查找在Contacts ContentProvider中的2号联系人,那么URI会是这样:content://contacts/people/2


下面是一些查询的例子:

content://media/internal/images 返回设备内部存储上面的图片列表
content://media/external/images 返回设备外部存储上面的图片列表
content://call_log/calls 返回通话记录
content://browser/bookmarks 返回浏览器里面的书签

分享到:
评论

相关推荐

    Android开发教程笔记完全版 pdf

    这份"Android开发教程笔记完全版"涵盖了Android开发的基础到高级主题,旨在帮助开发者全面理解并掌握Android应用的构建过程。 一、Android系统概述 Android是由Google主导的开源操作系统,基于Linux内核。它的开放...

    新版Android开发教程.rar

    Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商...

    Android开发教程笔记完全版(第11-13篇)[完结]

    在本压缩包中,我们找到了一份详尽的Android开发教程笔记,涵盖了从第11篇到第13篇的内容。这些笔记是作者无私分享的精华,旨在帮助开发者深入理解和掌握Android开发的关键技能。以下是每篇笔记的主要知识点: 1. *...

    Android开发教程,android开发教程pdf,Java

    Android开发教程是面向那些想要构建和开发Android应用的程序员们的重要资源。这门教程涵盖了从基础知识到高级技术的全面内容,旨在帮助学习者熟练掌握Java编程语言,并运用这些技能在Android平台上创建功能丰富的...

    Android开发教程笔记完全版

    《新版Android开发教程+笔记九--基础UI编程3.pdf》、《新版Android开发教程+笔记十--基础UI编程4.pdf》、《新版Android开发教程+笔记六--应用3、4 布局.pdf》、《新版Android开发教程+笔记七--基础UI编程2.pdf》和...

    android开发教程

    【Android开发教程】 Android开发是移动应用开发领域的重要部分,主要针对谷歌的Android操作系统进行应用程序的设计、编写和测试。这个“安卓教程android开发视屏教材”涵盖了从基础到进阶的Android开发知识,通过...

    android开发入门教程(上、下)

    《Android开发入门教程》是一套全面且深入的指导材料,专为初学者设计,旨在帮助他们踏入Android应用开发的大门。教程分为上下两部分,涵盖了从基础到进阶的广泛内容,是学习Android开发的理想起点。 在《Android...

    Android应用开发教程PPT

    ContentProvider是数据共享的桥梁,允许不同应用访问和修改统一的数据源。PPT会介绍如何创建自定义的ContentProvider,并与其他应用共享数据。 九、数据存储 Android提供了多种数据存储方式,包括 ...

    Android开发教程.rar

    Android开发教程是一个全面涵盖Android应用开发基础知识和语法的资源包,对于想要踏入Android开发领域的学习者来说至关重要。在这个教程中,你将了解到一系列关键概念和技术,帮助你构建自己的Android应用程序。 ...

    Android官方开发教程中文版

    ContentProvider是数据共享的接口,允许不同应用之间访问和交换数据,如联系人、日历等系统数据。 八、Layout设计 Android布局是UI设计的关键,包括线性布局、相对布局、表格布局、网格布局等,开发者可以结合使用...

    android开发教程ppt

    Android开发教程PPT是针对初学者的一套详细指南,旨在帮助读者快速掌握在Android平台上进行软件开发的基础知识。本教程涵盖了从安装开发环境到编写、调试和发布应用程序的全过程。 一、Android概述 Android是由...

    完美Android开发教程

    本“完美Android开发教程”旨在提供一个全面、详细的指南,帮助初学者和进阶者深入理解Android开发的核心概念和技术。 1. **Android系统架构** Android系统分为四个主要层次:Linux内核、硬件抽象层(HAL)、系统...

    android 应用开发教程

    **Android 应用开发教程** Android 应用开发是一个涵盖广泛领域的主题,它涉及编程语言、用户界面设计、系统架构等多个方面。对于初学者来说,理解并掌握Android开发的基础至关重要。以下是一些关键知识点,这些...

    Android开发教程4

    在本篇"Android开发教程4"中,我们将深入探讨Android应用程序开发的核心概念和技术,以便开发者能够熟练地构建高质量的移动应用。这篇教程涵盖了多个关键知识点,包括但不限于Android系统架构、UI设计、活动管理、...

    Android NDK 开发教程二

    ### Android NDK 开发教程概览 #### 一、引言 随着移动互联网技术的不断发展,Android 应用开发已成为软件行业中不可或缺的一部分。为了满足不同层次的开发需求,Google 提供了多种工具和技术栈,其中 Android NDK ...

    老罗android开发视频教程全集百度网盘链接

    老罗提供的Android开发视频教程覆盖了Android开发的基础到进阶内容,适合初学者入门学习。该教程涵盖了Android开发环境搭建、基本组件使用、UI设计、网络编程、数据库操作等多个方面,旨在帮助学员全面掌握Android...

    android开发教程和笔记

    Android开发教程和笔记是针对想要踏入Android开发领域的初学者精心准备的学习资源。这份教程涵盖了从基础知识到高级概念的全面内容,旨在帮助新手快速理解和掌握Android应用程序开发的核心技能。 首先,让我们了解...

    Android开发教程(绝对经典的入门课件教材)

    本教程“Android开发教程(绝对经典的入门课件教材)”就是专为初级用户设计的,旨在提供全面、深入的指导,帮助初学者快速进入Android应用开发的世界。 首先,我们要理解Android系统的基础架构。Android是一个开源...

    Android开发教程详细版

    Android开发教程详细版 在移动应用开发领域,Android平台占据着重要的地位,为开发者提供了丰富的工具和资源。这个“Android开发教程详细版”涵盖了从入门到精通所需的所有关键知识点,旨在帮助初学者和有经验的...

    新版Android开发教程

    【Android 开发教程详解】 Android 是一款开源的操作系统,由开放手机联盟...《新版Android开发教程》这本书将帮助读者从整体框架开始,通过实例代码学习如何使用 Android 的重要组件,是入门 Android 开发的好选择。

Global site tag (gtag.js) - Google Analytics