《软件开发视频大讲堂:Android从入门到精通》从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了Android应用程序开发应该掌握的各方面技术。全书共分15章,内容包括Android快速入门、Android模拟器与常用命令、用户界面设计、高级用户界面设计、基本程序单元Activity、Android应用核心Intent、Android事件处理、资源访问、图形图像处理技术、多媒体应用开发、Content Provider实现数据共享线程与消息处理、Service应用、网络编程及Internet应用和基于Android的家庭理财通。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Android应用程序开发的精髓,快速提高开发技能。另外,本书除了纸质内容之外,配书光盘中还给出了海量开发资源库,主要内容如下:
语音视频讲解:总时长25小时,共62段。
技术资源库:600页专业参考文档。
实例资源库:436个经典实例。
面试资源库:369道面试真题。
能力测试题库:138道能力测试题目。
《软件开发视频大讲堂:Android从入门到精通》精彩书摘
13.1 Service概述
教学录像:光盘\TM\1x\13\Service概述.exe
Service(服务)是能够在后台执行长时间运行操作并且不提供用户界面的应用程序组件。其他应用程序组件能启动服务,并且即便用户切换到另一个应用程序,服务还可以在后台运行。此外,组件能够绑定到服务并与之交互,甚至执行进程间通信(IPC)。例如,服务能在后台处理网络事务、播放音乐、执行文件I/O或者与ContentProvider通信。
13.1.1 Service的分类
服务从本质上可以分为以下两种类型。
Started(启动):当应用程序组件(如Activity)通过调用startService0方法启动服务时,服务处于started状态。一旦启动,服务能在后台无限期运行,即使启动它的组件已经被销毁。通常,启动服务执行单个操作并且不会向调用者返回结果。例如,它可能通过网络下载或者上传文件。如果操作完成,服务需要停止自身。
Bound(绑定):当应用程序组件通过调用bindService()方法绑定到服务时,服务处于bound状态。绑定服务提供客户端一服务器接口,以允许组件与服务交互、发送请求、获得结果,甚至使用进程问通信(IPC)跨进程完成这些操作。仅当其他应用程序组件与之绑定时,绑定服务才运行。多个组件可以一次绑定到一个服务上,当它们都解绑定时,服务被销毁。
尽管本章将两种类型的服务分开讨论,服务也可以同时属于这两种类型,既可以启动(无限期运行)也能绑定。其重点在于是否实现一些回调方法:onStartCommand()方法允许组件启动服务;onBind()方法允许组件绑定服务。
不管应用程序是否为启动状态、绑定状态或者两者兼有,都能通过Intent使用服务,就像使用Activity那样。然而,开发人员可以在配置文件中将服务声明为私有的,从而阻止其他应用程序访问。
服务运行于管理它的进程的主线程,服务不会创建自己的线程,也不会运行于独立的进程(除非开发人员定义)。这意味着,如果服务要完成CPU密集工作或者阻塞操作(如MP3回放或者联网),开发人员需要在服务中创建新线程来完成这些工作。通过使用独立的线程,能减少应用程序不响应(ANR)错误的风险,并且应用程序主线程仍然能用于用户与Activity的交互。
13.1.2 Service类中的重要方法
为了创建服务,开发人员需要创建Service类(或其子类)的子类。在实现类中,需要重写一些处理服务生命周期重要方面的回调方法,并根据需要提供组件绑定到服务的机制。需要重写的重要回调方法如下:
onStartCommand()
当其他组件(如Activity)调用startService()方法请求服务启动时,系统调用该方法。一旦该方法执行,服务就启动(处于started状态)并在后台无限期运行。如果开发人员实现该方法,则需要在任务完成时调用stopSelf()或stopService()方法停止服务(如果仅想提供绑定,则不必实现该方法)。
《软件开发视频大讲堂:Android从入门到精通》
《软件开发视频大讲堂:Android从入门到精通》目录
第1篇 基础篇
第1章 Android快速入门
教学录像:1小时19分钟
1.1 什么是Android
1.1.1 平台特性
1.1.2 平台架构
1.1.3 Android市场
1.2 搭建Android开发环境
1.2.1 系统需求
1.2.2 JDK的下载
1.2.3 JDK的安装
1.2.4 Android SDK的下载与安装
1.2.5 Eclipse的下载与安装
1.2.6 Eclipse的汉化
1.2.7 ADT插件的安装及配置
1.3 第一个Android程序
1.3.1 创建Android应用程序
1.3.2 Android项目结构说明
1.3.3 运行Android应用程序
1.3.4 调试Android应用程序
1.3.5 Android应用开发流程
1.4 小结
1.5 实践与练习
……
第2章 Android模拟器与常用命令
第3章 用户界面设计
第4章 高级用户界面设计
第5章 基本程序单元Activity
第6章 Android应用核心Intent
第7章 Android事件处理
第8章 资源访问
第2篇 高级篇
第3篇 项目实战篇
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。