ANDROID开发之旅--应用程序基础及组件
AndroidUI基本控件与事件处理

《Android基础应用》AndroidUI基本控件与事件处理⏹本章任务⏹使用Android开发本息计算器程序⏹使用Android开发华氏-摄氏温度转换器⏹本章目标⏹熟悉掌握本章基本控件的使用⏹熟练掌握Android常用事件1.Android基本控件Android应用开发的一项内容就是用户界面的开发,Android提供了大量功能丰富的UI组件,大部分放在android.widget包及其子包android.view包及其子包在Android当中View类是最基本的一个UI类,基本上所有的高级UI组件都是继承View类而实现的。
如Button(按钮),list(列表),EditText(编辑框),RadioButton(多选按钮),Checkbox(选择框)等都是View类在Android中,我们可以在Xml文件中使用UI组件也可以在java文件中创建UI组件官方建议采用xml方式,这样的话能够实现界面和代码分离1.1TextView和EditTextTextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件,EditText是一个具有编辑功能的TextViewTextView和EditText基本属性●android:id设置ID,通过编码可以找到这个组件●android:layout_width设置在屏幕上的宽度●android:layout_height设置在屏幕上的高度fill_parent强制性地使构件扩展,以填充布局单元内尽可能多的空间wrap_content强制性地使视图扩展以显示全部内容●android:text设置显示的文本信息●android:textColor设置文本颜色●android:textSize设置文本尺寸示例的现实结果1.2Button和ImageButtonButton是一种按钮控件,用户能够在该控件上点击,并后引发相应的事件处理函数ImageButton用以实现能够显示图像功能的控件按钮示例示例的现实结果1.3CheckBox和RadioButtonCheckBox是一个同时可以选择多个选项的控件RadioButton则是仅可以选择一个选项的控件示例1.4 开发本息计算器界面需求说明银行提供整存整取定期储蓄业务,年利率为(一年 2.25%,两年 2.7%,三年3.24%,五年3.6%),要求输入本金数目和存款年限,计算到期取款时银行应支付本息开发思路开发页面main.xml按效果图进行布局示例练习——开发本息计算器界面2.Android事件处理事件处理的概念任何应用最终都是要面对用户的,经常处理的是用户的动作,也就是说要为用户的动作提供响应,这种为为用户动作提供响应的机制就是事件处理Android提供了强大的事件处理机制基于监听的事件处理●主要就是为Android界面组件绑定特定的事件监听器基于回调的时间处理●主要做法是重写Android组件特定的回调函数,Android大部分界面组件都提供了事件响应的回调函数,我们只要重写它们就行2.1基于监听的事件处理这是更具“面向对象”性质的事件处理方式,与java中的AWT,Swing开发中的处理相同在监听器模型中,主要涉及三类对象事件源Event Source:产生事件的来源,通常是各种组件,如按钮,窗口等事件Event:事件封装了界面组件上发生的特定事件的具体信息,如果监听器需要获取界面组件上所发生事件的相关信息,一般通过事件Event对象来传递 事件监听器Event Listener:负责监听事件源发生的事件,并对不同的事件做相应的处理基于监听器的事件处理机制是一种委派式Delegation的事件处理方式,事件源将整个事件委托给事件监听器,由监听器对事件进行响应处理。
第1章 Android基础入门(Anddroid)

在XML布局文件中调用名为app_name字符串资源 @string/app_name
✎ 1.5.5 颜色资源
颜色资源
– 定义位置:res/values/文件夹的colors.xml文件中 – colors.xml文件中的颜色资源
用于<定?xm义l 颜ver色sio资n=源"1的.0"标en签coding="utf-8"?>
19.6%
4.5K-6K
0.7%
20K-30K
29.8%
10K-15K
22.3%
6K-8K
2.8%
8K-10K
5.7%
¥18610
取自12554份样本可供参考 截止至2018年12月
数据来源:职友集
✎ 1.1.1 通信技术
通信技术
第一代通信技术(1G):是指最初的模拟、仅限语音的蜂窝电话 标准。
使用AndroidStudio创建程序, 使用模拟器运行程序。
① 在Android Studio的Welcome to Android Studio窗 口中选择【Start a new Android Studio project】选 项创建项目
② 点击工具栏中【AVD Manager】标签启动模拟器
✎ 1.5.5 颜色资源
颜色资源
– 调用方式
➢ 通过Java代码调用颜色资源
在Activity的onCreate()方法中调用名为colorPrimary的颜色资源 getResources().getColor(R.color.colorPrimary);
➢ 在XML布局文件中调用布局资源文件
//在XML布局文件中调用activity_main.xml布局资源 <include layout="@layout/activity_main"/>
Android最佳学习路线图

