安卓期末复习资料整理全
- 格式:pdf
- 大小:1.02 MB
- 文档页数:8
复习提示:
考试分为选择题,简答题和综合题。
PPT中的内容主要是给⼤大家参考简答题和相关的基本概念。其主要考点如下:
1.Activity的概念和⽣生命周期
Activity是Android的四⼤大组件之⼀一,它是⼀一种可以包含⽤用户界⾯面的组件,主要⽤用于和⽤用户进⾏行行交互,⽐比如打电话,照相,发送邮件,或者显示⼀一个地图!Activity⽤用于显示⽤用户界⾯面,⽤用户通过Activity交互完成相关操作,⼀一个App允许有多个Activity。
2.Intent的概念和隐式Intent的使⽤用机制
显式:
1 //显示⽅方式声明Intent,直接启动SecondActivity
2 Intent it = new
Intent(MainActivity.this,SecondActivity.class);
3 //启动Activity
4 startActivity(it);
隐式:
1 // 实例例化Intent
2 Intent it = new Intent();
3 //设置Intent的Action属性
4
it.setAction("com.android.activity.MY_ACTION");
5 // 启动Activity
6 startActivity(it);
3.隐式Intent与显式Intent的区别
显式Intent直接⽤用组件的名称定义⽬目标组件,这种⽅方式很直接。但是由于开发⼈人员往往并不不清楚别的应⽤用程序的组件名称,因此,显式Intent更更多⽤用于在应⽤用程序内部传递消息。⽐比如在某应⽤用程序内,⼀一个Activity启动⼀一个Service。
隐式Intent恰恰相反,它不不会⽤用组件名称定义需要激活的⽬目标组件,它更更⼴广泛地⽤用于在不不同应⽤用程序之间传递消息。
在显式Intent消息中,决定⽬目标组件的唯⼀一要素就是组件名称,因此,如果你的Intent中已经明确定义了了⽬目标组件的名称,那么你就完全不不⽤用再定义其他Intent 内容。
⽽而对于隐式Intent则不不同,由于没有明确的⽬目标组件名称,所以必须由android 系统帮助应⽤用程序寻找与Intent请求意图最匹配的组件。
4.Service的概念与类别,两种类别Service的区别
Service是⽤用于后台服务的,当应⽤用程序被挂到后台的时候,问了了保证应⽤用某些组件仍然可以⼯工作⽽而引⼊入了了Service这个概念,那么这⾥里里⾯面要强调的是Service不不是独⽴立的进程,也不不是独⽴立的线程,它是依赖于应⽤用程序的主线程的,也就是说,在更更多时候不不建议在Service 中编写耗时的逻辑和操作,否则会引起ANR。
那么我们当我们编写的耗时逻辑,不不得不不被service来管理理的时候,就需要引⼊入IntentService,IntentService是继承Service的,那么它
包含了了Service的全部特性,当然也包含service的⽣生命周期,那么与service不不同的是,IntentService在执⾏行行onCreate操作的时候,内部开了了⼀一个线程,去你执⾏行行你的耗时操作。
5.ContentProvider的概念和基本操作⽅方法
ContentProvider管理android以结构化⽅式存放的数据。他以相对安全的⽅式封装数据并且提供简易的处理机制。Content provider提供不同进程间数据交互的标准化接⼜。
实现ContentProvider的步骤:
1)编写⼀一个类,继承ContentProvider,并且重写⾥里里⾯面的CRUD⽅方法。
2)在androidmanifest.xml⽂文件中注册provider。
在androidmanifest.xml中注册provider需要以下3个属性:
android:name provider的实现类。
android:authorities provider的uri。
android:exported provider是否暴暴露露给其他程序。ContentResovler操作ContentProvider:
1)获取ContentResolver,getContentResovler()⽅方法来⾃自于ContextWrapper,所以activity和service中都可以使⽤用。
2)调⽤用CURD⽅方法,通过参数url,调⽤用指定的ContentProvider的⽅方法。
6.Android的开发环境的搭建过程
安装JDK
下载地址: /technetwork/java/javase/ downloads/jdk7-downloads-1880260.html
注意需要选择适合⾃⼰系统的版本.
Android Studio下载
下载地址:/sdk/index.html
Android Studio安装
下载完成后,就可以开始安装了了,⽤用⿏鼠标双击android-studio-bundle-135.1740770-windows.exe启动安装程序
第⼀一次启动AndroidStudio时,需要设置⼀一下SDK的安装⽬目录,设置Android SDK的安装⽬目录。打开AndroidStudio之后,默认会帮我们创建⼀一个app的项⽬目
7.普通⼴广播与有序⼴广播的区别
1.⽆序⼴播(普通⼴播)
通过Context.sendBroadcast()⽅法来发送,它是完全异步的。
所有的receivers(接收器)的执⾏顺序不确定,因此所有的receivers(接收器)接收broadcast的顺序不确定。
这种⽅式效率更⾼,但是BroadcastReceiver⽆法使⽤setResult系列、getResult系列及abortbroadcast(中⽌)系列API。
⼴播不能被终⽌,数据不能被修改。
2.有序⼴播
有序⼴播,即从优先级别最⾼的⼴播接收器开始接收,接收完了如果没有丢弃,就下传给下⼀个次⾼优先级别的⼴播接收器进⾏处理,依次类推,直到最后。如果多个应⽤程序设置的优先级别相同,则谁先注册的⼴播,谁就可以优先接收到⼴播。通过
Context.sendorderBroadCast()⽅法来发送,sendOrderedBroadcast(intent,
receiverPermission, resultReceiver, scheduler, initialCode, initialData, initialExtras);,其中的参数resultReceiver,可以⾃⼰重写⼀个类,作为⼀个最终的receive 最后都能够接收到⼴播,最终的receiver 不需要再清单⽂件⾥⾯配置,initialData可以作为传输的数据
⼴播可以被终⽌,数据传输过程中可以被修改。
8.简要描述Android项⽬目的基本结构
Project 结构类型
• app/build/ app模块build编译输出的⽬目录
• app/build.gradle app模块的gradle编译⽂文件
• app/app.iml app模块的配置⽂文件
• app/proguard-rules.pro app模块proguard⽂文件• build.gradle 项⽬目的gradle编译⽂文件
• settings.gradle 定义项⽬目包含哪些模块
• gradlew 编译脚本,可以在命令⾏行行执⾏行行打包
• local.properties 配置SDK/NDK
• MyApplication.iml 项⽬目的配置⽂文件