《《第一行代码Android》(第2版)试题范围19页》由会员分享,可在线阅读,更多相关《《第一行代码Android》(第2版)试题范围19页(19页珍藏版)》请在金锄头文库上搜索。
1、-第一行代码Android(第2版)试题范围及答案/-第1章1. 简述下Android系统的四层架构。1) Linux内核层:Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动。如显示驱动、音频驱动、照相机驱动、蓝牙驱动,Wi-Fi驱动、电源管理等 2) 系统运行库层:这一层通过一些C/C+库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库库的支持,OpenGL/ES库提供了3D绘图的支持,webkit库提供了浏览器内核的支持等 3) 应用框架层:这一层主要提供了构建应用程序时可能用到的各种API,Android自带的一些核心
2、应用就是使用这些API完成的、开发者也可以通过使用这些API来构建自己的应用程序 4) 应用层:所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从Google play上下载的小游戏,当然还包括你自己开发的程序。2. 简述下Android ver5.0、6.0、7.0、8.0各版本的系统代号和API版本号。版本号系统代号API5.0Lollipop216.0Marshmallow237.0Nougat248.0Oreo263. Android的四大组件有哪些?使用时需要注册到哪个文件中?1) Android系统四大组件分别是活动(activity)、服务(
3、Server)、广播接收器(broadcast receiver)和内容提供器(content provider),2) android新创建四大组件需要在Manifest文件中注册4. 搭建Android开发环境需要哪些软件工具,试着列举出其中一套开发环境方案。方案1)JDK+ Android SDK+ Android Studio ,还有虚拟机AVD等可以在安装完Android Studio之后在软件内下载。方案2)JDK+ Android SDK +Eclipse+ADT。5.请写出缩略语SDK、AVD、DDMS的中、英文解释1) SDK:软件开发工具包。2) AVD:Android V
4、irtual Device,就是Android运行的虚拟设备,他是Android的模拟器识别。3) DDMS:Dalvik Debug Monitor Service,是 Android 开发环境中的Dalvik虚拟机调试监控服务。6. 导入项目时需要对项目进行配置,涉及清单文件以及gradle的3个配置文件,请列举出这3个文件名称(含具体项目路径)。在“Android”过滤器下,这3个文件在Gradle Script节点内:1) projectbuild.gradle2) Modulebuild.gradle3) gradle-wrapper.properties文件在“Project” 过
5、滤器下,这3个文件名称为:1) 项目下面的build.gradle(即project build.gradle)2) app下面的build.gradle(即Modulebuild.gradle)3) 在项目文件目录,依次打开gradle/wrapper文件夹,并打开gradle-wrapper.properties文件7.试着写出创建一个简单活动HelloWorldActivity的基本代码。public class HelloWorldActivity extends AppCompatActivity Override protected void onCreate(Bundle sav
6、edInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.hello_world_layout); 8.请说明,项目res目录下的各个子目录(drawable、layout、mipmap、values)的功能。1) drawable开头的文件夹都是用来放图片的。2) layout文件夹是用来放布局文件的。3) 所有以mipmap开头的文件夹都是用来放应用图标的。4) 所有以values开头的文件夹都是用来放字符串、样式、颜色等配置的。9.如果需要在gradle中加入一个外部类库appcompat-v7
7、:27+,应如何配置依赖?请写出要配置的文件和相关代码。在项目appbuild.gradle中添加相应的依赖库,如下:dependencies compile com.android.support:appcompat-v7: 27.+10.app目录下的build.gradle文件的部分代码如下,请相应注释处给出功能解释。apply plugin: com.android.application/表示这是一个应用程序模块android compileSdkVersion 25/编译版本 buildToolsVersion 25.0.3/项目构建工具的版本 defaultConfig appl
8、icationId com.example.dell.ch_2_6/项目包名 minSdkVersion 22/最低兼容的Android版本 targetSdkVersion 25 versionCode 1/项目的版本号 versionName 1.0/项目的版本名 testInstrumentationRunner android.support.test.runner.AndroidJUnitRunner buildTypes release minifyEnabled false/用来指定是否对项目的代码进行混淆 false表示不混淆。 proguardFiles/用来指定混淆时使用的
9、规则文件。 getDefaultProguardFile(proguard-android.txt), proguard-rules.pro /.txt是在Android SDK 目录下的,里面是所有项目通用的混淆规则。 /.pro是当前项目的根目录的,里面可以编写当前项目特有的混淆规则。 dependencies compile fileTree(dir: libs, include: *.jar)/本地依赖声明。 androidTestCompile(com.android.support.test.espresso:espresso-core:2.2.2, /远程依赖声明。 exclud
10、e group: com.android.support, module: support-annotations ) compile com.android.support:appcompat-v7:25.3.1 compile com.android.support.constraint:constraint-layout:1.0.2 testCompile junit:junit:4.12/用于声明测试用例库的11. 请列举log工具的几个输出日志的常用方法,并简述其功能。1) Log.v()用于打印最为详细的日志信息。2) Log.d()用于打印一些调试信息。3) Log.i()用于打
11、印一些比较重要的信息4) Log.w()用于打印一些警告信息5) Log.e()用于打印程序中的错误信息/-21. 简述下Activity的管理模式。Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里 的活动的集合,这个栈也被称为返回栈(Back Stack)。栈是一种“后进先出”的数据结构,默认情况下,新创建的活动会处于栈顶的位置,而当我们按下back键或调用finish()方法去销毁一个活动时,处于栈顶的活动就会出栈。2. 简述下活动的四种状态。1) 运行状态:活动处于栈顶时就处于运行状态;2) 暂停状态:当活动不处于栈顶,但可见,就进入暂停状态;3) 停止状态:
12、当活动不处于栈顶,且完全不可见,就进入暂停状态,系统可能会暂时保存活动的状态,但也可能被系统回收;4) 销毁状态:活动从返回栈中移除后就进入销毁状态。系统优先回收这种状态的活动。3.活动的生命周期包括7个回调函数,简述下活动的3个生存期都对应着哪些回调函数。1) 完整生命周期: 即从一个Activity从出现到消失,对应的周期方法是从onCreate()到onDestroy()。2) 可见生命周期: 当Activity处于可以用户看见的状态,但不一定能与用户交互时,将多次执行从onStart()到onStop()。3) 前台生命周期: 当Activity处于Activity栈最顶端,能够与其他
13、用户进行交互时,将多次执行从onResume()到onPause()。4.活动时如何保存实例状态的。Activity中还提供了一个onSaveInstanceState()回调方法,这个方法可以保证在活动被回收之前一定会被调用,因此我们可以通过这个方法来解决活动被回收时临时数据得不到保存的问题。5. 活动的启动模式包括哪几种?standard、singleTop、singleTask和singleInstance6. 如何将一个Activity设置成对话框的样式。答: 第一种方法,在styles.xml文件中,可以新建如下的类似Dialog的style。 。第二种方法,在AndroidMani
14、fest.xml中在需要显示为窗口的Activity中添加如下属性: android: theme=“style/Theme.FloatActivity”即可。也可以直接添加对应需要展示为Dialog style的Activity的android: theme属性为android: theme=“ android: style/Theme.Dialog”。7. 两个Activity之间怎么传递数据?答: 可以在Intent对象中利用Extra来传递存储数据。1) 在Intent的对象请求中,使用putExtra(“键值对的名字”,”键值对的值”);Intent intent=new Intent(FirstActivity.this,SecondActivity.class);intent.putExtra(“testIntent”,data);2) 在另外一个Activity中将Intent中的请求数据取出来: Intent intent = getIntent();Stri