Android 游戏与应用开发最佳学习路线图为了帮助大家更好的学习Android ,并快速入门特此我们为大家制定了以下学习路线图,希望能够帮助大家。
一、 路线图概括:二、具体需要掌握知识点:Java基础Android游戏与应用开发四、 在此我们为大家推荐:由【尚观4G 只能操作系统研究室】郭宏志老师编写的 《Android 应用开发详解》这本书以及我们的免费教学视频网站,本书提供大量的实战项目及详细解决方案,相信对初学者还是相关开发人员都会有比较大的帮助。
五、 免费视频教程及下载地址Java 入门与强化1/playlist/4003320-1320045357-1.html#33879945 Java 入门与强化2/playlist/4003320-1320045357-1.html#33880275 Java 入门与强化3/playlist/4003320-1320045357-1.html#33880423 Java入门与强化4/playlist/4003320-1320045357-1.html#33887542 Android环境搭建1/playlist/4003320-1320045357-1.html#34055420 Androiud环境搭建2/playlist/4003320-1320045357-1.html#34265145 Android环境搭建3/playlist/4003320-1320045357-1.html#34266369 Android游戏及应用开发之1/playlist/4003320-1320045357-1.html#33844107 Android游戏及应用开发之2/playlist/4003320-1320045357-1.html#33845175 Android游戏及应用开发之3/playlist/4003320-1320045357-1.html#33851696 Android游戏及应用开发之4/playlist/4003320-1320045357-1.html#33852758 Android游戏及应用开发之5/playlist/4003320-1320045357-1.html#33848363 Android游戏及应用开发之6/playlist/4003320-1320045357-1.html#33855468 Android游戏及应用开发之7/playlist/4003320-1320045357-1.html#33857388下载地址:Android 最佳入门视频/file/t02a973ad8尚观-4G手机游戏及应用开发1/file/t02c1e4b06尚观-4G手机游戏及应用开发2/file/t08499e1c7尚观-4G手机游戏及应用开发免费基础课之iPhone1/file/t02e16605f尚观-4G手机游戏及应用开发免费基础课之iPhone2/file/t03f013897尚观-4G手机游戏及应用开发免费基础课之iPhone2/file/t0f3211309尚观-4G手机游戏及应用开发免费基础课之Android播放器/file/t0ca4e4583尚观-4G手机游戏及应用开发免费基础课之Android游戏俄罗斯方块/file/t0d7c72157尚观-4G手机游戏及应用开发免费基础课之Android博客登陆客户端/file/t094baf7e0Android 学习路线图收藏1.Java基础很多朋友一上手就开始学习Android,似乎太着急了一些。
Android App Inventor项目开发教程课件(共43张PPT)

中的不是黑桃A,则本轮游戏结束,对比所得分数和最佳成绩,若高于最佳成绩,则将本轮分数设置为最高分,并提示游戏结束。 开源免费的移动操作系统 本项目要求开发一个计算器程序,除了能够提供两个操作数的加减乘除功能外,还支持长表达式的运算,如“3+2-6*5”,能够方便用户即时 计算,提高计算效率。 2、App Inventor开发Android应用 资产:938亿美元,市值:2648亿美元,是一家依靠互联网广告起家的互联网公司 App Inventor基础篇 2、App Inventor开发Android应用 App Inventor项目开发篇 一般地,移动互联网是指移动通信和互联网的结合。 本项目要求开发一个拍录机程序,能够让用户随时记录影片,并播放录制的影片。 与传统的写代码编程不同,App Inventor中写程序是通过可视化的指令模块,用模块定义不同的功能,即通过拖放图形化的组件和代码块, 将这些代码放在一起,结果产生一个应用程序(App)。 项目10:变换背景颜色 2、App Inventor开发Android应用 Google公司研发Android的最终目的 3、App Inventor开发基础操作
Android开发环境配置方法

