目录

  • 1 前言
    • 1.1 前言
    • 1.2 什么是安卓
    • 1.3 课程特别说明
  • 2 软件原型开发
    • 2.1 应用程序设计与开发的基本理念
    • 2.2 “意大利塔“实验
    • 2.3 “意大利塔“实验的启示
    • 2.4 Balsamiq Mockups
  • 3 Android系统与开发环境
    • 3.1 AndroidStudio安装之JDK安装
    • 3.2 AndroidStudio安装之Windows环境下安装Android Studio
    • 3.3 AndroidStudio安装之下载、安装和配置Android SDK
    • 3.4 AndroidStudio安装之Android模拟器genymotion
    • 3.5 新建一个HelloWorld项目
    • 3.6 Android项目体系介绍
  • 4 Android UI设计
    • 4.1 AndroidUI布局
    • 4.2 Android中的Adapter介绍
    • 4.3 ListView
    • 4.4 GridView
    • 4.5 AndroidUI控件之文本类型控件
    • 4.6 AndroidUI控件之普通按钮
    • 4.7 AndroidUI控件之图片按钮和复选框
    • 4.8 AndroidUI控件之开关按钮和单选按钮
    • 4.9 AndroidUI控件之进度对话框
    • 4.10 AndroidUI控件之列表选择框
    • 4.11 AndroidUI控件之时间拾取器
  • 5 基本程序单元Activity
    • 5.1 基本程序单元Activity的介绍
    • 5.2 基本程序单元Activity应用实例
  • 6 Android应用核心Intent和Filters
    • 6.1 Android应用中的核心Intent
    • 6.2 Intent的类型
    • 6.3 Intent Filters
  • 7 Android事件处理
    • 7.1 Android事件处理
  • 8 Android服务
    • 8.1 Android服务
    • 8.2 Android服务实例
  • 9 Android广播接收器
    • 9.1 Android广播接收器
    • 9.2 Android广播接收器实例之接收自定义广播信息
    • 9.3 Android广播接收器实例之接收系统广播信息
  • 10 ContentProvider实现数据共享
    • 10.1 ContentProvider实现数据共享
    • 10.2 ContentProvider实例
  • 11 实验
    • 11.1 实验一:Android平台搭建和UI设计
      • 11.1.1 实验一:Android平台搭建与HelloWorld
    • 11.2 实验二:Andriod高级UI设计
      • 11.2.1 实验二:简单UI设计
    • 11.3 实验三:Intent与Activity的使用
      • 11.3.1 实验三:Android高级UI设计
    • 11.4 实验四:Android资源访问
      • 11.4.1 实验四:Android资源访问
    • 11.5 实验五:图形图像与多媒体
    • 11.6 实验六:Android的网络编程基础
    • 11.7 实验七:SQLite和SQLiteDatabase的使用
    • 11.8 实验八:使用GPS与百度地图
ContentProvider实现数据共享

当系统中部署越来越多的Android应用后,有时候就需要在不同的应用之间共享数据,比如现在有一个短信接收应用,用户想把接收到的短信的发送人添加到联系人管理应用中,就需要在不同应用之间共享数据。对于这种需求,操作方法有很多种,比如SharedPreferences、文件或数据库等直接去操作另一个应用程序所记录的方式。但这种方式显得太杂乱,因为不同的应用程序记录数据的方式差别太大,不利于应用程序之间进行数据交换。

ContentProvider概述

为了在应用程序之间交换数据,Android提供了ContentProviderContentProvider是不同应用程序之间进行数据交换的标准API,当一个应用程序需要把自己的数据交给其他应用程序使用时,该应用程序就可通过ContentProvider来实现;其他应用程序可以通过ContentResolver来操作ContentProvider提供的数据。ContentProvider也可以把数据保存在数据库、文件甚至网络中,ContentProvider工作模式如图8.1所示。