Android移动开发项目式教程课件第一讲背景知识:移动应用开发技术_第1页
Android移动开发项目式教程课件第一讲背景知识:移动应用开发技术_第2页
Android移动开发项目式教程课件第一讲背景知识:移动应用开发技术_第3页
Android移动开发项目式教程课件第一讲背景知识:移动应用开发技术_第4页
Android移动开发项目式教程课件第一讲背景知识:移动应用开发技术_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android移动开发项目式教程(第2版)Android移动开发项目式教程(第2版)教学要求讲课+上机=90学时讲课:50个学时上机:40个学时基本练习+完整项目每一章知识的实训项目期末项目成绩平时成绩(40%):平时练习+考勤考试成绩(60%):闭卷(现场编写完成一个项目)课程导论教学要求讲课+上机=90学时课程导论课程导论背景知识:移动应用开发技术课程导论背景知识:移动应用开发技术移动通信技术背景2014年底,我国手机用户数已经达到了12.86亿户,移动电话用户普及率达94.5部/百人现有移动通信网络分2G、3G、4G三种,4G是第四代移动电话行动通信标准的简称,该技术集3G与WLAN于一体,并能够快速传输数据、高质量的音频、视频和图像等。4G理论上能够以100Mbps以上的速度下载,比4兆的家用宽带ADSL快25倍,并能够满足几乎所有用户对于无线服务的要求除了支持传统的通信业务之外,4G的无线高速业务也将会在移动终端上产生新的应用,如流媒体点播应用,与物联网、云计算和大数据的综合应用等课程导论移动通信技术背景2014年底,我国手机用户数已经达到了1移动应用程序的平台(一)JavaME:是Java2,MicroEdition的缩写,于1999年6月在JavaOne开发者大会上公布,它和标准版的J2SE、企业版的J2EE一起构成Java技术的三大版本。Symbian:Symbian公司成立于1998年6月,是由爱立信、摩托罗拉、诺基亚等公司共同持股组成的合资公司。2008年6月Symbian公司被诺基亚全资收购,成为其旗下公司。Symbian曾经是手机领域中应用范围最广的操作系统。Symbian主要支持的开发语言为C++和Java。WindowsPhone:早期版本是微软公司在2003年6月发布的WindowsMobile,最新版本是Windows10Mobile。WindowsPhone主要支持的开发语言为C#、C++、C和VB。课程导论移动应用程序的平台(一)JavaME:是Java2,Mi移动应用程序的平台(二)iPhone:由苹果公司在2007年1月上宣布推出。iPhone使用了众多增强用户体验的领先技术,多触点式触摸屏技术允许用户同时通过多个触点进行操作,基于传感器的隐式输入技术提高了手机的智能水平,全新用户界面设计技术提高了手机使用的易用性,手机应用商店提供了源源不断的实用程序。iPhone将原来普通的手机电话变成一个潮流时尚且功能强大的随身工具,引起了手机设计领域的一次新变革。iPhone主要支持的开发语言为Objective-C、C、C++、JavaScript。课程导论移动应用程序的平台(二)iPhone:由苹果公司在2007年移动应用程序的平台(三)Android:是Google公司于2007年11月宣布的基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成。Android产品线较为丰富,覆盖到商务、时尚、娱乐、中低端市场等各种人群。Android的优势在于对第三方软件完全开放,免费向开发人员提供,而且集成了大量的Google应用:Google地图Gmail邮箱等Android主要支持的开发语言为Java和C++课程导论移动应用程序的平台(三)Android:是Google公司于手机应用商店手机应用商店为程序开发者提供了更大的平台,程序开发者可将手机应用程序发布到网站上,分享自己的作品,通过用户下载程序来和服务商按一定的比例进行收益分配,此举大大激发了程序开发者的积极性。课程导论手机应用商店手机应用商店为程序开发者提供了更大的平台,程序开课程导论典型移动应用案例术课程导论典型移动应用案例术移动办公移动办公是指办公人员可以随时随地处理与业务有关的事情。课程导论

移动办公移动办公是指办公人员可以随时随地处理与业务有关的事情个人应用针对手机自带软件功能的不足,设计开发出新的功能,为日常生活中的“衣、食、住、行”提供便利,担任智能化助手的角色。课程导论

个人应用针对手机自带软件功能的不足,设计开发出新的功能,为日手机游戏手机游戏的优势是提供娱乐休闲,在坐车、等人的空虚时间可以打发时间。课程导论

