SummarySummary 序言Android入门基础:从这里开始 建立第一个App 创建Android项目执行Android程序建立简单的用户界面启动其他的Activity 添加ActionBar 建立ActionBar添加Action按钮自定义ActionBar的风格ActionBar的覆盖层叠 兼容不同的设备 适配不同的语言适配不同的屏幕适配不同的系统版本 管理Activity的生命周期 启动与销毁Activity暂停与恢复Activity停止与重启Activity重新创建Activity 使用Fragment建立动态的UI 创建一个Fragment建立灵活动态的UIFragments之间的交互 数据保存 保存到Preference保存到文件保存到数据库 与其他应用的交互 Intent的发送接收Activity返回的结果Intent过滤 Android分享操作 分享简单的数据 给其他App发送简单的数据接收从其他App返回的数据给ActionBar增加分享功能 分享文件 建立文件分享分享文件请求分享一个文件获取文件信息 使用NFC分享文件 发送文件给其他设备接收其他设备的文件 Android多媒体 管理音频播放 控制音量与音频播放管理音频焦点兼容音频输出设备 拍照 简单的拍照简单的录像控制相机硬件 打印 打印照片打印HTML文档打印自定义文档 Android图像与动画 高效显示Bitmap 高效加载大图非UI线程处理Bitmap缓存Bitmap管理Bitmap的内存在UI上显示Bitmap 使用OpenGL ES显示图像 建立OpenGL ES的环境定义Shapes绘制Shapes运用投影与相机视图添加移动响应触摸事件 添加动画 View间渐变使用ViewPager实现屏幕滑动展示Card翻转动画缩放View布局变更动画 Android网络连接与云服务 无线连接设备 使用网络服务发现使用WiFi建立P2P连接使用WiFi P2P服务 执行网络操作 连接到网络管理网络的使用情况解析XML数据 传输数据时避免消耗大量电量 优化下载以高效地访问网络最小化定期更新造成的影响重复的下载是冗余的根据网络连接类型来调整下载模式 云同步 使用备份API使用Google Cloud Messaging 解决云同步的保存冲突使用Sync Adapter传输数据 创建Stub授权器创建Stub Content Provider创建Sync Adpater执行Sync Adpater 使用Volley执行网络数据传输 发送简单的网络请求建立请求队列创建标准的网络请求实现自定义的网络请求 Android联系人与位置信息 Android联系人信息 获取联系人列表获取联系人详情使用Intents修改联系人信息显示联系人头像 Android位置信息 获取最后可知位置获取位置更新显示位置地址创建和监视地理围栏 Android可穿戴应用 赋予Notification可穿戴特性 创建Notification在Notifcation中接收语音输入为Notification添加显示页面以Stack的方式显示Notifications 创建可穿戴的应用 创建并运行可穿戴应用创建自定义的布局添加语音功能打包可穿戴应用通过蓝牙进行调试 创建自定义的UI 定义Layouts创建Card创建List创建2D Picker创建确认界面退出全屏的Activity 发送并同步数据 访问可穿戴数据层同步数据单元传输资源发送与接收消息处理数据层的事件 创建表盘 设计表盘构建表盘服务绘制表盘在表盘上显示信息提供配置 Activity定位常见的问题优化性能和电池使用时间 位置检测 Android TV应用 创建TV应用 创建TV应用的第一步处理TV硬件部分创建TV的布局文件创建TV的导航栏 创建TV播放应用 创建目录浏览器提供一个Card视图创建详情页显示正在播放卡片 帮助用户在TV上探索内容 TV上的推荐内容使得TV App能够被搜索使用TV应用进行搜索 创建TV游戏应用创建TV直播应用TV Apps Checklist Android企业级应用 Ensuring Compatibility with Managed ProfilesImplementing App RestrictionsBuilding a Work Policy Controller Android交互设计 设计高效的导航 规划屏幕界面与他们之间的关系为多种大小的屏幕进行规划提供向下和横向导航提供向上和历史导航综合:设计样例 App 实现高效的导航 使用Tabs创建Swipe视图创建抽屉导航提供向上的导航提供向后的导航实现向下的导航 通知提示用户 建立Notification当启动Activity时保留导航更新Notification使用BigView风格显示Notification进度 增加搜索功能 建立搜索界面保存并搜索数据保持向下兼容 使得你的App内容可被Google搜索 为App内容开启深度链接为索引指定App内容 Android界面设计 为多屏幕设计 兼容不同的屏幕大小兼容不同的屏幕密度实现可适应的UI 创建自定义View 创建自定义的View类实现自定义View的绘制使得View可交互优化自定义View 创建向后兼容的UI 抽象新的APIs代理至新的APIs使用旧的APIs实现新API的效果使用版本敏感的组件 实现辅助功能 开发辅助程序开发辅助服务 管理系统UI 淡化系统Bar隐藏系统Bar隐藏导航Bar全屏沉浸式应用响应UI可见性的变化 创建使用Material Design的应用 开始使用Material Design使用Material的主题创建Lists与Cards定义Shadows与Clipping视图使用Drawables自定义动画维护兼容性 Android用户输入 使用触摸手势 检测常用的手势跟踪手势移动滚动手势动画处理多点触控手势拖拽与缩放管理ViewGroup中的触摸事件 处理键盘输入 指定输入法类型处理输入法可见性支持键盘导航处理按键动作 支持游戏控制器 处理控制器输入动作在不同的 Android 系统版本支持控制器支持多个控制器 Android后台任务 在IntentService中执行后台任务 创建IntentService发送工作任务到IntentService报告后台任务执行状态 使用CursorLoader在后台加载数据 使用CursorLoader执行查询任务处理CursorLoader查询的结果 管理设备的唤醒状态 保持设备的唤醒制定重复定时的任务 Android性能优化 管理应用的内存代码性能优化建议提升Layout的性能 优化layout的层级使用include标签重用layouts按需加载视图使得ListView滑动顺畅 优化电池寿命 监测电量与充电状态判断与监测Docking状态判断与监测网络连接状态根据需要操作Broadcast接受者 多线程操作 在一个线程中执行一段特定的代码为多线程创建线程池启动与停止线程池中的线程与UI线程通信 避免出现程序无响应ANRJNI使用指南优化多核处理器(SMP)下的Android程序 Android安全与隐私 Security Tips使用HTTPS与SSL为防止SSL漏洞而更新Security使用设备管理条例增强安全性 Android测试程序 测试你的Activity 建立测试环境创建与执行测试用例测试UI组件创建单元测试创建功能测试