Android应用开发介绍课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Android应用开发介绍课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 应用 开发 介绍 课件
- 资源描述:
-
1、Android平台架构Android环境配置和开发Android应用程序构成如何开发一个例子目录AndroidAndroid平台架构平台架构JNIJAVAC/汇编简介 LinuxLinux核心核心:Android依赖Linux 2.6来提供核心的服务,例如存储管理、进程(Process)管理等 Android RuntimeAndroid Runtime:Java语言层级的Virtual Machine LibrariesLibraries:Android里已经提供的C/C+组件。例如,SQLite、OpenGL 3D等。应用框架应用框架(Application Framework,)(App
2、lication Framework,):这是结合Applications和Libraries的主架构,让Libraries組件能不断地为Applications所重复使用 应用程序应用程序(Applications)(Applications):根据用户的期望而将AF的组件及Libraries组件组合而成的服务。用汉堡比喻用汉堡比喻Android 平台架构平台架构Android环境配置和开发Android平台架构Android应用程序构成如何开发一个例子目录如何安装 Android SDK 和Eclipse 插件所需开发环境所需开发环境:JDK 5 或 JDK 6(仅有JRE不够)Eclip
3、se 3.5(galileo)下载下载ADT 的的Eclipse 插件插件 http:/ Eclipse 插件插件(ADT)启动 Eclipse,选择 Help Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,然后点击Archive.,浏览和选择已经下载的ADT插件插件压缩文件。点击 OK.。返回可用软件的视图,你会看到这个插件,然后选择Developer Tools(会选中下面的“Android Developer Tools”和“Android Editors“),点击 Next,最后重启 Eclipse。下载下载Andro
4、id SDK:http:/ Eclipse,选择window-preferences,在打开的视图左边点击android,在右边的SDK Location中选择Android SDK所在位置。开发第一个Android应用打开Eclipse,新建项目(点击FileNewProject),在项目列表中展开Android目录,选择Android Project,如下图:开发第一个Android应用开发第一个Android应用点击”finish”即可完成项目的创建,创建后的项目已经是一个可运行的Android应用,我们可以通过下面方式运行此应用:点击工具栏上手机形状的虚拟设备管理器(简称“AVD“),
5、如下:开发第一个Android应用在打开的虚拟设备管理器中创建一个虚拟手机:开发第一个Android应用在项目上右键点击run as Android application,如下图:Android应用程序架构src/java原代码存放目录原代码存放目录gen/自动生成目录自动生成目录gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修
6、改R.java。R.java在应用中起到了字典的作用,它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。res/资源资源(Resource)目录目录在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。具体请看ppt下方备注栏。AndroidManifest.xml 功能清单文件功能清单文件 这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、G
7、PS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。default.properties 项目环境信息项目环境信息,一般是不需要修改此文件目录Android环境配置和开发Android平台架构Android应用程序构成如何开发一个例子Android应用程序构成ActivityServiceBroadcast ReceiverContent ProviderIntentActivity A visual user interface 通过view管理UI 每一个有用户界面的应用至少包含一个activity 一个应用可
8、以有多个activity,其中一个作为main activity用于启动显示 Activity通过startActivity或startActivityForResult启动另外的activityActivity生命周期 Activity通过onCreate被创建 当一个activity失去焦点,该activity将进入pause状态,系统在内存不足时会将其终止 当一个activity被另一个activity覆盖,该activity将进入stop状态,系统在需要内存的时候会将其终止Intent 类似于消息、事件通知 Intent构成:action、category、data Activity、
9、Service、broadcast receiver之间的桥梁IntentactivityserviceBroadcast receiverIntent 两类intent:显式:指定具体的目标组件处理 startActivity(new Intent(ActivityLifecycle.this,AnotherActivity.class);隐式:由系统接受并决定如何处理 startActivity(new Intent(Intent.ACTION_DIAL);在AndroidManifest.xml中定义activity、service、broadcast receiver接受的intent
10、Intent Intent filter:action、category、dataframeworkComponent nameActionDataCategoryintentcomponentactivityserviceBroadcast receiver实例action-DIALdata-tel:01038639592action-VIEWdata-http:/Service 没有UI,启动之后一直运行于后台 例子:音乐播放器 与应用程序的其他模块(例如activity)一同运行于主线程中 通过startService或bindService创建Service 通过stopService
11、或stopSelf终止Service 一般的,在activity中启动和终止serviceService生命周期Context.stopService()Serivce.stopSelf()Context.startService()Context.bindService()服务服务-Service-ServiceAndroid中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下:第一步:继承Service类public class SMSService extends Service
12、服务服务-Service-Service第二步:在AndroidManifest.xml文件中的节点里对服务进行配置:服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。如果打算采用Context.startService()Context.start
13、Service()方法启动服务方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。服务服务-Service-Service如果打算采用Context.bindService()Context.bindService()方法启动服务方法启动服务,在服务未被创建时,系
14、统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-onDestroy()方法。服务服务-Service-Service
15、服务常用生命周期回调方法如下:onCreate()该方法在服务被创建时调用,该方法只会被调用一次,无论调用多少次startService()或bindService()方法,服务也只被创建一次。onDestroy()该方法在服务被终止时调用。l 与采用Context.startService()方法启动服务有关的生命周期方法onStart()只有采用Context.startService()方法启动服务时才会回调该方法。该方法在服务开始运行时被调用。多次调用startService()方法尽管不会多次创建服务,但onStart()方法会被多次调用。l 与采用Context.bindServi
16、ce()方法启动服务有关的生命周期方法onBind()只有采用Context.bindService()方法启动服务时才会回调该方法。该方法在调用者与服务绑定时被调用,当调用者与服务已经绑定,多次调用Context.bindService()方法并不会导致该方法被多次调用。onUnbind()只有采用Context.bindService()方法启动服务时才会回调该方法。该方法在调用者与服务解除绑定时被调用。采用采用startService()startService()启动服务启动服务采用Context.startService()方法启动服务的代码如下:public class Hello
17、Activity extends Activity Override public void onCreate(Bundle savedInstanceState).Button button=(Button)this.findViewById(R.id.button);button.setOnClickListener(new View.OnClickListener()public void onClick(View v)Intent intent=new Intent(HelloActivity.this,SMSService.class);startService(intent););
18、采用采用bindService()()启动服务启动服务采用Context.startService()方法启动服务的代码如下:public class HelloActivity extends Activity ServiceConnection conn=new ServiceConnection()public void onServiceConnected(ComponentName name,IBinder service)public void onServiceDisconnected(ComponentName name);Override public void onCrea
展开阅读全文