手机游戏手机游戏的优势是提供娱乐休闲,在坐车、等人的空虚时间课程导论安装SunJDK课程导论安装SunJDK任务分析本次任务要求完成JDK的下载、安装和配置。要完成本次任务,需要思考如下几个问题:JDK是什么软件,对于本项目有何作用?从何处获得合适的JDK?JDK对电脑硬件和操作系统的安装要求?如何安装JDK?如何配置JDK?课程导论任务分析本次任务要求完成JDK的下载、安装和配置。要完成本次JDKJDK(JavaDevelopmentKit)就是为Java开发者提供的一组开发工具包,包括了Java运行环境(JRE,JavaRuntimeEnvironment),一组Java工具和Java标准API类库主流的JDK由Sun公司开发(注:2009年Sun公司已经被著名的数据库公司Oracle收购)。一些公司和组织也先后推出自己的JDK,例如IBMJDK、GNUJDK。JDK有适合于Windows、Linux、Solaris等不同操作系统的版本。课程导论JDKJDK(JavaDevelopmentKit)就是Java运行环境包含一个Java虚拟机(JVM,JavaVirtualMachine)和运行Java程序所需类库Java虚拟机的主要作用是解释字节码(bytecode),实现Java程序的跨平台。Java标准API类库:API(ApplicationProgrammingInterface)又称应用程序编程接口,通过提供一些预先定义的函数,达到简化开发人员工作的目的。开发人员无需访问源码或理解内部工作机制的细节,通过调用API就可以实现程序的特定功能。编程语言或二次开发的软硬件环境一般会提供相应的API。JRE一般是包含在JDK中,也可以独立安装JRE。课程导论Java运行环境包含一个Java虚拟机(JVM,JavaV任务实施(一)下载SunJDK:课程导论任务实施(一)下载SunJDK:http://www.or任务实施(二)安装JDK软件:双击上一步所下载的JDK文件【jdk-6u21-windows-i586.exe】课程导论任务实施(二)安装JDK软件:双击上一步所下载的JDK文件【任务实施(三)配置环境变量:主要是需要配置两个环境变量,一个是PATH,另外一个是CLASSPATHPATH的作用是表示JDK命令的所在路径(安装JDK的bin目录)。CLASSPATH的作用是表示JDK类库的所在路径(安装JDK的lib目录)。课程导论任务实施(三)配置环境变量:主要是需要配置两个环境变量,一个课程导论安装Android开发环境课程导论安装Android开发环境任务分析本次任务是要求完成Android开发软件的下载、安装和配置。要完成本次任务,需要思考如下几个问题:Eclipse和AndroidSDK是什么软件,与任务一的JDK软件有何关系,对Android项目开发有何作用?从何处获得正确的Android开发软件?Android开发软件对电脑的硬件和操作系统的安装要求?如何安装Android开发软件?如何配置Android开发软件?课程导论任务分析本次任务是要求完成Android开发软件的下载、安装IDE集成开发环境(IDE,IntegratedDevelopmentEnvironment)旨在提供一个综合的图形用户开发环境,方便程序员进行软件开发。一般集成了程序生成器、代码编辑器、编译器、调试器和发布器等,具有代码编写、管理、分析、编译、调试和发布等功能。著名的IDE开发环境有微软的VisualStudio.NET,Boland的JBuilder等。开发Java程序常用的IDE工具有Eclipse、MyEclipse、NetBeans。Google公司在2013年5月推出了针对Android的IDE开发工具:AndroidStudio课程导论IDE集成开发环境(IDE,IntegratedDeveEclipseEclipse最初是由IBM公司开发,2001年捐献给开源社区,现由Eclipse基金会管理。Eclipse所提供的项目致力于建立开放的开发平台,具有可扩展性的框架、工具和运行环境的建立、发布以及软件生命周期的管理。Eclipse社区提供了适合J2EE、Java、JavaME、C/C++、JavaScript等语言的IDE开发工具。Eclipse很重要的一个特色是通过插件来扩展开发平台的功能。Eclipse本身只是一个框架平台,运行在Eclipse平台上的各种插件提供我们开发程序的各种功能。Eclipse的发行版本带有最基本的插件,软件开发人员可以在此基础上通过开发插件建立自己的IDE。课程导论EclipseEclipse最初是由IBM公司开发,2001建立Android的开发环境目前提供了两种配置Android开发环境的方法。一种做法:分别下载Eclipse和Android的SDK,然后在Eclipse的菜单中选择Help->InstallNewSoftware…,输入/Android/eclipse/来安装Android的开发插件ADT,最后在Eclipse的菜单中选择Windows->Preferences来指定已经安装好的AndroidSDK的所在路径。第二种方法:下载Eclipse的Android集成开发包,包括:Eclipse开发工具,并且已经配置好AndroidADT,以及指定好AndroidSDK的所在路径。由此可见该方法更加简单快捷。但目前在Android的官网上只提供AndroidStudio的集成开发包,不再提供Eclipse的Android开发集成包。可以在百度上输入下面的搜索字:”AndroidADTBundle下载”课程导论建立Android的开发环境目前提供了两种配置AndroidEclipse的快捷键Ctrl+Shift+O:自动导入代码中用到类的所属包,此组合键在编程中非常有用。Alt+/:代码助手完成一些代码的提示插入,例如类名补全,方法提示等。Ctrl+Shift+F:格式化当前代码,使代码整齐。Ctrl+/:注释当前行,再按则取消注释。Ctrl+D:删除当前行。Ctrl+T快速显示当前类的继承结构。课程导论Eclipse的快捷键Ctrl+Shift+O:自动导入代码任务实施(一)AndroidSDK的下载:登录Android的下载主页:/sdk/index.html课程导论任务实施(一)AndroidSDK的下载:登录Androi同意协议,并选择平台版本,即可以点击下载课程导论同意协议,并选择平台版本,即可以点击下载课程导论下载SDK后,配置Android开发环境首先将下载压缩文件进行解压,会看到如下结构:课程导论进入eclipse目录,点击eclipse.exe文件打开IDE开发环境,即可进行Android开发。如果需要建立多种Android平台版本,可以点击Eclipse菜单的Window->AndroidSDKManager来下载其他版本的Android。如果需要建立不同尺寸或者版本的模拟器,可以点击Eclipse菜单的Window->AndroidVirtualDeviceManager进行配置下载SDK后,配置Android开发环境首先将下载压缩文件进AndroidSDKManager课程导论AndroidSDKManager课程导论AndroidVirtualDeviceManager课程导论AndroidVirtualDeviceManagerAndroidStudio感兴趣的同学也可以尝试使用来进行Android开发,下载的网址是:/sdk/installing/studio.html。AndroidStudio采用的是intellijIDE的开发工具,而IntelliJ在业界被公认为最好的java开发工具之一,它的运行速度要较Eclipse快。课程导论AndroidStudio感兴趣的同学也可以尝试使用来进行课程导论测试开发环境课程导论测试开发环境任务分析要看前面任务的软件安装配置是否能够正常工作,一个比较简单直接的方法是尝试通过IDE开发环境开发一个Android程序:开发一个Android程序的主要步骤?如何运行一个Android程序?如何调试一个Android程序?课程导论任务分析要看前面任务的软件安装配置是否能够正常工作,一个比较课程导论Android基本概念课程导论Android基本概念Android基本概念Android是一个用于移动设备的软件集,包括操作系统,中间件和关键的应用程序。AndroidSDK提供了必须的工具和APIs用于在Android平台上使用Java编程语言开发应用程序Android具有如下的特征允许重用和替换组件的应用程序框架具有专门为移动设备优化的Dalvik虚拟机集成基于开源引擎WebKit的浏览器通过自定义的2D图形库优化显示图形,提供基于OpenGLES1.0和2.0规范的3D图形支持用于结构数据存储的SQLite为常见的声音,视频和图形格式,例如:MPEG4,MP3,PNGGSM、CDMA、TDSCDMA电话(依赖于硬件)蓝牙、EDGE、3G和WiFi(依赖于硬件)照相机、GPS、指南针和加速度传感器(依赖于硬件)丰富的开发环境:设备模拟器、调试工具、内存和性能分析课程导论Android基本概念Android是一个用于移动设备的软件Android的主要版本发展课程导论

Android的主要版本发展课程导论Android的体系结构课程导论Android的体系结构课程导论Android体系结构各层功能说明(一)应用程序(APPLICATIONS):是Android推出的一组使用Java编写的核心应用程序,如:Email客户端,短信程序,日历,地图,通信录。应用程序框架(ApplicationFramework):是Android为开发者提供的一个开放平台,在应用程序的下一层。开放者可以通过它们自由地充分利用设备硬件,访问位置信息,运行后台服务,设置告警,在状态栏上增加通知等。开发者可以和核心应用程序那样调用同样的框架APIs。应用程序框架提供的是一组服务和系统,这些会在程序开发过程中直接使用到,包括:丰富且具有可扩展性的视图:可用于构建应用程序的界面内容提供者:允许应用程序访问其它应用程序的数据(例如:通信录),或者共享它们自己的数据资源管理器:提供对非代码资源,如本地化字符串,图像的管理通知管理器:允许应用程序在状态栏上显示定制的警报。活动管理器:管理应用程序的生命周期,提供导航回退功能课程导论Android体系结构各层功能说明(一)应用程序(APPLAndroid体系结构各层功能说明(二)Libraries:Android包括的一组C/C++库,它们用于Android系统不同的组件。这些功能通过Android应用程序框架对开发者开放,包括:C语言系统库、多媒体库、外观管理器、LibWebCore、SGL、3D库、FreeType、SQLite等。

AndroidRuntime:Android包括的一组核心库,提供大部分Java编程语言核心库的功能。每一个Android应用程序是在Dalvik虚拟机的实例下以进程形式运行。Dalvik虚拟机执行的文件是Dalvik可执行格式(DalvikExecutable,称为.dex),它被优化成最小内存占用。与Java虚拟机时基于堆栈不同,Dalvik虚拟机是基于寄存器的,它通过转换工具dx将Java字节码转换成dex格式。Linux内核:Android依赖于Linux某个版本的核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动程序模型。内核也作为硬件和软件堆栈其余部分之间的抽象层。课程导论Android体系结构各层功能说明(二)Libraries对Android应用程序的理解Android应用程序主要是由Java语言编写,但对于特殊性能要求的功能,也可以先使用C或者C++编写代码,建立动态库,再通过NDK将其与Java应用一起打包成apk。AndroidSDK工具将代码、数据和资源文件编译为一个Android包,它是一个后缀为.apk的归档文件。.apk归档文件将被用在设备上安装应用程序。Android应用程序是可以访问系统服务的,例如:应用程序可以请求访问用户的通讯录,短信,SD存储卡,摄像头,蓝牙,以及更多的设备,但要求用户在安装应用程序时必须被授予相应的权限。课程导论对Android应用程序的理解Android应用程序主要是由Android的组件应用程序组件是一个Android应用程序的重要基石,在编程时根据需要编写相应的组件。有四种不同类型的应用程序组件。每个类型服务于不同的目的:Activity:活动表示一个用户界面,可以和用户进行交互。例如,Email应用程序可以有一个显示新邮件的activity,一个撰写电子邮件的activity和一个阅读邮件的activity。虽然这些activities一起为Email应用程序提供用户体验,但它们每个都是相互独立Service:服务是一个运行在后台的组件(并不提供用户界面),一般用于执行需要长时间运行的操作或执行远程进程的工作。例如:某个service可能会在后台播放音乐。Contentprovider:内容提供者管理应用程序共享的数据集。例如:读取系统自带的联系人信息。Broadcastreceiver:广播接收者是一个负责全系统广播通知的组件。例如:广播电池没有电。课程导论Android的组件应用程序组件是一个Android应用程序认识手机模拟器手机模拟器(MobileEmulator)的作用是在电脑上模拟手机环境,从而可以在电脑上进行手机程序开发、调试和发布。针对不同平台版本、不同尺寸的手机有不同的手机模拟器。课程导论认识手机模拟器手机模拟器(MobileEmulator)的Activity应用程序的生命周期Activity是Android程序图形用户界面的基本组成部件。Android程序由一个或者多个Activity类组成,而程序都是从Activity类开始执行,系统规定了Activity的生命周期有创建,开始,唤醒,暂停和销毁五种状态。Android定义了一系列与生命周期相关的方法,在我们自己的Activity中,只是根据需要重写需要的方法来实现相应的数据初始化,和回收等操作。开发一个Android程序,首选需要创建一个继承于Activity的类。以下为编写Activity程序,并实现其生命周期相应操作的示例:课程导论Activity应用程序的生命周期Activity是AndrActivity应用程序的生命周期代码示例课程导论publicclassMyActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){//一个Activity的实例启动时调用的第一个方法。一般情况下,在这里编写初始化数据、从Xml布局文件中加载设计好的用户界面等方面的操作}protectedvoidonStart(){

//在onCreate()方法执行之后被调用,或者在Activity从Stop状态转换为Active状态时被调用}protectedvoidonResume(){

//在Activity从Pause状态转换到Active状态时被调用,或者在onStart()方法执行之后被调用。onResume()方法也较为适合放入初始化数据的操作}protectedvoidonPause(){

//从Active状态转换到Pause状态时被调用}protectedvoidonStop(){

//从Active状态转换到Stop状态时被调用,一般在这里保存Activity的状态信息}protectedvoidonRestart(){//当处于stop状态时,当前Activity被重新向用户显示时调用该方法}protectedvoidonDestroy(){

//在Activity结束时调用,在这里一般做些释放资源,清理内存等工作}}Activity应用程序的生命周期代码示例课程导论publiActivity应用程序的生命周期课程导论Activity应用程序的生命周期课程导论开发第一个Android程序第一步是选择创建一个AndroidApplicationProject项目,在创建向导中指定应用程序名称、包名称、运行的Android版本等信息。第二步是根据项目的需要在Activity类中编写代码,或者新创建其它类,在Activity类中进行引用。课程导论开发第一个Android程序第一步是选择创建一个AndroiAndroid项目主要目录的作用课程导论Android项目主要目录的作用课程导论自动生成的代码publicclassMainActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

}publicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;

}}课程导论自动生成的代码publicclassMainActivi代码分析MainActivity类继承了Activity抽象类。setContentView方法是设置用户界面,其中参数R.layout.activity_main是一个表示界面布局信息的XML文件。在Android开发中,界面设计很多是依靠布局文件来完成。这在后面的项目中有详细的介绍。onCreateOptionsMenu方法是创建程序的菜单,其中R.menu.main也是一个描述菜单信息的XML文件。onCreateOptionsMenu方法在程序中并不是必须的,可以删除掉。在Android项目中会自动生成一些由XML编写的配置文件,他们在Android开发中起到很重要的作用。课程导论代码分析MainActivity类继承了Activity抽象AndroidManifest.xml文件的作用AndroidManifest.xml文件可以理解为关于Android应用程序的清单文件,用于向Android系统提供关于应用程序的重要信息。例如:一个Android应用程序中一般包含多个Activity类,要具体区分Android程序首先执行的是哪个Activity类,程序有哪些Activity类可由系统识别,系统有哪些权限可以交由应用程序使用,应用程序的图标、程序名称管理、应用程序需要用的第三方包等。在Android系统开始启动一个应用程序组件时,系统必须读取AndroidManifest.xml文件以便知道组件是否存在。任何一个Android项目都需要使用该文件,并要求放在项目的根目录下。课程导论AndroidManifest.xml文件的作用AndroiXML基础知识简述标记语言采用一套标记标签来表示文本信息,标签是由尖括号包围的关键词,如<html>,其作用是描述文本信息。XML(eXtensibleMarkupLanguage)称为可扩展标记语言。XML文档的后缀是.xml,既可以使用专门的编辑工具,也可以使用文本编辑器对其进行编写。XML的标记没有被预定义,用户可以自行定义标记来描述数据。与HTML(HyperTextMarkupLanguage)的差异在于,XML主要用来存储规范的数据信息。每个XML元素都以一个起始标签开始,以一个结束标签收尾。起始标记以<符号开始,以>符号结束。结束标签以</符号开始,以>符号结束。XML元素可以带有多个属性,属性值需要添加引号。课程导论XML基础知识简述标记语言采用一套标记标签来表示文本信息,标AndroidManifest.xml文件的描述声明组件:AndroidManifest.xml文件的主要任务是通知Android系统应用程序包含的组件。可以这样定义一个Activity。课程导论<?xmlversion="1.0"encoding="utf-8"?><manifest...><applicationandroid:icon="@drawable/app_icon.png"...><activityandroid:name="ject.ExampleActivity"android:label="@string/example_label"...></activity>...</application></manifest>在<application>元素中,android:icon属性指明应用程序图标用到的资源,在<activity>元素中,android:name属性指明Activity子类的完整名称,android:label属性作为Activity在手机界面上用户可见的标签。AndroidManifest.xml文件的描述声明组件:AAndroid应用程序的运行和调试方法选中Android项目,点击右键,选择RunAS->AndroidApplicaion。也可以使用Eclipse工具栏上的图标来运行项目选中Android项目,点击右键,选择DebugAS->AndroidApplicaion。该运行方法相当于对Android项目进行断点调试,以便于找出程序中的问题。除了可以利用Java的System.out.println()方法输出信息之外,还可以利用Android提供的Log.v(Stringtag,Stringmsg)方法以日志方式输出相应的信息,其中参数tag表示标签,参数msg表示内容,取值都可以在编程中指定。这些信息可以通过Eclipse的LogCat视图进行查看如果发现项目的奇怪的报错,可以执行Eclipse菜单的Project->Clean菜单项,来重新编译项目课程导论Android应用程序的运行和调试方法选中Android项目实训项目1建立Android开发环境(P38)1.实训目的与要求

