安卓(Android)平台开发简介
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
平台介绍及开发基本பைடு நூலகம்程
2011-4月
Android是Google在2007年11月5日推出的开源手机操作 系统。目前Android在中国的发展是 非常火的,为了节省研 发费用,国内很多的手机厂商和移动运营商纷纷加入到了 android阵营,其中包括中国移动,中国联通,中国电信,华为, 联想等大企业。在中国不管是知名的手机生产厂商还是山寨手 机厂商,都已经开始生产Android操作系统的手机。另外 android应用的范围不仅仅在手机,还被应用在汽车、平板电 脑、和智能上网设备上,听说国外已经有了安装有Android系 统,并且能够上网的智能电饭煲,用户在千里之外就可以操作 电饭煲进行煮饭。由于大家大多使用的手机都属傻瓜手机,也 就是打打电话、发发短信。从今天开始,大家就应该改变这个 观念了,你们需要把智能手机看作是一台电脑,它能完成电脑 所能完成的一切。所以你可以像在电脑一样,在智能手机上安 装软件,以满足你工作和生活的需要。
Service服务和接收器
服务没有可视化的用户界面,而是在一段时间内在后台运行。比如说,一个服务可以在 用户做其它事情的时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提 供给需要这个运算结果的activity使用。每个服务都继承自Service基类。 一个媒体播放器播放播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个或多 个activity来给用户选择歌曲并进行播放。然而,音乐播放这个任务本身不应该为任何activity 所处理,因为用户期望在他们离开播放器应用程序而开始做别的事情时,音乐仍在继续播放。 为达到这个目的,媒体播放器activity应该启用一个运行于后台的服务。而系统将在这个 activity不再显示于屏幕之后,仍维持音乐播放服务的运行。 你可以连接至(绑定)一个正在运行的服务(如果服务没有运行,则启动之)。连接之后, 你可以通过那个服务暴露出来的接口与服务进行通讯。对于音乐服务来说,这个接口可以允 许用户暂停、回退、停止以及重新开始播放。 如同activity和其它组件一样,服务运行于应用程序进程的主线程内。所以它不会对其它组件 或用户界面有任何干扰,它们一般会派生一个新线程来进行一些耗时任务(比如音乐回放)。
最后一种解决方案是:让你的电脑连接上互联网。
在项目上右键点击run as Android application,如下图:
src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件 由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与 常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工 修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过 R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到, 没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。 res/ 资源(Resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。 assets资源目录 Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下 的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如: file:///android_asset/xxx.3gp AndroidManifest.xml 项目清单文件 这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应 用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件 中声明使用权限。 default.properties 项目环境信息,一般是不需要修改此文件
如何安装 Android SDK 和Eclipse 插件
所需开发环境:
JDK 5或以上版本(仅有JRE不够) 、Eclipse 3.4 或以上版本,推荐使用“伽利略”版。
下载用于在Eclipse 开发android应用的ADT 插件
在企业开发中,很多程序员使用Eclipse IDE作为应用的开发环境。为了使得Android应用的创建,运行 和调试更加方便快捷。Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT) 下载地址:http://dl.google.com/android/ADT-0.9.8.zip
Broadcast Receiver 接收器
广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。很多广 播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或 者用户改变了语言选项。应用程序也可以进行广播──比如说,通知其它应用程序 一些数据下载完成并处于可用状态。 应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响 应。所有的接收器均继承自BroadcastReceiver基类。 广播接收器没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息, 或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意 力──闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标, 用户可以打开它并获取消息。
打开Android模拟器时,出现无信号,拔打电话或发短信时,提示“尚未注册网络”错误信息的解决方 案如下。 场景一:你的电脑没有连接上互联网,同时也没有在局域网。
解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下: IP地址:192.168.1.100 子网掩码:255.255.255.0 默认网关:192.168.1.100 首选DNS服务器:192.168.1.100
打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择Android Project,如下图:
点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行 的Android应用,我们可以通过下面方式运行此应用: 点击工具栏上机器人形状的虚拟设备管理器(简称“AVD“),如下:
Activity 活动
Activity是为用户操作而展示的可视化用户界面。比如说,一个activity可以展示一个菜单项列 表供用户选择,或者显示一些包含说明的照片。一个短消息应用程序可以包括一个用于显示 做为发送对象的联系人的列表的activity,一个给选定的联系人写短信的activity以及翻阅以前 的短信和改变设置的activity。尽管它们一起组成了一个内聚的用户界面,但其中每个activity 都与其它的保持独立。每个都是以Activity类为基类的子类实现。 一个应用程序可以只有一个activity,或者,如刚才提到的短信应用程序那样,包含很多个。 每个activity的作用,以及其数目,自然取决于应用程序及其设计。一般情况下,总有一个应 用程序被标记为用户在应用程序启动的时候第一个看到的。从一个activity转向另一个的方式 是靠当前的activity启动下一个。 每个activity都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也 可以是一个小的位于其它窗口之上的浮动窗口。一个activity也可以使用超过一个的窗口──比 如,在activity运行过程中弹出的一个供用户反应的小对话框,或是当用户选择了屏幕上特定 项目后显示的必要信息。 窗口显示的可视内容是由一系列视图构成的,这些视图均继承自 View 基类。每个视图均控 制着窗口中一块特定的矩形空间。父级视图包含并组织它子视图的布局。叶节点视图(位于 视图层次最底端)在它们控制的矩形中进行绘制,并对用户对其直接操作做出响应。所以, 视图是activity与用户进行交互的界面。比如说,视图可以显示一个小图片,并在用户指点它 的时候产生动作。Android有很多既定的视图供用户直接使用,包括按钮、文本域、卷轴、菜 单项、复选框等等。
Content Provider
内容提供者将一些特定的应用程序数据供给其它应用程序使用。数据可以存储 于文件系统、SQLite数据库或其它方式。内容提供者继承于ContentProvider 基类, 为其它应用程序取用和存储它管理的数据实现了一套标准方法。然而,应用程序并 不直接调用这些方法,而是使用一个 ContentResolver 对象,调用它的方法作为替 代。ContentResolver可以与任意内容提供者进行会话,与其合作来对所有相关交 互通讯进行管理。 参阅独立的内容提供者章节获得更多关于使用内容提供者的内容。 每当出现一个需要被特定组件处理的请求时,Android会确保那个组件的应用程序 进程处于运行状态,或在必要的时候启动它。并确保那个相应组件的实例的存在, 必要时会创建那个实例。
px (pixels)像素 一般HVGA代表320x480像素,这个用的比较多。 dip或dp (device independent pixels)设备独立像素 这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 sp (scaled pixels — best for text size)比例像素 主要处理字体的大小,可以根据系统的字体自适应。
除了上面三个显示单位,下面还有几个不太常用: in (inches)英寸 mm (millimeters)毫米 pt (points)点,1/72英寸 为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。
Android四大组建
Android开发平台是开放的平台,而位于四层框架顶端的应用开发,必然涉及 到Android组件。本文将为大家详细介绍Android组件。 组件(Component),在谈及所谓架构和重用的时候,是一个重要的事情。很多 时候都会说基于组件的软件架构,指的是期望把程序做乐高似的,有一堆接口标准 封装完整的组件放在哪里,想用的时候取上几个一搭配,整个程序就构建完成了。 在开篇的时候就在说,Android是一个为组件化而搭建的平台,它引入所谓MashUp的概念,这使得你在应用的最上层,想做的不组件化都是很困难的一件事,具 体说来,Android有四大组件: Activity、Service、Broadcast Receiver、Content Provider。
下载安装Android SDK:
Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。 下载地址: http://dl.google.com/android/android-sdk_r07-windows.zip 下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window->preferences,在打 开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。
场景二:你的电脑没有连接上互联网,但在局域网。
解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下: IP地址:设置成你所在局域网的IP,如:192.168.1.100 子网掩码:设置成你所在局域网的掩码,如:255.255.255.0 默认网关:设置成你所在局域网的网关,一般网关的IP格式为:*.*.*.1,如:192.168.1.1 首选DNS服务器:设置成你所在局域网的路由器IP,一般路由器的IP格式为:*.*.*.1,如:192.168.1.1
安装 Eclipse 插件 (ADT)
启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的 name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。 点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的 “Android Developer Tools”和 “Android Editors“),点击 Next,最后重启 Eclipse。
2011-4月
Android是Google在2007年11月5日推出的开源手机操作 系统。目前Android在中国的发展是 非常火的,为了节省研 发费用,国内很多的手机厂商和移动运营商纷纷加入到了 android阵营,其中包括中国移动,中国联通,中国电信,华为, 联想等大企业。在中国不管是知名的手机生产厂商还是山寨手 机厂商,都已经开始生产Android操作系统的手机。另外 android应用的范围不仅仅在手机,还被应用在汽车、平板电 脑、和智能上网设备上,听说国外已经有了安装有Android系 统,并且能够上网的智能电饭煲,用户在千里之外就可以操作 电饭煲进行煮饭。由于大家大多使用的手机都属傻瓜手机,也 就是打打电话、发发短信。从今天开始,大家就应该改变这个 观念了,你们需要把智能手机看作是一台电脑,它能完成电脑 所能完成的一切。所以你可以像在电脑一样,在智能手机上安 装软件,以满足你工作和生活的需要。
Service服务和接收器
服务没有可视化的用户界面,而是在一段时间内在后台运行。比如说,一个服务可以在 用户做其它事情的时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提 供给需要这个运算结果的activity使用。每个服务都继承自Service基类。 一个媒体播放器播放播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个或多 个activity来给用户选择歌曲并进行播放。然而,音乐播放这个任务本身不应该为任何activity 所处理,因为用户期望在他们离开播放器应用程序而开始做别的事情时,音乐仍在继续播放。 为达到这个目的,媒体播放器activity应该启用一个运行于后台的服务。而系统将在这个 activity不再显示于屏幕之后,仍维持音乐播放服务的运行。 你可以连接至(绑定)一个正在运行的服务(如果服务没有运行,则启动之)。连接之后, 你可以通过那个服务暴露出来的接口与服务进行通讯。对于音乐服务来说,这个接口可以允 许用户暂停、回退、停止以及重新开始播放。 如同activity和其它组件一样,服务运行于应用程序进程的主线程内。所以它不会对其它组件 或用户界面有任何干扰,它们一般会派生一个新线程来进行一些耗时任务(比如音乐回放)。
最后一种解决方案是:让你的电脑连接上互联网。
在项目上右键点击run as Android application,如下图:
src/ java原代码存放目录 gen/ 自动生成目录 gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件 由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与 常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工 修改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过 R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到, 没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。 res/ 资源(Resource)目录 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。 assets资源目录 Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下 的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如: file:///android_asset/xxx.3gp AndroidManifest.xml 项目清单文件 这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应 用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件 中声明使用权限。 default.properties 项目环境信息,一般是不需要修改此文件
如何安装 Android SDK 和Eclipse 插件
所需开发环境:
JDK 5或以上版本(仅有JRE不够) 、Eclipse 3.4 或以上版本,推荐使用“伽利略”版。
下载用于在Eclipse 开发android应用的ADT 插件
在企业开发中,很多程序员使用Eclipse IDE作为应用的开发环境。为了使得Android应用的创建,运行 和调试更加方便快捷。Android的开发团队专门针对Eclipse IDE定制了一个插件:Android Development Tools(ADT) 下载地址:http://dl.google.com/android/ADT-0.9.8.zip
Broadcast Receiver 接收器
广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。很多广 播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或 者用户改变了语言选项。应用程序也可以进行广播──比如说,通知其它应用程序 一些数据下载完成并处于可用状态。 应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响 应。所有的接收器均继承自BroadcastReceiver基类。 广播接收器没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息, 或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意 力──闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标, 用户可以打开它并获取消息。
打开Android模拟器时,出现无信号,拔打电话或发短信时,提示“尚未注册网络”错误信息的解决方 案如下。 场景一:你的电脑没有连接上互联网,同时也没有在局域网。
解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下: IP地址:192.168.1.100 子网掩码:255.255.255.0 默认网关:192.168.1.100 首选DNS服务器:192.168.1.100
打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择Android Project,如下图:
点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行 的Android应用,我们可以通过下面方式运行此应用: 点击工具栏上机器人形状的虚拟设备管理器(简称“AVD“),如下:
Activity 活动
Activity是为用户操作而展示的可视化用户界面。比如说,一个activity可以展示一个菜单项列 表供用户选择,或者显示一些包含说明的照片。一个短消息应用程序可以包括一个用于显示 做为发送对象的联系人的列表的activity,一个给选定的联系人写短信的activity以及翻阅以前 的短信和改变设置的activity。尽管它们一起组成了一个内聚的用户界面,但其中每个activity 都与其它的保持独立。每个都是以Activity类为基类的子类实现。 一个应用程序可以只有一个activity,或者,如刚才提到的短信应用程序那样,包含很多个。 每个activity的作用,以及其数目,自然取决于应用程序及其设计。一般情况下,总有一个应 用程序被标记为用户在应用程序启动的时候第一个看到的。从一个activity转向另一个的方式 是靠当前的activity启动下一个。 每个activity都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也 可以是一个小的位于其它窗口之上的浮动窗口。一个activity也可以使用超过一个的窗口──比 如,在activity运行过程中弹出的一个供用户反应的小对话框,或是当用户选择了屏幕上特定 项目后显示的必要信息。 窗口显示的可视内容是由一系列视图构成的,这些视图均继承自 View 基类。每个视图均控 制着窗口中一块特定的矩形空间。父级视图包含并组织它子视图的布局。叶节点视图(位于 视图层次最底端)在它们控制的矩形中进行绘制,并对用户对其直接操作做出响应。所以, 视图是activity与用户进行交互的界面。比如说,视图可以显示一个小图片,并在用户指点它 的时候产生动作。Android有很多既定的视图供用户直接使用,包括按钮、文本域、卷轴、菜 单项、复选框等等。
Content Provider
内容提供者将一些特定的应用程序数据供给其它应用程序使用。数据可以存储 于文件系统、SQLite数据库或其它方式。内容提供者继承于ContentProvider 基类, 为其它应用程序取用和存储它管理的数据实现了一套标准方法。然而,应用程序并 不直接调用这些方法,而是使用一个 ContentResolver 对象,调用它的方法作为替 代。ContentResolver可以与任意内容提供者进行会话,与其合作来对所有相关交 互通讯进行管理。 参阅独立的内容提供者章节获得更多关于使用内容提供者的内容。 每当出现一个需要被特定组件处理的请求时,Android会确保那个组件的应用程序 进程处于运行状态,或在必要的时候启动它。并确保那个相应组件的实例的存在, 必要时会创建那个实例。
px (pixels)像素 一般HVGA代表320x480像素,这个用的比较多。 dip或dp (device independent pixels)设备独立像素 这个和设备硬件有关,一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 sp (scaled pixels — best for text size)比例像素 主要处理字体的大小,可以根据系统的字体自适应。
除了上面三个显示单位,下面还有几个不太常用: in (inches)英寸 mm (millimeters)毫米 pt (points)点,1/72英寸 为了适应不同分辨率,不同的像素密度,推荐使用dip ,文字使用sp。
Android四大组建
Android开发平台是开放的平台,而位于四层框架顶端的应用开发,必然涉及 到Android组件。本文将为大家详细介绍Android组件。 组件(Component),在谈及所谓架构和重用的时候,是一个重要的事情。很多 时候都会说基于组件的软件架构,指的是期望把程序做乐高似的,有一堆接口标准 封装完整的组件放在哪里,想用的时候取上几个一搭配,整个程序就构建完成了。 在开篇的时候就在说,Android是一个为组件化而搭建的平台,它引入所谓MashUp的概念,这使得你在应用的最上层,想做的不组件化都是很困难的一件事,具 体说来,Android有四大组件: Activity、Service、Broadcast Receiver、Content Provider。
下载安装Android SDK:
Android SDK包含了开发Android应用所依赖的jar文件、运行环境及相关工具。 下载地址: http://dl.google.com/android/android-sdk_r07-windows.zip 下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择window->preferences,在打 开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。
场景二:你的电脑没有连接上互联网,但在局域网。
解决办法:右键点击网上邻居,选择"属性",在网络连接窗口中右键点击"本地连接",选择"属性",设置TCP/IP属性如下: IP地址:设置成你所在局域网的IP,如:192.168.1.100 子网掩码:设置成你所在局域网的掩码,如:255.255.255.0 默认网关:设置成你所在局域网的网关,一般网关的IP格式为:*.*.*.1,如:192.168.1.1 首选DNS服务器:设置成你所在局域网的路由器IP,一般路由器的IP格式为:*.*.*.1,如:192.168.1.1
安装 Eclipse 插件 (ADT)
启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的 name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。 点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会选中下面的 “Android Developer Tools”和 “Android Editors“),点击 Next,最后重启 Eclipse。