Android简介
Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。在国内,联想、戴尔、多普达、飞利浦、中兴、三星、摩托罗拉、等厂商已经推出基于Android平台的智能手机。
Android体系结构介绍
Android作为一个移动设备的开发平台,其软件层次结构包括:
(1)应用程序(Application)
所有应用程序都是用Java编程语言。
一个核心应用程序设置包括(电子邮件客户端、SMS程序、浏览器、联系人........)
(2)应用程序框架(Application Framework)
丰富而又可扩展的视图(Views)
内容提供器(Content Providers)
资源管理器(Resource Manager)
通知管理器(Notification Manager )
活动管理器(Activity Manager)
(3)各种库(Libraries)和Android运行环境(Runtime)
标准C系统库(System C library)
媒体库(Media Libraries)
Surface Manager
LibWebCore
SGL
3D libraries
SQLite
(4)操作系统层(OS)
1.Android包括一组核心库(core libraries),他提供了 Java 编程语言的核心库 中大多数可用功能。
2.每个 Android 应用程序运行在自己的进程上,有自己的 Dalvik 虚拟机实例。 Dalvik这样是为了使一个设备可以有效地运行多个虚拟机。 Dalvik VM 以被优化 占用最小内存的Dalvik Executable (.dex)格式执行文件。VM 是基于寄存器的,并 通过一个 Java 语言编译器的编译来运行,而这个Java编译器已经被内置的“dx” 工具转成.dex 格式。
3.Dalvik MicrosoftVM 依赖 Linux 内核获得基本功能,如线程处理和低层内存管 理。
Android 模拟器
(1) 模拟器概述
如图是模拟器的全景图,从图可以看出模拟器有两部分组成
左边部分模拟手机显示
右边部分模拟手机键盘输入。
此外模拟器手机部分内置了一些Google公司自带的程序,如打电话,发短 信,GoogleMap等。
(2)模拟器与真机的区别
Android的模拟器功能很强,但是模拟器乃然只是尽量去模拟手机,有些功能还是模 拟不了的例如:
模拟器不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和 呼出).
模拟器支持USB连接
模拟器不支不持相见/视频捕捉
模拟器不支持音频输入(捕捉),但支持输出(重放)
模拟器不支持扩展耳机
模拟器不支持蓝牙
模拟器不能确定连接状态
模拟器不能确定电池电量水平和充电状态
模拟器不能确定SDk卡的插入/弹出
(3)模拟器使用注意事项:
平时使用模拟器Emulator测试开发时,当遇到计算机提示,系统C盘空间不足之类的信息,这是由于Android模拟器运行时生成几个tmp后缀的临时文件,其可能占用几GB的磁盘空间。----可以到C:\Documents and Settings\用户名\Local Settings\Temp\AndroidEmulator目录清理
在使用eclipse开发工具进行调试,当第一运行程序,平启动模拟器的时间比较长,大概需要一分钟。为了解决时间过长的这个问题,当模拟器启动后,每次运行新的程序不需要关闭旧的模拟器,而是直接在eclipse开发工具里边直接单击运行即可。
(4)模拟器的操作
如何安装 Android SDK 和Eclipse 插件
①所需开发环境:
JDK 5 或 JDK 6 (仅有JRE不够)
Eclipse 3.5 (galileo)
②下载ADT 的Eclipse 插件
http://dl.google.com/android/ADT-0.9.5.zip
③安装 Eclipse 插件 (ADT)
启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按 钮,在对话框的name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下 载的ADT插件压缩文件。
点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools (会 选中下面的“Android Developer Tools”和 “Android Editors“),点击 Next,最后 重启 Eclipse。
④下载Android SDK:
http://dl.google.com/android/android-sdk_r04-windows.zip
下载完SDK后,把.zip文件解压到你电脑上合适位置。启动 Eclipse,选择 window->preferences,在打开的视图左边点击android,在右边的SDK Location中 选择Android SDK所在位置。
Android ADT的安装和更新
在在不同的eclipse中安装ADT的操作不同.如下Eclipse 3.5为例:
Start Eclipse, then select Help > Install New Softare.
In the Available Software dialog, click Add....
In the Add Site dialog that appears, enter a name for the remote site (for example, “Android Plugin”) in the “Name” field. In the “Location” field, enter this URL:https://dl-ssl.google.com/android/eclipse/ Click OK.
Back in the Available Software view, you should now see "Developer Tools" added to the list. Select the checkbox next to Developer Tools, which will automatically select the nested tools Android DDMS and Android Development Tools. Click Next.
In the resulting Install Details dialog, the Android DDMS and Android Development Tools features are listed. Click Next to read and accept the license agreement and install any dependencies, then click Finish.
Restart Eclipse.
(5)Android工程目录介绍
1.源文件都在src/目录中, 包括活动Java文件和所有其他的Java应用程序的文件
2.gen/包名/R.java文件。这个文件时Eclipse自动生成的,应用开发者不需要去修改 里边的内容。里边内容的修改也是由Eclipse自动处理。R文件对于应用开发者来 说基本上没有什么用,但是对Android系统非常有用。在这个文件当中,Android 对象即将介绍的资源进行了全局索引。在下边介绍的res文件夹中内容发生任何变 化,R.java都会重新编译,同步更新。
3.assets/目录里边主要放置多媒体等一些文件。
4.res/ 为应用程序资源,如drawable文件,布局文件,字符串值等,当中的资源文 件发生变化的时候,上边的R文件的内容就会自动发生变化。
---drawable 主要放置应用到的图片资源
---layout 主要放置用到的布局文件,都是xml文件
---values 主要放置字符串(String.xml)颜色(color.xml),数组(Arrays.xml)
5.androidMainfest.xml 这个文件相当重要,相当于应用的配置文件。在这个文件里 边,必须声明应用的名称,应用所用到的Activity,Service,以及receiver等。
6.default.properties
(6)Android API 核心开发包介绍
android.app:提供高层的程序模型,提供基本的运行环境
android.content 包含各种的对设备上的数据进行访问和发布的类
android.database:通过内容提供者浏览和操作数据库,包含底层API处理数据库。
android.graphics:底层的图形库,包含画布,通过过滤,点,矩形,可以将他们直接 绘制到屏幕上,作为核心渲染包,提供图形渲染功能。
android.location:定位和相关服务的类
android.media:提供一些类挂你了多种音频,视频的媒体接口
android.net:提供帮助网络访问的类,超过通过的java.net.*接口
android.os:提供了系统服务,消息传输和进程间通信IPC
android.provider:提供类的访问Android的内容提供者
android.telephony:提供与拨打电话相关的API的交互。
android.view:提供基础的用户界面接口框架
android.util:涉及工具性的方法,例如时间日期的操作。
android.widget:包含各种UI元素(大部分是可见的)在应用程序的屏幕中使用。
Android.webikit 包含一系列工作在基于Web内容的API