学会下载、安装和配置Android开发环境所需的软件,建立Android程序的开发环境。2.实训内容实训内容为任务一、二、三中项目实施内容,按照规划任务内容,实施实训。课程导论实训项目1建立Android开发环境(P38)1.实训实训项目2开发运行一个简单的Android程序1.实训目的与要求学会利用Eclipse自动生成一个Android程序,并使用不同的模拟器运行,以便对Android程序的开发步骤有初步的认识。2.实训内容实训内容为任务四中项目实施内容,按照规划任务内容,实施实训。3.思考运行不同的手机模拟器对Android的程序开发有什么作用?课程导论实训项目2开发运行一个简单的Android程序1.实训目Android移动开发项目式教程(第2版)Android移动开发项目式教程(第2版)教学要求讲课+上机=90学时讲课:50个学时上机:40个学时基本练习+完整项目每一章知识的实训项目期末项目成绩平时成绩(40%):平时练习+考勤考试成绩(60%):闭卷(现场编写完成一个项目)课程导论教学要求讲课+上机=90学时课程导论课程导论背景知识:移动应用开发技术课程导论背景知识:移动应用开发技术移动通信技术背景2014年底,我国手机用户数已经达到了12.86亿户,移动电话用户普及率达94.5部/百人现有移动通信网络分2G、3G、4G三种,4G是第四代移动电话行动通信标准的简称,该技术集3G与WLAN于一体,并能够快速传输数据、高质量的音频、视频和图像等。4G理论上能够以100Mbps以上的速度下载,比4兆的家用宽带ADSL快25倍,并能够满足几乎所有用户对于无线服务的要求除了支持传统的通信业务之外,4G的无线高速业务也将会在移动终端上产生新的应用,如流媒体点播应用,与物联网、云计算和大数据的综合应用等课程导论移动通信技术背景2014年底,我国手机用户数已经达到了1移动应用程序的平台(一)JavaME:是Java2,MicroEdition的缩写,于1999年6月在JavaOne开发者大会上公布,它和标准版的J2SE、企业版的J2EE一起构成Java技术的三大版本。Symbian:Symbian公司成立于1998年6月,是由爱立信、摩托罗拉、诺基亚等公司共同持股组成的合资公司。2008年6月Symbian公司被诺基亚全资收购,成为其旗下公司。Symbian曾经是手机领域中应用范围最广的操作系统。Symbian主要支持的开发语言为C++和Java。WindowsPhone:早期版本是微软公司在2003年6月发布的WindowsMobile,最新版本是Windows10Mobile。WindowsPhone主要支持的开发语言为C#、C++、C和VB。课程导论移动应用程序的平台(一)JavaME:是Java2,Mi移动应用程序的平台(二)iPhone:由苹果公司在2007年1月上宣布推出。iPhone使用了众多增强用户体验的领先技术,多触点式触摸屏技术允许用户同时通过多个触点进行操作,基于传感器的隐式输入技术提高了手机的智能水平,全新用户界面设计技术提高了手机使用的易用性,手机应用商店提供了源源不断的实用程序。iPhone将原来普通的手机电话变成一个潮流时尚且功能强大的随身工具,引起了手机设计领域的一次新变革。iPhone主要支持的开发语言为Objective-C、C、C++、JavaScript。课程导论移动应用程序的平台(二)iPhone:由苹果公司在2007年移动应用程序的平台(三)Android:是Google公司于2007年11月宣布的基于Linux平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成。Android产品线较为丰富,覆盖到商务、时尚、娱乐、中低端市场等各种人群。Android的优势在于对第三方软件完全开放,免费向开发人员提供,而且集成了大量的Google应用:Google地图Gmail邮箱等Android主要支持的开发语言为Java和C++课程导论移动应用程序的平台(三)Android:是Google公司于手机应用商店手机应用商店为程序开发者提供了更大的平台,程序开发者可将手机应用程序发布到网站上,分享自己的作品,通过用户下载程序来和服务商按一定的比例进行收益分配,此举大大激发了程序开发者的积极性。课程导论手机应用商店手机应用商店为程序开发者提供了更大的平台,程序开课程导论典型移动应用案例术课程导论典型移动应用案例术移动办公移动办公是指办公人员可以随时随地处理与业务有关的事情。课程导论

