您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > Android-应用开发课件
Android应用开发课程贵州职业技术学院1手机OS简介手机简介•1902年,由一个“内森•斯塔布菲尔德”的美国人在肯塔基州默里的乡下住宅内制成了第一个无线电话装置;•1973年由摩托罗拉公司工程技术员“马丁•库帕”发明了民用的手机,所以“马丁•库帕”被称为现代手机之父。手机的发展•手机网络的发展1G网络:模拟通讯网络;2G网络:数字通讯网络;3G网络:处理图象、视频流、方便的访问国际互联网;•智能手机要求(有自己的OS)1、用户可以GSM或CDMA无线网络的方式接入互联网;2、可以具备PDA设备的诸多功能,例如:日程管理、多媒体播放等功能;3、具备独立的手机操作系统,可以由用户根据自己的需要任意扩充更多的第三方应用程序手机的OS•Symbian操作系统;•PLAM操作系统;•BlackBerry操作系统;•ios操作系统;•WindowsMobile操作系统;•Linux操作系统;•Android操作系统;Android简介•Android一词本意是指“机器人”,是Google在2007年11月5日公布的基亍Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。•市场上第一款支持Android的手机是在2008年9月22日发布的由HTC制造幵由T-Mobile供应的G1。Android市场份额Android开发人员薪资调查特点1•开放的平台•应用程序相互平等,其组件也可以更换。•Dalvik虚拟机针对移动设备进行了优化。•优化的图形能力支持2D、3D图形(OpenGLES1.0)。•集成了基于开源WebKit引掣的浏览器。•SQLite作为结构化数据存储。特点2•多媒体支持多种音频、视频格式。•支持蓝牙Bluetooth,3G和WiFi•支持照相机、GPS、指南针和加速度仪等传感器硬件•依托Java丰富的编程资源•丰富的开发环境。包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。IOS和android的比较No.比较IOS(Iphone手机)Android1开发平台AppleMacOS不局限于操作系统2开发工具XcodeEclipse3开发语言Objective–CJava4兼容性封闭操作系统,由Apple制定,兼容性高Google规定出硬件标准,由不同的厂商进行手机的研发,由于厂商众多,所以兼容性低5UI交互界面主要依靠触屏完成需要触屏和按键同时操作6显示风格统一的视觉规范和分辨率视觉规范由厂商决定,屏幕分辨率繁多AndoidRuntime•应用开发语言:Java•Dalvik虚拟机–指令:DalvikExcutable•Java标准库–把java代码编译为Dalvik可执行文件(dexformat)1)应用程序层Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序、电话拨号程序等应用程序。这些应用程序都是用Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换2)应用程序框架层应用程序框架层是我们从事Android开发的基础,很多核心应用程序也是通过这一层来实现其核心功能的,该层简化了组件的重用,开发人员可以直接使用其提供的组件来进行快速的应用程序开发,也可以通过继承而实现个性化的拓展。3)系统运行库层系统运行库层可以分成两部分,分别是系统库和Android运行时(android虚拟机)4)Linux内核层Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。开发环境•JDK•IDE–Eclipse•Eclipseplug-in-ADT•SoftwareDevelopmentKit(SDK)•AndroidEmulator•DebugerAndroidSDK•AndroidSDK包括一系列的开发工具以帮助开发者开发和调试应用程序。•包含以下几部分:–Android应用程序框架API–Android模拟器–辅助工具:ADB(调试工具)、AAPT(生成APK)、DX(编译工具)、DDMS(调试窗口)–Android开发文档GettingStart开发环境搭建安装Android的ADT和JDK即可下载AndroidSDK:开发环境搭建下载JDK:第一个Android应用程序•打开eclipse,新建android工程打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择AndroidProject,如图:应用程序名称项目名称包名称Androidsdk的版本要求及其他然后一路Next,就可以新建一个项目新建android模拟器打开Eclipse,新建项目(点击WindowandroidvirtudeviceManager),在项目列表中展开Android目录,选择AndroidProject新建android模拟器•在项目上右键点击runasAndroidapplication,如下图:Android程序架构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界面文件,图片或数据。AndroidManifest.xml功能清单文件这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。default.properties项目环境信息,一般是不需要修改此文件R.javapublicfinalclassR{publicstaticfinalclassattr{}publicstaticfinalclassdrawable{publicstaticfinalinticon=0x7f020000;}publicstaticfinalclassid{publicstaticfinalintlayout=0x7f050000;}publicstaticfinalclasslayout{publicstaticfinalintmain=0x7f030000;}publicstaticfinalclassstring{publicstaticfinalintapp_name=0x7f040001;publicstaticfinalinthello=0x7f040000;}}Activityimportandroid.app.Activity;importandroid.os.Bundle;publicclassHelloActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);}}Activity的运用•Activity的主要作用•创建Activity的方法•在AndroidManifest.xml文件中注册Activity方法•在Activity中添加控件的方法•Activity是android应用程序的用户接口。一个Activity中可以放置很多控件。•Activity也可以理解为控件的容器。如图:1、一个Activity就是一个类,并且这个类要继承于Activity。2、重写onCreate方法。•publicvoidonCreate(BundlesavedInstanceState){•super.onCreate(savedInstanceState);•setContentView(R.layout.main);•}3、每一个Activity都需要在AndroidMainfest.xml中文件当中进行配置•activityandroid:name=.TestActivity•android:label=@string/app_name•intent-filter•actionandroid:name=android.intent.action.MAIN/•categoryandroid:name=android.intent.category.LAUNCHER/•/intent-filter•/activity4、为Activity添加必要的控件。同过findViewById(控件的id);可以得到所要显示的控件。例如:取得TextView的控件TextViewtextView=(TextView)findViewById(R.id.Test);布局文件•?xmlversion=1.0encoding=utf-8?•LinearLayoutxmlns:android=•android:orientation=vertical•android:layout_width=fill_parent•android:layout_height=fill_parent••TextView•android:layout_width=fill_parent•android:layout_height=wrap_content•android:text=@string/hello•/•/LinearLayout重要属性•android:layout_width宽度•android:layout_height高度–fill_parent|wrap_content•android:id唯一标识用于在程序或配置文件中引用资源文件•?xmlversion=1.0encoding=utf-8?•resources•stringname=helloHelloWorld,HelloActivity!•/string•stringname=app_nameHello应用/string•/resources资源文件•除string之外,还可以定义color,dimen(大小)•string-array(子标记为item)•每种资源都需要定义name属性•资源文件放在res/values目录下,可以是单独的文件,也可以分类放在不同文件中,文件名任意其他资源•任意XML文件:放入res/xml目录,程序中用R.xml.文件名访问•原始资源:放入res/raw目录,程序中用Resources对象.openRawResource(R.raw.XXX)获得一个输入流,原始资源不会被编译为二进制•资产:放入assets目录,系统不会自动生成id,程序中用Resources对象.getAssets().open(文件名)获得输入流.•资源目录中不能随意创建子目录,资产目录则可以随意创建子目录引用资源程序中:利用R.资源类型.资源名访问如:R.layout.mainR.id.abcXML文件中:利用@资源类型/资源名访问如:@id/a
本文标题:Android-应用开发课件
链接地址:https://www.777doc.com/doc-3378259 .html