2024年8月24日发(作者:疏合瑞)
GoogleAndroid
平台简介
d发展历史
2007年11月5日,Google发布基于Linux平台的开源移动手机平台:Android。
该平台由操作系统、中间件、用户界面和、应用软件等组成,号称是首个为移动终端打
造的真正开放的移动开发平台。
目的:随时随地为每个人提供信息,希望通过建立标准化、开放式的移动电话软件
平台,在移动产业内形成一个开放式的生态系统,并且让移动通信不依赖于设备甚至平
台。
Android平台研发队伍包括手机制造商、电信运营商、半导体公司、软件公司等群体内
的48家公司(2009年5月18日)
Android的未来展望:
强大的界面与搜索功能,融入全部Web应用的开放平台。
对第三方软件完全开放的平台,开发者拥有了更大的自由度。
Google向开发人员免费提供Android系统。
Android项目获得了手机运营商、手机厂商、开发者和消费者的大力支持。
2.
3.
Android
平台所提供的功能
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
应用程序架构
Dalvik虚拟机
Android浏览器
Android绘图能力
SQLite数据库
多媒体支持
GSM驱动模块
Bluetooth、EDGE、3G及wifi
Camera、GPS、电子指南针(compass)、加速感应器(accelerometer)
Android开发环境
android
框架简介
1.
2.
3.
4.
5.
android框架共由5部分组成
Applications(应用程序层)
ApplicationsFramework(应用程序框架)
AndroidRuntime(Android执行环境)
Libraries(函数库)
LinuxKernel(Linux内核)
1.
2.
3.
4.
Android应用程序层
Android同一系列核心作用程序包一起发布的应用程序,例如E-mail客户端、SMS
短消息程序、日历、地图、浏览器及联系人管理程序等。
Android应用框架
完全访问Android核心应用程序所使用的API框架。
Android运行库
核心库(CoreLibraries),该核心库提供了JAVA编程语言核心库的大多数功能。
Dalvik虚拟机(DalvikVirtualMachine),一种寄存器形态的虚拟机。
Android程序库
Android包含一些C/C++库,能够被Android系统中不同的组件使用,它们通过
Android应用程序框架为开发者提供服务。
Libc:标准C系统函数库,专门为基于嵌入式Linux设备所定制。
媒体库,基于PacketVideoOpenCORE。支持编码方式包括:MPEG-4、H.264、MP3、
AAC、AMR、JPG及PNG
SurfaceManager:对显示子系统的管理,并为多个应用程序提供2D和3D图层的
无缝融合。
LibWebCore:Web浏览器引擎,支持Android浏览器和一个可嵌入的Web视图。
SGL:底层的2D图形引擎。
5.
3Dlibraries:基于OpenGLES1.0APIS实现,该库可以使用硬件3D加速或者使用
高度优化的3D软加速。
FreeType:位图(Bitmap)和矢量(Vector)字体显示。
SQLite:一个对于所有应用程序可用的、功能强大的轻量级关系型数据库引擎。
Android内核
Android的核心系统服务依赖于Linux2.6内核,如安全性、内在管理、进程管理、
网络协议栈和驱动模型。Linux内核也同时作为硬件和软件之间的抽象层。
Android
开发工具
d模拟器(Emulator)
AndroidEmulator是一个Dalvik虚拟机的运行工具,它可以像一台Android手机设
备一样运行Android应用程序。
Dalvik调试监控服务工具(DDMS,DalvikDebugMonitorService)
DDMS是一个功能十分强大的调试工具,它可以监控程序的运行,查看内存中堆
和栈的使用情况,监控和暂停某些运行中的线程,还可以查看Emulator的文件系统。
Android资源打包工具(AAPT,AndroidAssetPackagingTool)
Android的资源打包工具,可以通过AAPT工具来创建.apk文件。
Android调试工具(ADB,AndroidDebugBridge)
ADB是基于客户端/服务器模式的连接Emulator或者是真实手机设备的调试工具。
SQLite数据库
Android使用SQLite,是由于它是一个用于实现自包含、非服务式、零配置、事务
化的SQL数据库引擎。
Traceview工具
可以通过Traceview图形化界面的读取工具来读取Android的日志信息。
mssdcard卡
创建一张虚拟的SD卡。
dx工具
dx工具是将.class文件中的JAVA字节码重写为Android字节码并存储在.dex文件
中的工具。
activityCreator工具
activityCreator是一个创建Android工程的工具。
2.
3.
4.
5.
6.
7.
8.
9.
Android
环境搭建
见Android环境建立.doc
创建
HelloWorld
1.启动eclipse,如果ADT插件安装成功,则在工具栏中会出现图标,点击
者点击windows---AndroidSDKandAVDmanager)打开模拟器配置视图。
图标(或
2.视图会显示已经创建好的各种版本的模拟器,点击Start启动模拟器。如图
3.默认点击Launch,启动模拟器。如下图:
4.切换到eclipse视图,点击文件----新建----AndroidProject,打开创建android工程视图:
5.点击完成,成功创建androidproject,如下图:
6.Eclipse将会根据创建工程时自动生成了HelloWorldActivity类,gen源文件夹以下文件
均是系统自动生成,不需要客户自行修改。
Android1.5是androidSDK版本为1.5的工具包,里面有需要项目需要所有的类
assets是资源文件夹,存放一些系统需要用到的资源。需要用路径引用。
res是资源文件夹,drawable存放系统需要的图片或者自定义的颜色值;layout
存放系统需要的布局文件;values存放一些自定义字符串值。以上资源均会在系统
自动生成的R类文件里有定义,可以引用在R中的ID,ID名为资源文件名,或者
自定的字符串的键值。
是系统配置资源文件,用于配置新建的Activity或一些权限,
例如网络访问权限等。
ties存放了系统标识和项目的使用SDK的版本号
7.打开文件,直接运行AndroidApplication,如图:
Activity
类
Activity类是一个屏幕类,各种组件需要添加在Activity里才能显示,组件的各种交互
也在Activity类中发起,相当于控制器类。如下图所示,是一个类似于ID标
识,将其布局文件传入setContentView()方法中,系统会根据布局文件会显示相应的布局。
文件:
文件
文件
文件:
文件:
Activity
的生命周期:
1.第一次启动activity1时:系统将调用首先启动的Activity的
onCreate()----onStart()----onResume()方法,onCreate()方法是第一次启动时调用的。
2.启动第二个activity2时(跳转)时,系统将先调用e()方法,然后再调用
te()----t()----me()----()方法
当activity2是以Dialog形式启动时,由于不完全遮挡前一个activity1,所以avtivity1将
不调用onStop()方法。
3.当activity2显示在首页时,点击,将调用e()----art()
----t()----me()----()----roy()。
4.当某个activity触发finish()方法时,将会调用onPause()----onStop()----onDestroy()方法。
5.点击时,系统将调用onPause()----onStop()----onDestroy()方法。
6.当内存不够时,系统会自动回收资源,将调用onDestroy()方法。
7.资源回收后再启动activity时,见第一步骤。
Android
布局:
1.LinearLayout布局:当
android:orientation=”horizontal”
时,控件将以方式排列:
控件1控件2控件3控件4控件5控件6
当android:orientation=”vertical”
时,控件将以下方式排列:
控件1
控件2
控件3
控件4
控件5
控件6
见
2.TableLayout布局:表格布局方式,跟WEB的表格布局类似。见
3.AbstractLayout布局:绝对定位布局方式,可以指定控件在特定的位置。
4.RelativeLayout布局:根据控件之间的ID与对齐方式排列,见
Android常用控件:
1.TextView:标签控件,用于显示信息,可以通过其他方式修改内容,但不能当作输入
2.EditText:输入框控件,用于用户输入信息,可编辑。
3.Button:按钮控件,用于响应用户请求之类。按钮控件还有ImageButton,RadioButton,
CheckBox等。
4.Menu:通过重写activity的onCreateOptionsMenu(Menumenu)方法,操作menu的add
方法便可以添加菜单,菜单还可以再添加子菜单。使用onOptionsItemSelected(MenuItem
item),操作item,便可以响应动作。
onCreateOptionsMenu()首次应用时创建。
onRepareOptionsMenu()每次按MENU按钮都会调用此方法
onOptionsItemSelected()单击某一个菜单项时调用此方法。
onOptionsMenuClosed()不管关闭菜单还是选择某一菜单项都会调用此方法
5.Intent:此类常用于两个activity的跳转,也可以包装数据到另一个activity,有时常与
Bundle类一起使用。此类还其他更重要的用途待开发。
6.Bundle:此类用于数据包装类,携带数据到另一个activity。
7.Handler:此类常用于在UI线程之外的地方更新UI视图。Android不允许在UI线程之
外的线程更新UI视图。
2024年8月24日发(作者:疏合瑞)
GoogleAndroid
平台简介
d发展历史
2007年11月5日,Google发布基于Linux平台的开源移动手机平台:Android。
该平台由操作系统、中间件、用户界面和、应用软件等组成,号称是首个为移动终端打
造的真正开放的移动开发平台。
目的:随时随地为每个人提供信息,希望通过建立标准化、开放式的移动电话软件
平台,在移动产业内形成一个开放式的生态系统,并且让移动通信不依赖于设备甚至平
台。
Android平台研发队伍包括手机制造商、电信运营商、半导体公司、软件公司等群体内
的48家公司(2009年5月18日)
Android的未来展望:
强大的界面与搜索功能,融入全部Web应用的开放平台。
对第三方软件完全开放的平台,开发者拥有了更大的自由度。
Google向开发人员免费提供Android系统。
Android项目获得了手机运营商、手机厂商、开发者和消费者的大力支持。
2.
3.
Android
平台所提供的功能
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
应用程序架构
Dalvik虚拟机
Android浏览器
Android绘图能力
SQLite数据库
多媒体支持
GSM驱动模块
Bluetooth、EDGE、3G及wifi
Camera、GPS、电子指南针(compass)、加速感应器(accelerometer)
Android开发环境
android
框架简介
1.
2.
3.
4.
5.
android框架共由5部分组成
Applications(应用程序层)
ApplicationsFramework(应用程序框架)
AndroidRuntime(Android执行环境)
Libraries(函数库)
LinuxKernel(Linux内核)
1.
2.
3.
4.
Android应用程序层
Android同一系列核心作用程序包一起发布的应用程序,例如E-mail客户端、SMS
短消息程序、日历、地图、浏览器及联系人管理程序等。
Android应用框架
完全访问Android核心应用程序所使用的API框架。
Android运行库
核心库(CoreLibraries),该核心库提供了JAVA编程语言核心库的大多数功能。
Dalvik虚拟机(DalvikVirtualMachine),一种寄存器形态的虚拟机。
Android程序库
Android包含一些C/C++库,能够被Android系统中不同的组件使用,它们通过
Android应用程序框架为开发者提供服务。
Libc:标准C系统函数库,专门为基于嵌入式Linux设备所定制。
媒体库,基于PacketVideoOpenCORE。支持编码方式包括:MPEG-4、H.264、MP3、
AAC、AMR、JPG及PNG
SurfaceManager:对显示子系统的管理,并为多个应用程序提供2D和3D图层的
无缝融合。
LibWebCore:Web浏览器引擎,支持Android浏览器和一个可嵌入的Web视图。
SGL:底层的2D图形引擎。
5.
3Dlibraries:基于OpenGLES1.0APIS实现,该库可以使用硬件3D加速或者使用
高度优化的3D软加速。
FreeType:位图(Bitmap)和矢量(Vector)字体显示。
SQLite:一个对于所有应用程序可用的、功能强大的轻量级关系型数据库引擎。
Android内核
Android的核心系统服务依赖于Linux2.6内核,如安全性、内在管理、进程管理、
网络协议栈和驱动模型。Linux内核也同时作为硬件和软件之间的抽象层。
Android
开发工具
d模拟器(Emulator)
AndroidEmulator是一个Dalvik虚拟机的运行工具,它可以像一台Android手机设
备一样运行Android应用程序。
Dalvik调试监控服务工具(DDMS,DalvikDebugMonitorService)
DDMS是一个功能十分强大的调试工具,它可以监控程序的运行,查看内存中堆
和栈的使用情况,监控和暂停某些运行中的线程,还可以查看Emulator的文件系统。
Android资源打包工具(AAPT,AndroidAssetPackagingTool)
Android的资源打包工具,可以通过AAPT工具来创建.apk文件。
Android调试工具(ADB,AndroidDebugBridge)
ADB是基于客户端/服务器模式的连接Emulator或者是真实手机设备的调试工具。
SQLite数据库
Android使用SQLite,是由于它是一个用于实现自包含、非服务式、零配置、事务
化的SQL数据库引擎。
Traceview工具
可以通过Traceview图形化界面的读取工具来读取Android的日志信息。
mssdcard卡
创建一张虚拟的SD卡。
dx工具
dx工具是将.class文件中的JAVA字节码重写为Android字节码并存储在.dex文件
中的工具。
activityCreator工具
activityCreator是一个创建Android工程的工具。
2.
3.
4.
5.
6.
7.
8.
9.
Android
环境搭建
见Android环境建立.doc
创建
HelloWorld
1.启动eclipse,如果ADT插件安装成功,则在工具栏中会出现图标,点击
者点击windows---AndroidSDKandAVDmanager)打开模拟器配置视图。
图标(或
2.视图会显示已经创建好的各种版本的模拟器,点击Start启动模拟器。如图
3.默认点击Launch,启动模拟器。如下图:
4.切换到eclipse视图,点击文件----新建----AndroidProject,打开创建android工程视图:
5.点击完成,成功创建androidproject,如下图:
6.Eclipse将会根据创建工程时自动生成了HelloWorldActivity类,gen源文件夹以下文件
均是系统自动生成,不需要客户自行修改。
Android1.5是androidSDK版本为1.5的工具包,里面有需要项目需要所有的类
assets是资源文件夹,存放一些系统需要用到的资源。需要用路径引用。
res是资源文件夹,drawable存放系统需要的图片或者自定义的颜色值;layout
存放系统需要的布局文件;values存放一些自定义字符串值。以上资源均会在系统
自动生成的R类文件里有定义,可以引用在R中的ID,ID名为资源文件名,或者
自定的字符串的键值。
是系统配置资源文件,用于配置新建的Activity或一些权限,
例如网络访问权限等。
ties存放了系统标识和项目的使用SDK的版本号
7.打开文件,直接运行AndroidApplication,如图:
Activity
类
Activity类是一个屏幕类,各种组件需要添加在Activity里才能显示,组件的各种交互
也在Activity类中发起,相当于控制器类。如下图所示,是一个类似于ID标
识,将其布局文件传入setContentView()方法中,系统会根据布局文件会显示相应的布局。
文件:
文件
文件
文件:
文件:
Activity
的生命周期:
1.第一次启动activity1时:系统将调用首先启动的Activity的
onCreate()----onStart()----onResume()方法,onCreate()方法是第一次启动时调用的。
2.启动第二个activity2时(跳转)时,系统将先调用e()方法,然后再调用
te()----t()----me()----()方法
当activity2是以Dialog形式启动时,由于不完全遮挡前一个activity1,所以avtivity1将
不调用onStop()方法。
3.当activity2显示在首页时,点击,将调用e()----art()
----t()----me()----()----roy()。
4.当某个activity触发finish()方法时,将会调用onPause()----onStop()----onDestroy()方法。
5.点击时,系统将调用onPause()----onStop()----onDestroy()方法。
6.当内存不够时,系统会自动回收资源,将调用onDestroy()方法。
7.资源回收后再启动activity时,见第一步骤。
Android
布局:
1.LinearLayout布局:当
android:orientation=”horizontal”
时,控件将以方式排列:
控件1控件2控件3控件4控件5控件6
当android:orientation=”vertical”
时,控件将以下方式排列:
控件1
控件2
控件3
控件4
控件5
控件6
见
2.TableLayout布局:表格布局方式,跟WEB的表格布局类似。见
3.AbstractLayout布局:绝对定位布局方式,可以指定控件在特定的位置。
4.RelativeLayout布局:根据控件之间的ID与对齐方式排列,见
Android常用控件:
1.TextView:标签控件,用于显示信息,可以通过其他方式修改内容,但不能当作输入
2.EditText:输入框控件,用于用户输入信息,可编辑。
3.Button:按钮控件,用于响应用户请求之类。按钮控件还有ImageButton,RadioButton,
CheckBox等。
4.Menu:通过重写activity的onCreateOptionsMenu(Menumenu)方法,操作menu的add
方法便可以添加菜单,菜单还可以再添加子菜单。使用onOptionsItemSelected(MenuItem
item),操作item,便可以响应动作。
onCreateOptionsMenu()首次应用时创建。
onRepareOptionsMenu()每次按MENU按钮都会调用此方法
onOptionsItemSelected()单击某一个菜单项时调用此方法。
onOptionsMenuClosed()不管关闭菜单还是选择某一菜单项都会调用此方法
5.Intent:此类常用于两个activity的跳转,也可以包装数据到另一个activity,有时常与
Bundle类一起使用。此类还其他更重要的用途待开发。
6.Bundle:此类用于数据包装类,携带数据到另一个activity。
7.Handler:此类常用于在UI线程之外的地方更新UI视图。Android不允许在UI线程之
外的线程更新UI视图。