移动办公移动办公是指办公人员可以随时随地处理与业务有关的事情个人应用针对手机自带软件功能的不足,设计开发出新的功能,为日常生活中的“衣、食、住、行”提供便利,担任智能化助手的角色。课程导论

个人应用针对手机自带软件功能的不足,设计开发出新的功能,为日手机游戏手机游戏的优势是提供娱乐休闲,在坐车、等人的空虚时间可以打发时间。课程导论

手机游戏手机游戏的优势是提供娱乐休闲,在坐车、等人的空虚时间课程导论安装SunJDK课程导论安装SunJDK任务分析本次任务要求完成JDK的下载、安装和配置。要完成本次任务,需要思考如下几个问题:JDK是什么软件,对于本项目有何作用?从何处获得合适的JDK?JDK对电脑硬件和操作系统的安装要求?如何安装JDK?如何配置JDK?课程导论任务分析本次任务要求完成JDK的下载、安装和配置。要完成本次JDKJDK(JavaDevelopmentKit)就是为Java开发者提供的一组开发工具包,包括了Java运行环境(JRE,JavaRuntimeEnvironment),一组Java工具和Java标准API类库主流的JDK由Sun公司开发(注:2009年Sun公司已经被著名的数据库公司Oracle收购)。一些公司和组织也先后推出自己的JDK,例如IBMJDK、GNUJDK。JDK有适合于Windows、Linux、Solaris等不同操作系统的版本。课程导论JDKJDK(JavaDevelopmentKit)就是Java运行环境包含一个Java虚拟机(JVM,JavaVirtualMachine)和运行Java程序所需类库Java虚拟机的主要作用是解释字节码(bytecode),实现Java程序的跨平台。Java标准API类库:API(ApplicationProgrammingInterface)又称应用程序编程接口,通过提供一些预先定义的函数,达到简化开发人员工作的目的。开发人员无需访问源码或理解内部工作机制的细节,通过调用API就可以实现程序的特定功能。编程语言或二次开发的软硬件环境一般会提供相应的API。JRE一般是包含在JDK中,也可以独立安装JRE。课程导论Java运行环境包含一个Java虚拟机(JVM,JavaV任务实施(一)下载SunJDK:课程导论任务实施(一)下载SunJDK:http://www.or任务实施(二)安装JDK软件:双击上一步所下载的JDK文件【jdk-6u21-windows-i586.exe】课程导论任务实施(二)安装JDK软件:双击上一步所下载的JDK文件【任务实施(三)配置环境变量:主要是需要配置两个环境变量,一个是PATH,另外一个是CLASSPATHPATH的作用是表示JDK命令的所在路径(安装JDK的bin目录)。CLASSPATH的作用是表示JDK类库的所在路径(安装JDK的lib目录)。课程导论任务实施(三)配置环境变量:主要是需要配置两个环境变量,一个课程导论安装Android开发环境课程导论安装Android开发环境任务分析本次任务是要求完成Android开发软件的下载、安装和配置。要完成本次任务,需要思考如下几个问题:Eclipse和AndroidSDK是什么软件,与任务一的JDK软件有何关系,对Android项目开发有何作用?从何处获得正确的Android开发软件?Android开发软件对电脑的硬件和操作系统的安装要求?如何安装Android开发软件?如何配置Android开发软件?课程导论任务分析本次任务是要求完成Android开发软件的下载、安装IDE集成开发环境(IDE,IntegratedDevelopmentEnvironment)旨在提供一个综合的图形用户开发环境,方便程序员进行软件开发。一般集成了程序生成器、代码编辑器、编译器、调试器和发布器等,具有代码编写、管理、分析、编译、调试和发布等功能。著名的IDE开发环境有微软的VisualStudio.NET,Boland的JBuilder等。开发Java程序常用的IDE工具有Eclipse、MyEclipse、NetBeans。Google公司在2013年5月推出了针对Android的IDE开发工具:AndroidStudio课程导论IDE集成开发环境(IDE,IntegratedDeveEclipseEclipse最初是由IBM公司开发,2001年捐献给开源社区,现由Eclipse基金会管理。Eclipse所提供的项目致力于建立开放的开发平台,具有可扩展性的框架、工具和运行环境的建立、发布以及软件生命周期的管理。Eclipse社区提供了适合J2EE、Java、JavaME、C/C++、JavaScript等语言的IDE开发工具。Eclipse很重要的一个特色是通过插件来扩展开发平台的功能。Eclipse本身只是一个框架平台,运行在Eclipse平台上的各种插件提供我们开发程序的各种功能。Eclipse的发行版本带有最基本的插件,软件开发人员可以在此基础上通过开发插件建立自己的IDE。课程导论EclipseEclipse最初是由IBM公司开发,2001建立Android的开发环境目前提供了两种配置Android开发环境的方法。一种做法:分别下载Eclipse和Android的SDK,然后在Eclipse的菜单中选择Help->InstallNewSoftware…,输入/Android/eclipse/来安装Android的开发插件ADT,最后在Eclipse的菜单中选择Windows->Preferences来指定已经安装好的AndroidSDK的所在路径。第二种方法:下载Eclipse的Android集成开发包,包括:Eclipse开发工具,并且已经配置好AndroidADT,以及指定好AndroidSDK的所在路径。由此可见该方法更加简单快捷。但目前在Android的官网上只提供AndroidStudio的集成开发包,不再提供Eclipse的Android开发集成包。可以在百度上输入下面的搜索字:”AndroidADTBundle下载”课程导论建立Android的开发环境目前提供了两种配置AndroidEclipse的快捷键Ctrl+Shift+O:自动导入代码中用到类的所属包,此组合键在编程中非常有用。Alt+/:代码助手完成一些代码的提示插入,例如类名补全,方法提示等。Ctrl+Shift+F:格式化当前代码,使代码整齐。Ctrl+/:注释当前行,再按则取消注释。Ctrl+D:删除当前行。Ctrl+T快速显示当前类的继承结构。课程导论Eclipse的快捷键Ctrl+Shift+O:自动导入代码任务实施(一)AndroidSDK的下载:登录Android的下载主页:/sdk/index.html课程导论任务实施(一)AndroidSDK的下载:登录Androi同意协议,并选择平台版本,即可以点击下载课程导论同意协议,并选择平台版本,即可以点击下载课程导论下载SDK后,配置Android开发环境首先将下载压缩文件进行解压,会看到如下结构:课程导论进入eclipse目录,点击eclipse.exe文件打开IDE开发环境,即可进行Android开发。如果需要建立多种Android平台版本,可以点击Eclipse菜单的Window->AndroidSDKManager来下载其他版本的Android。如果需要建立不同尺寸或者版本的模拟器,可以点击Eclipse菜单的Window->AndroidVirtualDeviceManager进行配置下载SDK后,配置Android开发环境首先将下载压缩文件进AndroidSDKManager课程导论AndroidSDKManager课程导论AndroidVirtualDeviceManager课程导论AndroidVirtualDeviceManagerAndroidStudio感兴趣的同学也可以尝试使用来进行Android开发,下载的网址是:/sdk/installing/studio.html。AndroidStudio采用的是intellijIDE的开发工具,而IntelliJ在业界被公认为最好的java开发工具之一,它的运行速度要较Eclipse快。课程导论AndroidStudio感兴趣的同学也可以尝试使用来进行课程导论测试开发环境课程导论测试开发环境任务分析要看前面任务的软件安装配置是否能够正常工作,一个比较简单直接的方法是尝试通过IDE开发环境开发一个Android程序:开发一个Android程序的主要步骤?如何运行一个Android程序?如何调试一个Android程序?课程导论任务分析要看前面任务的软件安装配置是否能够正常工作,一个比较课程导论Android基本概念课程导论Android基本概念Android基本概念Android是一个用于移动设备的软件集,包括操作系统,中间件和关键的应用程序。AndroidSDK提供了必须的工具和APIs用于在Android平台上使用Java编程语言开发应用程序Android具有如下的特征允许重用和替换组件的应用程序框架具有专门为移动设备优化的Dalvik虚拟机集成基于开源引擎WebKit的浏览器通过自定义的2D图形库优化显示图形,提供基于OpenGLES1.0和2.0规范的3D图形支持用于结构数据存储的SQLite为常见的声音,视频和图形格式,例如:MPEG4,MP3,PNGGSM、CDMA、TDSCDMA电话(依赖于硬件)蓝牙、EDGE、3G和WiFi(依赖于硬件)照相机、GPS、指南针和加速度传感器(依赖于硬件)丰富的开发环境:设备模拟器、调试工具、内存和性能分析课程导论Android基本概念Android是一个用于移动设备的软件Android的主要版本发展课程导论

Android的主要版本发展课程导论Android的体系结构课程导论Android的体系结构课程导论Android体系结构各层功能说明(一)应用程序(APPLICATIONS):是Android推出的一组使用Java编写的核心应用程序,如:Email客户端,短信程序,日历,地图,通信录。应用程序框架(ApplicationFramework):是Android为开发者提供的一个开放平台,在应用程序的下一层。开放者可以通过它们自由地充分利用设备硬件,访问位置信息,运行后台服务,设置告警,在状态栏上增加通知等。开发者可以和核心应用程序那样调用同样的框架APIs。应用程序框架提供的是一组服务和系统,这些会在程序开发过程中直接使用到,包括:丰富且具有可扩展性的视图:可用于构建应用程序的界面内容提供者:允许应用程序访问其它应用程序的数据(例如:通信录),或者共享它们自己的数据资源管理器:提供对非代码资源,如本地化字符串,图像的管理通知管理器:允许应用程序在状态栏上显示定制的警报。活动管理器:管理应用程序的生命周期,提供导航回退功能课程导论Android体系结构各层功能说明(一)应用程序(APPLAndroid体系结构各层功能说明(二)Libraries:Android包括的一组C/C++库,它们用于Android系统不同的组件。这些功能通过Android应用程序框架对开发者开放,包括:C语言系统库、多媒体库、外观管理器、LibWebCore、SGL、3D库、FreeType、SQLite等。

AndroidRuntime:Android包括的一组核心库,提供大部分Java编程语言核心库的功能。每一个Android应用程序是在Dalvik虚拟机的实例下以进程形式运行。Dalvik虚拟机执行的文件是Dalvik可执行格式(DalvikExecutable,称为.dex),它被优化成最小内存占用。与Java虚拟机时基于堆栈不同,Dalvik虚拟机是基于寄存器的,它通过转换工具dx将Java字节码转换成dex格式。Linux内核:Android依赖于Linux某个版本的核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动程序模型。内核也作为硬件和软件堆栈其余部分之间的抽象层。课程导论Android体系结构各层功能说明(二)Libraries对Android应用程序的理解Android应用程序主要是由Java语言编写,但对于特殊性能要求的功能,也可以先使用C或者C++编写代码,建立动态库,再通过NDK将其与Java应用一起打包成apk。AndroidSDK工具将代码、数据和资源文件编译为一个Android包,它是一个后缀为.apk的归档文件。.apk归档文件将被用在设备上安装应用程序。Android应用程序是可以访问系统服务的,例如:应用程序可以请求访问用户的通讯录,短信,SD存储卡,摄像头,蓝牙,以及更多的设备,但要求用户在安装应用程序时必须被授予相应的权限。课程导论对Android应用程序的理解Android应用程序主要是由Android的组件应用程序组件是一个Android应用程序的重要基石,在编程时根据需要编写相应的组件。有四种不同类型的应用程序组件。每个类型服务于不同的目的:Activity:活动表示一个用户界面,可以和用户进行交互。例如,Email应用程序可以有一个显示新邮件的activity,一个撰写电子邮件的activity和一个阅读邮件的activity。虽然这些activities一起为Email应用程序提供用户体验,但它们每个都是相互独立Service:服务是一个运行在后台的组件(并不提供用户界面),一般用于执行需要长时间运行的操作或执行远程进程的工作。例如:某个service可能会在后台播放音乐。Contentprovider:内容提供者管理应用程序共享的数据集。例如:读取系统自带的联系人信息。Broadcastreceiver:广播接收者是一个负责全系统广播通知的组件。例如:广播电池没有电。课程导论Android的组件应用程序组件是一个Android应用程序认识手机模拟器手机模拟器(MobileEmulator)的作用是在电脑上模拟手机环境,从而可以在电脑上进行手机程序开发、调试和发布。针对不同平台版本、不同尺寸的手机有不同的手机模拟器。课程导论认识手机模拟器手机模拟器(MobileEmulator)的Activity应用程序的生命周期Activity是Android程序图形用户界面的基本组成部件。Android程序由一个或者多个Activity类组成,而程序都是从Activity类开始执行,系统规定了Activity的生命周期有创建,开始,唤醒,暂停和销毁五种状态。Android定义了一系列与生命周期相关的方法,在我们自己的Activity中,只是根据需要重写需要的方法来实现相应的数据初始化,和回收等操作。开发一个Android程序,首选需要创建一个继承于Activity的类。以下为编写Activity程序,并实现其生命周期相应操作的示例:课程导论Activity应用程序的生命周期Activity是AndrActivity应用程序的生命周期代码示例课程导论publicclassMyActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){//一个Activity的实例启动时调用的第一个方法。一般情况下,在这里编写初始化数据、从Xml布局文件中加载设计好的用户界面等方面的操作}protectedvoidonStart(){

//在onCreate()方法执行之后被调用,或者在Activity从Stop状态转换为Active状态时被调用}protectedvoidonResume(){

//在Activity从Pause状态转换到Active状态时被调用,或者在onStart()方法执行之后被调用。onResume()方法也较为适合放入初始化数据的操作}protectedvoidonPause(){

//从Active状态转换到Pause状态时被调用}protectedvoidonStop(){

//从Active状态转换到Stop状态时被调用,一般在这里保存Activity的状态信息}protectedvoidonRestart(){//当处于stop状态时,当前Activity被重新向用户显示时调用该方法}protectedvoidonDestroy(){

//在Activity结束时调用,在这里一般做些释放资源,清理内存等工作}}Activity应用程序的生命周期代码示例课程导论publiActivity应用程序的生命周期课程导论Activity应用程序的生命周期课程导论开发第一个Android程序第一步是选择创建一个AndroidApplicationProject项目,在创建向导中指定应用程序名称、包名称、运行的Android版本等信息。第二步是根据项目的需要在Activity类中编写代码,或者新创建其它类,在Activity类中进行引用。课程导论开发第一个Android程序第一步是选择创建一个AndroiAndroid项目主要目录的作用课程导论Android项目主要目录的作用课程导论自动生成的代码publicclassMainActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

}publicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;

}}课程导论自动生成的代码publicclassMainActivi代码分析MainActivity类继承了Activi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论