欢迎来到天天文库
浏览记录
ID:50036609
大小:1.33 MB
页数:11页
时间:2020-03-08
《Android移动应用设计与开发 教学课件 作者 黄宏程 胡敏 陈如松 Android移动应用设计与开发--第03章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android移动应用设计与开发第3章Android基本原理项目3.1Android框架3.1.1体系结构3.1.2运行原理2.1.3开发工具介绍3.2Android应用程序简介3.2.1Activity介绍3.2.2Service介绍3.2.3BroadCastReceiver介绍3.2.4ContentProvider介绍本章导读3.1.1体系结构Android系统采用了分层的架构,总共四层,由上到下分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层,每一层都使用其下面各层所提供的服务。3.1
2、.2运行原理1、系统启动过程通过ls命令查看Android系统的根目录,如下图3.2所示,使用ps命令查看Android系统的进程.2、应用程序编译原理和运行原理Android应用程序的编译过程如下:利用aapt工具生成R.java文件。使用aidl工具将.aidl文件编译成.java文件。AIDL是Android系统提供的一种进程间调用的方式,类似于IPC调用,通过aidl工具将使用AndroidInterfaceDefinitionLanguage描述的.aidl文件编译成包含Java接口类的.java文件,
3、然后进程间遵循这些接口进行相互调用。使用javac工具将.java文件编译成.class文件。使用dx.bat批处理将众多.class文件转换成一个.dex文件。使用aapt工具打包资源文件。使用apkbuilder生成未签名的apk安装文件。使用JDK中的jarsigner对apk安装文件进行签名。3.2.1Activity介绍Activity通俗地讲就是用户界面,它有其自身的生命周期。一个应用程序通常包含多个Activity,它们可以互相切换。Activity的使用需要在manifest文件中进行声明。And
4、roid系统是通过任务栈来管理Activity的。当一个Activity启动时,会把它压入到该Task的堆栈中,当用户按返回键或者结束掉该Activity时,它会从该Task的堆栈中弹出。当用户按Home键时,当前应用程序的任务栈将转到后台,该任务栈中保存着压入其中的各个Activity的状态。此时,用户可以启动任意其他应用程序,如果是另外的应用程序,那么它所在的任务栈将处于前台,用户可以与之进行相应地交互3.2.1Activity介绍Activity通俗地讲就是用户界面,它有其自身的生命周期。一个应用程序通常包
5、含多个Activity,它们可以互相切换。Activity的使用需要在manifest文件中进行声明。Android系统是通过任务栈来管理Activity的。当一个Activity启动时,会把它压入到该Task的堆栈中,当用户按返回键或者结束掉该Activity时,它会从该Task的堆栈中弹出。当用户按Home键时,当前应用程序的任务栈将转到后台,该任务栈中保存着压入其中的各个Activity的状态。此时,用户可以启动任意其他应用程序,如果是另外的应用程序,那么它所在的任务栈将处于前台,用户可以与之进行相应地交互
6、3.2.1Activity介绍Android为我们定义了四种加载模式,分别是standard、singleTop、singleTask和singleInstance。standard是Activity默认的加载模式,一调用startActivity()方法就会产生一个新的实例,这种模式下的Activity可以被实例化多次;singleTop表示如果已经有一个实例位于任务栈的顶部,就不会产生新的实例,而只是调用onNewIntent()方法,如果不位于栈顶,会产生一个新的实例,这种模式下的Activity也可以被实
7、例化多次;singleTask会在一个新的Task中产生这个实例,以后每次调用都会使用这个实例,而不会去产生新的实例;singleInstance这个跟singleTask基本上是一样,只是在这个模式下的Activity实例所处的Task中,只能有这个Activity实例,不能有其他的实例。Activity加载模式的Intent标识主要有:FLAG_ACTIVIYT_NEW_TASK(同singleTask效果)FLAG_ACTIVITY_SINGLE_TOP(同singleTop效果)FLAG_ACTIVITY
8、_CLEAR_TOP3.2.2Service介绍Service不直接与用户进行交互,没有用户界面,能够长期在后台运行,且比Activity具有更高的优先级,在系统资源紧张时不会轻易被Android系统终止。每个服务都是从Service基类中派生的。Service的生命周期没有Activity那样复杂,也是从onCreate()到onDestory()结束,但经历的生命周期
此文档下载收益归作者所有