Android程序设计及实践 全套课件.pptx
《Android程序设计及实践 全套课件.pptx》由会员分享,可在线阅读,更多相关《Android程序设计及实践 全套课件.pptx(184页珍藏版)》请在冰豆网上搜索。
,第1章,Android概述,本章目标,了解移动信息设备分类了解Android的历史和优缺点熟悉Android平台的体系架构掌握Android应用程序结构掌握Android应用程序的编写,-,面对巨大的移动应用开发市场,国内外的IT厂商纷纷推出各种各样的移动应用平台。
目前主要有三大主流移动端开发平台:
iOSWindowsPhoneAndroid这三大平台的用户体验各不相同,各有特色。
这些系统之间的应用软件互不兼容,因此移动信息设备中的应用程序需要根据不同的操作系统进行专门的开发。
-,移动设备开发平台,iOSiOS是苹果公司开发的移动操作系统,目前用于苹果公司生产的iPhone、iPodtouch、iPad以及AppleTV等产品上,甚至用到了车载设备上。
iOS凭借着系统的安全性、高度稳定性、简单易用的页面、令人惊叹的内置功能和硬件设备的独特设计赢得了移动平台的一席之地,也是目前移动应用平台的领跑者之一。
-,WindowsPhone,WindowsPhone(简称WP)是微软发布的一款移动操作系统,在2010年首次发布,与此同时,完全放弃了WindowsMobile,WindowsPhone具有一系列比较新颖的操作体验,主要生产厂商有:
诺基亚、三星、HTC、中兴、华为等。
目前最新版本为WindowsPhone8.1,相对于之前的版本,无论是在性能方面还是操作体验方面都有着非常大的提升,并且提高了其与PC端Windows操作系统整合度。
-,Android,网络巨头Google公司发布的基于Linux平台的开源手机操作系统,主要使用于移动设备,但凭借着强大的开源机制,目前不仅仅用于手机、PAD等终端,更是应用到了如智能电视、车载导航、智能可穿戴设备和物联网设备中,正因Android采用的编码语言是JAVA,之前从事JAVA的开发人员可以很容易的过渡到Android开发上来,因此也吸引了很大一批JAVA开发人员投入到Android的开发中,获得更高的收入。
-,开放手机联盟,-,开放手机联盟(OpenHandsetAlliance,OHA)由一群共同致力于构建更好的手持移动信息设备的公司组成。
该组织由Google领导,包括移动运营商、手持设备制造商、零部件制造商、软件解决方案和平台提供商以及市场营销公司。
目前已达34家,-,Android简介,Android一词本意是指“机器人”,是Google公司推出的开源手机操作系统。
Android作为Google移动互联网战略的重要组成部分,推进“随时随地为每个人提供信息”这一企业目标的实现,完善企业移动发展战略:
通过与全球各地的手机制造商和移动运营商成为合作伙伴,开发即实用又有吸引力的移动服务,并推广这些产品。
-,Android的历史,-,Android的优缺点,-,Android的优势主要体现在:
系统的开放性和免费性移动互联网的发展相关厂商的大力支持Android也不是一个完美的系统,同样面临着许多挑战:
用户体验不一致,安全性有待提高技术的进一步完善开放手机联盟模式的挑战其他技术的竞争,Android平台的技术架构,-,Android应用程序构成,-,一个Android应用程序通常是由以下个组件构成的:
活动(Activity)意图(Intent)服务(Service)内容提供器(ContentProvider),活动(Activity),-,活动(Activity)是最基本的Android应用程序组件。
在应用程序中,一个活动通常就是一个单独的屏幕。
每个活动都通过继承活动基类而被实现为一个独立的活动类。
活动类将会显示由视图控件组成的用户接口,并对事件做出响应。
意图(Intent),-,Intent用来描述应用程序的功能。
Intent是利用消息实现应用程序间的交互机制,能够在程序运行的过程中连接两个不同的组件。
Intent描述了应用中一次操作的动作、数据以及附加数据,向Android表达某种请求或者意愿,Android系统会根据Intent描述的内容来选择适当的组件来响应,并将Intent传递给该组件,完成组件的调用。
服务(Service),-,服务是Android应用程序中具有较长的生命周期但是没有用户界面的程序。
Service运行在后台,并且可以与其他程序进行交互。
Service跟Activity的级别差不多,但是不能独立运行,需要通过某一个Activity来调用。
Android应用程序的生命周期是由Android系统来决定的,不由具体的应用程序线程来控制。
如果应用程序要求在没有界面显示的情况还能正常运行(要求有后台线程,而且直到线程结束,后台线程才会被系统回收),此时就需要用到Service。
内容提供器(ContentProvider),-,Android应用程序可以使用文件或SQLite数据库来存储数据。
ContentProvider提供了一种多应用间数据共享的方式。
一个ContentProvider类实现一组标准的方法,能够让其他的应用保存或读取此内容提供器处理的各种数据类型,即一个应用程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去。
外界根本看不到,也不用看到该应用程序暴露的数据是如何存储的,但是外界可以通过这一套标准及统一的接口和应用程序里的数据打交道,可以读取应用程序的数据,也可以删除应用程序的数据。
第一个Android应用,-,编写并运行Android的应用程序通常需要如下3个步骤:
创建一个新的Android项目;创建一个启动配置;运行Android应用程序。
Android项目的架构,src文件夹:
用来存放项目的源文件,android.jar文件:
包含构建应用程序所需的AndroidSDK库,资源引用文件,资源目录,图标文件,界面布局文件,字符串引用文件,Android项目的总配置文件,-,字符串引用文件strings.xml,Ch01Helloworld!
Settings,-,界面布局文件activity_ch01.xml,-,资源引用文件R.java,publicfinalclassRpublicstaticfinalclassattrpublicstaticfinalclassdimenpublicstaticfinalintactivity_horizontal_margin=0x7f040000;publicstaticfinalintactivity_vertical_margin=0x7f040001;publicstaticfinalclassdrawablepublicstaticfinalintic_launcher=0x7f020000;publicstaticfinalclasslayoutpublicstaticfinalintactivity_ch01=0x7f030000;publicstaticfinalclassstringpublicstaticfinalintaction_settings=0x7f050002;publicstaticfinalintapp_name=0x7f050000;publicstaticfinalinthello_world=0x7f050001;,-,源文件Ch01Activity.java,publicclassCh01ActivityextendsActivityOverrideprotectedvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.activity_ch01);OverridepublicbooleanonCreateOptionsMenu(Menumenu)getMenuInflater().inflate(R.menu.ch01,menu);returntrue;OverridepublicbooleanonOptionsItemSelected(MenuItemitem)intid=item.getItemId();if(id=R.id.action_settings)returntrue;returnsuper.onOptionsItemSelected(item);,-,项目配置清单文件AndroidManifest.xml,manifestxmlns:
android=http:
/package=com.dh.ch01android:
versionCode=1,android:
versionName=1.0uses-sdkandroid:
minSdkVersion=14,android:
targetSdkVersion=14/applicationandroid:
allowBackup=true,android:
icon=drawable/ic_launcherandroid:
label=string/app_nameandroid:
theme=style/AppTheme,activityandroid:
name=.Ch01Activity,android:
label=string/app_name,根元素,指定了命名空间、包、版本代号及名称,等信息,图,标,标题,类名,标,题,过滤器,程序的入口,加载程序时运行,SDK版本,-,运行结果:
-,小结:
Android是Google公司推出的开源手机操作系统Android上的应用程序开发使用Java语言,Android平台采用了软件栈的架构,主要分为活动、意图、服务和内容提供器四部分活动(Activity)是最基本的Android应用程序组件意图(Intent)利用消息实现应用程序间的交互机制服务(Service)是Android应用程序中具有较长的生命周期但是没有用户界面的程序内容提供器(ContentProvider)提供了一种多应用间数据共享的方式,-,第2章,活动Activity,熟悉Android程序框架理解Activity的生命周期及方法掌握Activity的组织结构熟悉Android中各种资源的使用,-,本章目标,Activity,Activity(活动)是Android应用程序中最基本的组成单位。
Activity主要负责创建显示窗口,一个Activity对象通常就代表了一个单独的屏幕。
Activity是用户唯一可以看得到的组件,用来与用户进行交互的。
Activity是通过一个Activity栈来进行管理,当前显示的Activity被放到栈顶。
importandroid.app.Activity;importandroid.os.Bundle;publicclassMyActivityextendsActivity.,-,Activity生命周期-1,-,Activity具有生命周期,在生命周期的过程中共有四种状态:
激活或者运行状态:
此时Activity运行在屏幕的前台;暂停状态:
此时Activity失去了焦点但是仍然对用户可见,例如在该Activity上遮挡了一个透明的或者非全屏的Activity;停止状态:
此时Activity被其他Activity完全覆盖;终止状态:
此时Activity将会被系统销毁(清理出内存)。
注意:
处于暂停状态和停止状态的Activity仍然保存了其所有的状态和成员信息,直到被系统终止。
当被系统终止的Activity需要重新再显示的时候,它必须完全重新启动并且将关闭之前的状态全部恢复回来。
Activity生命周期-2,android.app.Activit