android概述.docx
《android概述.docx》由会员分享,可在线阅读,更多相关《android概述.docx(11页珍藏版)》请在冰豆网上搜索。
![android概述.docx](https://file1.bdocx.com/fileroot1/2022-12/15/f90b92e3-3f67-4c7c-8641-af1faadb4202/f90b92e3-3f67-4c7c-8641-af1faadb42021.gif)
android概述
GoogleAndroid平台简介
1.Android发展历史
2007年11月5日,Google发布基于Linux平台的开源移动手机平台:
Android。
该平台由操作系统、中间件、用户界面和、应用软件等组成,号称是首个为移动终端打造的真正开放的移动开发平台。
目的:
随时随地为每个人提供信息,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,并且让移动通信不依赖于设备甚至平台。
2.Android平台研发队伍包括手机制造商、电信运营商、半导体公司、软件公司等群体内的48家公司(2009年5月18日)
3.Android的未来展望:
●强大的界面与搜索功能,融入全部Web应用的开放平台。
●对第三方软件完全开放的平台,开发者拥有了更大的自由度。
●Google向开发人员免费提供Android系统。
●Android项目获得了手机运营商、手机厂商、开发者和消费者的大力支持。
Android平台所提供的功能
1.应用程序架构
2.Dalvik虚拟机
3.Android浏览器
4.Android绘图能力
5.SQLite数据库
6.多媒体支持
7.GSM驱动模块
8.Bluetooth、EDGE、3G及wifi
9.Camera、GPS、电子指南针(compass)、加速感应器(accelerometer)
10.Android开发环境
android框架简介
android框架共由5部分组成
1.Applications(应用程序层)
2.ApplicationsFramework(应用程序框架)
3.AndroidRuntime(Android执行环境)
4.Libraries(函数库)
5.LinuxKernel(Linux内核)
1.Android应用程序层
Android同一系列核心作用程序包一起发布的应用程序,例如E-mail客户端、SMS短消息程序、日历、地图、浏览器及联系人管理程序等。
2.Android应用框架
完全访问Android核心应用程序所使用的API框架。
3.Android运行库
●核心库(CoreLibraries),该核心库提供了JAVA编程语言核心库的大多数功能。
●Dalvik虚拟机(DalvikVirtualMachine),一种寄存器形态的虚拟机。
4.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图形引擎。
●3Dlibraries:
基于OpenGLES1.0APIS实现,该库可以使用硬件3D加速或者使用高度优化的3D软加速。
●FreeType:
位图(Bitmap)和矢量(Vector)字体显示。
●SQLite:
一个对于所有应用程序可用的、功能强大的轻量级关系型数据库引擎。
5.Android内核
Android的核心系统服务依赖于Linux2.6内核,如安全性、内在管理、进程管理、网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件之间的抽象层。
Android开发工具
1.Android模拟器(Emulator)
AndroidEmulator是一个Dalvik虚拟机的运行工具,它可以像一台Android手机设备一样运行Android应用程序。
2.Dalvik调试监控服务工具(DDMS,DalvikDebugMonitorService)
DDMS是一个功能十分强大的调试工具,它可以监控程序的运行,查看内存中堆和栈的使用情况,监控和暂停某些运行中的线程,还可以查看Emulator的文件系统。
3.Android资源打包工具(AAPT,AndroidAssetPackagingTool)
Android的资源打包工具,可以通过AAPT工具来创建.apk文件。
4.Android调试工具(ADB,AndroidDebugBridge)
ADB是基于客户端/服务器模式的连接Emulator或者是真实手机设备的调试工具。
5.SQLite数据库
Android使用SQLite,是由于它是一个用于实现自包含、非服务式、零配置、事务化的SQL数据库引擎。
6.Traceview工具
可以通过Traceview图形化界面的读取工具来读取Android的日志信息。
7.mssdcard卡
创建一张虚拟的SD卡。
8.dx工具
dx工具是将.class文件中的JAVA字节码重写为Android字节码并存储在.dex文件中的工具。
9.activityCreator工具
activityCreator是一个创建Android工程的工具。
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名为资源文件名,或者自定的字符串的键值。
●AndroidManifest.xml是系统配置资源文件,用于配置新建的Activity或一些权限,例如网络访问权限等。
●defautl.properties存放了系统标识和项目的使用SDK的版本号
7.打开HelloWorldActivity.java文件,直接运行AndroidApplication,如图:
Activity类
Activity类是一个屏幕类,各种组件需要添加在Activity里才能显示,组件的各种交互也在Activity类中发起,相当于控制器类。
如下图所示,R.layout.main是一个类似于ID标识,将其布局文件传入setContentView()方法中,系统会根据布局文件会显示相应的布局。
HelloWorldActivity.java文件:
R.java文件
AndroidManifest.xml文件
main.xml文件:
strings.xml文件:
Activity的生命周期:
1.第一次启动activity1时:
系统将调用首先启动的Activity的
onCreate()----onStart()----onResume()方法,onCreate()方法是第一次启动时调用的。
2.启动第二个activity2时(跳转)时,系统将先调用activity1.onPause()方法,然后再调用
activity2.onCreate()----activity2.onStart()----activity2.onResume()----activity1.onStop()方法
当activity2是以Dialog形式启动时,由于不完全遮挡前一个activity1,所以avtivity1将不调用onStop()方法。
3.当activity2显示在首页时,点击
,将调用activity2.onPause()----avtivity1.onRestart()
----activity1.onStart()----activity1.onResume()----activity2.onStop()----activity2.onDestroy()。
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
见LinearLayout.xml
2.TableLayout 布局:
表格布局方式,跟WEB的表格布局类似。
见TableLayout.xml
3.AbstractLayout布局:
绝对定位布局方式,可以指定控件在特定的位置。
4.RelativeLayout布局:
根据控件之间的ID与对齐方式排列,见RelativeLayout.xml
Android常用控件:
1.TextView :
标签控件,用于显示信息,可以通过其他方式修改内容,但不能当作输入
2.EditText :
输入框控件,用于用户输入信息,可编辑。
3.Button :
按钮控件,用于响应用户请求之类。
按钮控件还有ImageButton,RadioButton,
CheckBox等。
4.Menu :
通过重写activity的onCreateOptionsMenu(Menumenu)方法,操作menu的add方法便可以添加菜单,菜单还可以再添加子菜单。
使用onOptionsItemSelected(MenuItemitem),操作item,便可以响应动作。
●onCreateOptionsMenu()首次应用时创建。
●onRepareOptionsMenu()每次按MENU按钮都会调用此方法
●onOptionsItemSelected()单击某一个菜单项时调用此方法。
●onOptionsMenuClosed()不管关闭菜单还是选择某一菜单项都会调用此方法
5.Intent:
此类常用于两个activity的跳转,也可以包装数据到另一个activity,有时常与Bundle类一起使用。
此类还其他更重要的用途待开发。
6.Bundle :
此类用于数据包装类,携带数据到另一个activity。
7.Handler :
此类常用于在UI线程之外的地方更新UI视图。
Android不允许在UI线程之外的线程更新UI视图。