2021级《移动程序设计》复习大纲
考试题型和分值
一、判断题(共10小题,每题1分,共10分)
二、单选题(共10小题,每题1分,共10分)
三、填空题(共10小题,每空1分,共10分)
四、简答题 (共4小题,每题10分,共40分)
五、程序设计题 (共2小题,每空2分,共30分)
知识点
第一章:(涉及题型:判断题、单选题、填空题、简答题)
- Android体系结构包含的层次及各层的特点。
答:应用程序层,应用程序框架层,核心内部类,Linux内核层
- Dalvik虚拟机的特点与作用。
答:Android应用的主要开发语言是java,它通过Dalvik虚拟机运行java程序。其指令集基于寄存器架构,通过执行其特有的dex文件,实现对象生命周期管理,堆栈管理,线程管理,安全异常管理,垃圾回收等功能。
- AndroidManifest.xml清单文件的作用。
是整个程序的配置文件,配置程序所需要的权限和注册程序需要用到的四大组件。
- Android项目资源文件夹的目录结构。
lib:存放第三方jar包
Src/android/Test:存放程序用于调试的代码文件
Src/main/java:存放程序的代码文件
Src/main/res:存放程序的资源文件
Src/main/AndroidMainifest.xml:
App/build.gradle:app的gradle构建脚本
Bulid.gradle:Android的gradle构建脚本
Local.properties:指定Android程序需要用到的SDK路径
Setting.gradle:配置Android用到的子项目
- Android中常用的尺寸单位dp和sp的区别。
答:
dp:设备独立像素,sp:比例像素。Dp可以根据屏幕分辨率大小按比例变化,sp可以跟随系统字体大小变化,所以sp更适用于字体大小的单位。
- Android程序调试的两种方法:单元测试,logcat日志输出。
第二章:(涉及题型:判断题、单选题、填空题)
- Android中的几种常用布局及其各自的特点。
常用布局:线性布局,相对布局,表格布局,帧布局
作用: 线性布局:制定子控件水平或者竖直排列
相对布局:相对定位子控件的位置
表格布局:采用行列的方式管理控件
帧布局:使控件可以上下叠加
- 界面布局的几个通用属性的名称与功能:
android:id:设置布局的标识
android:layout_width:设置布局的宽度
android:layout_height:设置布局的高度
android:background:设置布局的背景
android:layout_margin:设置当前布局与屏幕边界,周围边界或控件的距离
android:padding:设置当前布局与该布局中控件的距离
- 线性布局LinearLayout的两个常用属性的名称与功能:
android:orientation:设置布局内控件的配列顺序(水平或者竖直)
android:layout_weight:设置控件权重,属性值可为int型
- TableLayout与LinearLayout的父子关系。
答:都继承自VIewGroup,TableLayout,是比较复杂的布局,LinearLayout是比较简单直观的布局。
第三章:(涉及题型:判断题、单选题、填空题、简答题)
- TextView控件的常用属性名称与功能:
android:text:设置文本内容
android:textColor:设置文本颜色
android:textSize:设置文本文字大小
android:gravity:设置文本内容位置
- EditText控件的常用属性名称与功能
答:android:hint:内容为空时显示提示文本信息
- EditText、Button与TextView的父子关系。
答:EditText和Button都继承于TextView。
- 实现Button按钮的点击事件有哪几种不同方式?
答:
- 布局文件中指定onClick属性的值
- 使用匿名内部类
- 使用Activity实现OnclickListener接口
- ImageView控件的两个常用属性android:background与android:src功能及区别。
答:
Background设置的是背景,会按ImageView控件大小进行伸缩,src表示的是前景,以原图大小显示。
- RadioButton和RadioGroup的关系及使用方法。
答:
一个RadioGroup控件可以包括多个RadioButton,但只能选中一个RadioButton控件
- ListView控件的基本特点以及数据适配器的作用。
答:
特点:以列表的形式展示数据内容,并且可以根据列表高度自适应屏幕显示
数据适配器的作用:把复杂的数据转化为用户可以接受的方式呈现
- ListView与RecyclerView的区别。
答:
展示效果:可以实现横向和竖向列表效果
数据适配器:规范代码书写格式
复用效果:自己实现复用item对象的工作
动画效果:RecyclerView特有
第四章:(涉及题型:判断题、单选题、填空题、程序设计题)
- Activity有哪些生命周期方法及什么时候被调用?、
答:
onCreate:创建Activity时调用
onStart:即将可见时调用
onResume:获取焦点时调用
onPause:被其他Activity覆盖或锁屏时调用
onStop:对用户不可见时调用
onRestart:从停止状态到再次启动状态调用
onDestroy:销毁ACtivity时调用
- Activity组件的基本方法:setContentView、findViewById。
- Activity组件显式调用和隐式调用的定义与区别。
答:
显式调用:直接指定目标组件
隐式调用:不会明确需要激活的目标组件
- Activity组件之间互相调用的基本方法:startActivity、startActivityForResult、setResult、onActivityResult。
- 通过意图对象intent在不同的Activity之间传递数据的方法。
答:
putExtra(),getXXXExtra(),使用Bundle类
- Android任务栈的特点。Activity有几种不同的启动模式?
答:
特点:先进先出
启动模式:standard,singleTop,singleTask,singleInstance
第五章:(涉及题型:判断题、单选题、填空题)
- Android系统在进行文件存储时,内部存储与外部存储的存储位置区别。
答:
内部存储:应用程序中的数据以文件的形式存储到应用程序中,此时文件为应用程序私有化;
外部存储:以文件的形式存储到一些外部设备,永久性的存储方式,可被其他应用程序共享。
- Android中进行动态申请权限的两个方法:requestPermissions、onRequestPermissionsResult。
- 几种常见的需要动态申请的危险权限:SD卡读写、读取手机通讯录。
- SQLite数据库的创建与打开:使用SQLiteOpenHelper类的构造方法。
- SQLiteOpenHelper类的基本方法:onCreate、onUpgrade、getReadableDatabase、getWritableDatabase。
6. SQLite数据库的CRUD方法:使用SQLiteDatabase工具类。
第六章:(涉及题型:判断题、单选题、填空题)
- 内容提供者的基本工作原理。
答:
假设B程序需要操作A程序数据库中的数据,一般需要A程序使用ContentProvider暴露数据,才能被其他程序操作。B程序通过ContentResolver操作A程序暴露出来的数据,而A程序会将操作结果返回给ContentResolver,然后ContentResolver再将操作结果返回给B程序。
ContentProvider-->A---> ContentResolver-->B
- URI的组成结构。
答:
URl = Scheme + authority + path
- 如何获取内容解析器:getContentResolver方法。
- 如何查询内容提供者的数据:ContentResolver对象所提供的query方法。
第七章:(涉及题型:判断题、单选题、填空题)
- BroadcastReceiver组件的静态注册和动态注册方法。
静态注册:在清单文件中配置广播接收者
动态注册:通过registerReceiver方法注册广播接收者
2. BroadcastReceiver组件的基本方法:onReceive、registerReceiver、
sendBroadcast。
- 有序广播与无序广播的区别。
答:
无序广播:发送广播时,所有广播接收者都会收到,接收和执行的顺序不明确,效率较高,但无法被拦截
有序广播:效率较低,接受和执行有顺序,并可被拦截。
第八章:(涉及题型:判断题、单选题、填空题、简答题、程序设计题)
- Service的两种启动方式的过程及区别。
答:
startService:启动完会长期在后台运行
bindService:绑定的组件一旦退出或者调用unbindService解绑服务,服务就会被销毁,多个组件可以绑定一个服务。
- Service的生命周期方法。
答:
onCreate, onBind, onUnbind, onDestroy
- 本地服务通信的基本原理。
答:
创建一个Service类,使用该类提供的onBind方法来返回一个IBinder对象,IBinder对象回作为参数被传递给ServiceConnection类中的onServiceConnected方法,这样就可以通过IBinder对象与Service通信
- Android系统的四大核心组件名称、作用以及在清单文件中的注册方式。
答:
名称 Activity,Service,Contentprovider,BroadCastReceiver
第九章:(涉及题型:判断题、单选题、填空题)
- HttpURLConnection类的作用及两种不同的发送HTTP请求的方式。
答:
HttpURLConnection作用:可以发送和接收任何类型和长度的数据,也可以设置网络请求和方式和超时时间。
两种方式:Get方式和Post方式
- JSON数据的两种表示结构:对象结构和数组结构。
3. Android SDK提供的两种不同的解析JSON数据的类:JSONObject、JSONArray。
第十章:(涉及题型:判断题、单选题、填空题)
1.利用Bitmap类与BitmapFactory类创建位图的区别。
答:
使用Bitmap类可以创建一张位图,而BitmapFactroy类是用于创建Bitmap对象,来创建位图。
2. 三种不同的动画类型名称与基本特点:补间动画、逐帧动画、属性动画。
第十一章:(涉及题型:判断题、单选题、填空题)
1,使用MediaPlayer类播放音频的基本方法:setDataSource、prepare、start、pause、stop。
2. 使用MediaPlayer类播放视频与播放音频在使用上的区别。
答:
使用MediaPlayer播放视频的时候,需要把视频显示在SurfaceView控件上,所以需要通过setDisplay方法将SurfaceView控件与MediaPlayer类进行关联。