Android开发环境配置方法引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。
在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。
本文的主题如下:1、环境搭建1.1、JDK安装1.2、Eclipse安装1.3、Android SDK安装1.4、ADT安装1.5、创建AVD2、HelloWorld1、环境搭建1.1、JDK安装如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。
设置环境变量步骤如下:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:JAVA_HOME值为: D:Program FilesJavajdk1.6.0_18(你安装JDK的目录)CLASSPATH值为:.;%JAVA_HOME%libools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%_in;Path: 在开始追加 %JAVA_HOME%_in;NOTE:前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。
打开cmd窗口,输入java ?version 查看JDK的版本信息。
出现类似下面的画面表示安装成功了:图1、验证JDK安装是否成功1.2、Eclipse安装如果你还么有Eclipse的话,可以去这里下载,下载如下图所示的Eclipse IDE for Java Developers(92M)的win 32bit版:图2、Eclipse下载解压之后即可使用。
1.3、Android SDK安装在Android Developers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。
《Android入门》课件

CHAPTER 04
Android用户界面设计
XML布局
01 线性布局(LinearLayout):用于将子视 图按照垂直或水平方向排列。
02
相对布局(RelativeLayout):允许子视 图相对于彼此或父视图进行定位。
03
框架布局(FrameLayout):将子视图堆 叠在顶部,从左到右依次排列。
数据类型
网络存储可以保存任意类型 的数据,如文本、图片、音 频、视频等。
使用方法
使用网络存储需要先建立网 络连接,然后使用HTTP协 议进行数据的上传和下载操 作。
优点
数据可共享,可备份,对于 需要将数据保存在云端或者 与其他设备共享的场景非常 适用。
CHAPTER 06
调试和优化
Logcat的使用
123 4
概述
使用方法
过滤和搜索
Logcat是Android开发中 用于查看应用程序日志信 息的工具,可以帮助开发 者调试和优化应用程序。
通过Android Studio的 Logcat窗口查看日志信 息,包括Log级别(如 Verbose、Debug、Info 、Warningห้องสมุดไป่ตู้Error、 Fatal、Assert)、应用 程序标签和日志消息。
03
数据模型
Content Provider使用标准的数 据模型,如URI、Cursor等,来定
义和操作数据。
02
功能
Content Provider可以提供对数 据库、文件或其他类型数据的访
问。
04
安全性
Content Provider提供了数据访 问的安全性控制,只有具有相应
权限的应用才能访问数据。
Android开发技术及其应用
Android开发技术及其应用一、概述Android是谷歌公司开发的移动设备操作系统,它包括操作系统、框架、核心应用和应用程序接口(API),为开发人员提供了资源、如窗口管理、文件系统、网络通信、多媒体等等。
Android与Java编程语言密切相关,因此在安卓开发方面,Java编程经验对开发效率有很大的提升作用。
今天,Android已成为移动设备操作系统中的重要一员,并提供了各种应用程序,包括社交媒体、游戏、办公类应用或其他类型的应用,Android的应用程序在全球使用量非常大。
二、Android开发的步骤(1)选择开发工具:Android SDK(Software Development Kit,软件开发工具包)是Android开发应用程序使用的核心工具。
该工具包包含了各种API和工具,使得程序员可以快速构建和调试Android应用程序。
其他开发工具如Android Studio和Eclipse等也能帮助开发人员构建和调试Android应用程序。
(2)创建新项目:创建新的项目需要涉及到应用程序名称、项目名称、包名、SDK版本、主题等等要素的设置。
在创建项目之初,需要为应用程序选择一个适当的名称。
在开发过程中,包名比较重要,因为它可以在应用市场中唯一标识该应用程序。
(3)理解Android的基本概念:在理解Android框架之前,应该了解一些基本概念,例如Activity、Service和BroadcastReceiver 等。
这也是理解整个Android开发过程中的必要概念。
(4)选择使用的API:Android提供了大量的API,用于开发各种功能。
例如,Android API提供了SQLite数据库、地理位置获取、HTTP请求等等功能。
(5)设计UI和用户交互:设计UI和用户交互是应用程序开发的核心。
Android支持各种UI控件,包括TextView、EditText、Button、Spinner、ListView等等,以确保开发人员能够开发出各种类型的应用程序。
Android开发之门
Android开发之门走进android 开发 (2)Android 开发简介 (6)Google手机操作系统Android应用开发入门 (6)Android程式编写及调试新手入门 (13)Android的源代码结构 (19)Android系统架构 (25)Android中各种JAVA包的功能描述 (27)Android GSM驱动模块详细分析 (28)Android应用开发入门五问 (31)走进android 开发各位同仁朋友们大家好,很高兴能够在这里,与大家一同走进新技术给我们带来的欣喜与兴奋中!今天,展现在我们面前的是什么新技术呢?它又会给我们带来怎样的震撼呢?好,让我们以热烈的掌声欢迎今天的新客人-----android。
环境搭建在开始之前,你需要先准备以下环境以及程序必备Microsoft Windows XP/Microsoft Windows Vista操作系统Android SDK 1.1r1Java Development Kit(JDK)v6.0以上eclipse-jee-ganymede-SR1-win32版本为编译环境好,开始下载吧!下载完成后,我们进行android 开发环境的搭建。
1.在Eclipse编译IDE环境中,需安装ADT(Android Development Tools)plug-in,此为Android的开发工具,启动Eclipse后,请运行“Help—Software Updates>>Find and Install”,并按下“Add Site”输入ADT plug-in网址后(如下),按下“Install”便开始自动下载安装:/android/eclipse/下载后,安装向导会显示两项必须安装的程序:Android Development Tools与Android Editors。
安装ADT所需的时间不长,也可以在后台运行,不会影响现有的操作系统程序。
Android应用程序开发(第二版)课后习题答案.doc
第一章Android简介1.简述各种手机操作系统的特点.答案:目前,手机上的操作系统主要包括以下几种,分别是Android、iOS、Windows Mobile、Windows Phone 7、Symbian、黑莓、PalmOS和Linux。
(1)Android是谷歌发布的基于Linux的开源手机平台,该平台由操作系统、中间件、用户界面和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。
Android底层使用开源的Linux操作系统,同时开放了应用程序开发工具,使所有程序开发人员都在统一、开放的开发平台上进行开发,保证了Android应用程序的可移植性。
(2)iOS是由苹果公司为iPhone、iPod touch、iPad以及Apple TV开发的操作系统,以开放源代码的操作系统Darwin为基础,提供了SDK,iOS操作系统具有多点触摸操作的特点,支持的控制方法包括滑动、轻按、挤压和旋转, 允许系统界面根据屏幕的方向而改变方向,自带大量的应用程序。
(3)Windows Mobile是微软推出的移动设备操作系统,对硬件配置要求较高,一般需要使用高主频的嵌入式处理器,从而产生了耗电量大、电池续航时间短和硬件成本高等缺点,Windows Mobile系列操作系统包括Smartphone、Pocket PC和Portable Media Center。
随着Windows Phone 7的出现,Windows Mobile 正逐渐走出历史舞台。
(4)Windows Phone 7具有独特的“方格子”用户界面,非常简洁,黑色背景下的亮蓝色方形图标,显得十分清晰醒目,集成了Xbox Live游戏和Zune音乐功能,可见Windows Phone 7对游戏功能和社交功能的重视。
(5)Symbian是为手机而设计的实时多任务32位操作系统,它的功效低,内存占用少,提供了开发使用的函数库、用户界面、通用工具和参考示例。
Android入门
练习——模拟器的使用
需求说明:
设置模拟器语言为中文 模拟器横屏竖屏切换
实现步骤
启动模拟器 设置语言 CTRL+F11
完成时间:10分钟
Android SDK介绍3-1
目录结构
add-ons:Google map API docs:帮助文档 plateforms:提供了多版本平台的支持 samples:官方附带Android应用程序 tools:实用工具和辅助工具(exe文件)
提供了包括WebKit、SQLite和libc等C/C++库
包含核心库和Dalvik VM。 核心库提供了大部分Java核心类库。 Dalvik VM使用寄存器作为数据存储单元,且将Java类 文件组合成多个可执行的.dex文件,大大提高运行性能 Android平台是基于linux内核2.6版本,该内核主要负 责设备驱动,内存管理,电源管理等操作系统方面的职 责
Android英文本义 “机器人”,一般音译 “安 卓” Android以Java为编程语言
Android平台的发展
2007年11月,Google发布Android手机操作系统 2008年 9月, Android SDK1.0发布,同期由 HTC 制造,由T-mobile供应的 G1上市 2009年5月,Android1.5(Cupcake)发布 2009年10月,Android1.6(Donut)发布 2010年2月,Android2.0/2.1(Éclair)发布 2010年12月,Android2.3(Gingerbread)发布 2011 年 2 月, Google 正式发布了专用于平板电脑 的Android3.0(Honeycomb)
应用和框架
核心应用,例如联系人,电子邮件,电话,浏览 器,日历,地图, ... 充分访问所有核心应用框架API 简化组件的重用 用Java 编写应用程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言 为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西。本篇的主题如下:
1、应用程序基础 2、应用程序组件 2.1、活动(Activities) 2.2、服务(Services) 2.3、广播接收者(Broadcast receivers) 2.4、内容提供者(Content providers)
因为这些内容比较理论,且没有用例子来说明,看上去会比较枯燥,我就把这几篇写得算比较短,方便大家吸收。
1、应用程序基础
Android应用程序是用Java编程语言写的。编译后的Java代码——包括应用程序要求的任何数据和资源文件,通过aapt工具捆绑成一个Android包,归档文件以.apk为后缀。这个文件是分发应用程序和安装到移动设备的中介或工具,用户下载这个文件到他们的设备上。一个.apk文件中的所有代码被认为是一个应用程序。 aapt: aapt是Android Asset Packaging Tool的首字母缩写,这个工具包含在SDK的tools/目录下。查看、创建、更新与zip兼容的归档文件(zip、jar、apk)。它也能将资源文件编译成二进制包。
尽管你可能不会经常直接使用appt,但是构建脚本(build scripts)和IDE插件会使用这个工具打包apk文件,构成一个Android应用程序。
如需更详细的使用细节,打开一个终端,进入tools/目录下,运行命令:
Linux或Mac操作系统:./aapt Windows:aapt.exe
注意:tools/目录是指android SDK目录下的/platforms/android-X/tools/ 在许多方面,每个Android应用程序生活在它自己的世界: 默认情况下,每一个应用程序运行在它自己的Linux进程中。当应用程序中的任何代码需要执行时,Android将启动进程;当它不在需要和系统资源被其他应用程序请求时,Android将关闭进程。 每个应用程序都有他自己的Java虚拟机(VM),因此应用程序代码独立于其他所有应用程序的代码运行。 默认情况下,每个应用程序分配一个唯一的Linux用户的ID。权限设置为每个应用程序的文件仅对用户和应用程序本身可见——虽然也有一些方法可以暴露他们给其他应用程序。
有可能设置两个应用程序共享一个用户ID,这种情况下,他们能够看到对方的文件。为了节省系统资源,具有相同ID的应用程序也可以安排在同一个Linux进程中,共享同一个VM。
2、应用程序组件
Android的一个主要特点是,一个应用程序可以利用其他应用程序的元素(假设这些应用程序允许的话)。例如,如果你的应用程序需要显示一个图像的滚动列表,且其他应用程序已经开发了一个合适的滚动条并可以提供给别的应用程序用,你可以调用这个滚动条来工作,而不用自己开发一个。你的应用程序不用并入其他应用程序的代码或链接到它。相反,当需求产生时它只是启动其他应用程序块。
对于这个工作,当应用程序的任何部分被请求时,系统必须能够启动一个应用程序的进程,并实例化该部分的Java对象。因此,不像其他大多数系统的应用程序,Android应用程序没有一个单一的入口点(例如,没有main()函数)。相反,系统能够实例化和运行需要几个必要的组件。有四种类型的组件:
1. 活动(Activities) 2. 服务(Services) 3. 广播接收者(Broadcast receivers) 4. 内容提供者(Content providers)
然而,并不是所有的应用程序都必须包含上面的四个部分,你的应用程序可以由上面的一个或几个来组建。当你决定使用以上哪些组件来构建Android应用程序时,你应该将它们列在AndroidManifest.xml文件中,在这个文件中你可以声明应用程序组件以及它们的特性和要求。关于AndroidManifest.xml在Android开发之旅:HelloWorld项目的目录结构的1.6、AndroidManifest.xml简单介绍了一下,你可以参考一下,下篇也将介绍它。
2.1、活动(Activities)
一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;第二个活动,写信息给选定的联系人;其他活动,重新查看旧信息或更改设置。虽然他们一起工作形成一个整体的用户界面,但是每个活动是独立于其他活动的。每一个都是作为Activity基类的一个子类的实现。
android.app.Activity类:因为几乎所有的活动(activities)都是与用户交互的,所以Activity类关注创建窗口,你可以用方法setContentView(View)将自己的UI放到里面。然而活动通常以全屏的方式展示给用户,也可以以浮动窗口或嵌入在另外一个活动中。有两个方法是几乎所有的Activity子类都实现的:
1. onCreate(Bundle):初始化你的活动(Activity),比如完成一些图形的绘制。最重要的是,在这个方法里你通常将用布局资源(layout resource)调用setContentView(int)方法定义你的UI,和用findViewById(int)在你的UI中检索你需要编程地交互的小部件(widgets)。setContentView指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成为一个意图(Intent),然后这个意图对应有相关的activity进行处理。 2. onPause():处理当离开你的活动时要做的事情。最重要的是,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。
一个应用程序可能只包含一个活动,或者像刚才提到的短信应用,它可能包含几个活动。这些活动是什么,以及有多少,当然这取决于它的应用和设计。一般来讲,当应用程序被启动时,被标记为第一个的活动应该展示给用户。从一个活动移动到另一个活动由当前的活动完成开始下一个。
每一个活动都有一个默认的窗口。一般来讲,窗口会填满整个屏幕,但是它可能比屏幕小或浮在其他窗口上。一个活动还可以使用额外的窗口——例如弹出式对话框,或当一用户选择屏幕上一个特定的项时一个窗口显示给用户重要的信息。
窗口的可视内容是由继承自View基类的一个分层的视图—对象提供。每个视图控件是窗口内的一个特定的矩形空间。父视图包含和组织子女视图的布局。叶子视图(在分层的底层)绘制的矩形直接控制和响应用户的操作。因此,一个视图是活动与用户交互发生的地方。例如,一个视图可能显示一个小的图片和当用户点击图片时发起一个行为。Android有一些现成的视图你可以使用,包括按钮(buttons)、文本域(text fields)、滚动条(scroll bars)、菜单项(menu items)、复选框(check boxes)等等。
通过Activity.setContentView() 方法放置一个视图层次在一个活动窗口中。内容视图(content view)是层次结构的根视图对象。层次结构如下图所示:
图1、视图的层次结构 Activity.setContentView() 方法: public void setContentView (int layoutResID):根据布局资源设置活动的界面。 资源将被夸大,添加布局资源文件中所有的最高层的视图( top-level views )到活动.
2.2、 服务(Services)
一个服务没有一个可视化用户界面,而是在后台无期限地运行。例如一个服务可能是播放背景音乐而用户做其他一些事情,或者它可能从网络获取数据,或计算一些东西并提供结果给需要的活动(activities)。每个服务都继承自Service基类。 每个服务类在AndroidManifest.xml中有相应的声明。服务可以通过Context.startService()和Context.bindService()启动。
一个典型的例子是一个媒体播放器播放一个播放列表中的歌曲。该播放器应用程序将可能有一个或多个活动(activities),允许用户选择歌曲和开始播放。然而,音乐播放本身不会被一个活动处理,因为用户希望保持音乐继续播放,当用户离开播放器去做其他事情时。为了保持音乐继续播放,媒体播放器活动可以启动一个服务运行在后台。系统将保持音乐播放服务运行,甚至媒体播放器离开屏幕时。 可以连接到(绑定到)一个持续运行的服务(并启动服务,如果它尚未运行)。连接之后,你可以通过服务暴露的接口与服务交流。对于音乐服务,这个接口可以允许用户暂停、倒带、停止和重新播放。
像活动(activities)和其他组件一样,服务(services)运行在应用程序进程中的主线程中。因此,他们将不会阻止其他组件或用户界面,他们往往产生其他一些耗时的任务(如音乐播放)。
2.3、广播接收者(Broadcast receivers)
一个广播接收者是这样一个组件,它不做什么事,仅是接受广播公告并作出相应的反应。许多广播源自于系统代码,例如公告时区的改变、电池电量低、已采取图片、用户改变了语言偏好。应用程序也可以发起广播,例如为了他其他程序知道某些数据已经下载到设备且他们可以使用这些数据。
一个应用程序可以有任意数量的广播接收者去反应任何它认为重要的公告。所有的接受者继承自BroadcastReceiver基类。 BroadcastReceiver类: 是接受sendBroadcast()发送的意图(intents)的基类。可以用Context.registerReceiver()动态地注册这个类的实例,或者通过AndroidManifest.xml中标签静态发布。注意:如果你在Activity.onResume() 注册一个接受者,你应该在Activity.onPause()注销它。因为当暂停时你不会收到意图,注销它将削减不必要的系统开销。不要在Activity.onSaveInstanceState()中注销它,因为它将不会被调用,如果用户移动到先前的堆栈。
有两种主要的可接受广播类型:
1. 正常广播(由Context.sendBroadcast发送)是完全异步的。所有的广播接收者以无序方式运行,往往在同一时间接收。这样效率较高,但是意味着接受者不能使用结果或终止广播数据传播。 2. 有序广播(由Context.sendOrderedBroadcast发送)一次传递给一个接收者。由于每个接收者依次执行,因此它可以传播到下一个接收器,也可以完全终止传播以便他不会传递给其他接收者。接收者的运行顺序可由匹配的意图过滤器(intent-filter)的android:priority属性控制。