安卓期末重点复习资料(EK-绝密版)
安卓期末考试题及答案

安卓期末考试题及答案一、选择题(每题2分,共20分)1. Android操作系统是基于哪个内核开发的?A. Linux内核B. Windows内核C. MacOS内核D. FreeBSD内核答案:A2. 在Android开发中,哪个文件用于定义应用程序的配置信息?A. AndroidManifest.xmlB. build.gradleC. strings.xmlD. layout.xml答案:A3. 下列哪个不是Android四大组件?A. ActivityB. ServiceC. BroadcastReceiverD. DataProvider答案:D4. Android中,哪个类是所有Activity的父类?A. ContextB. ViewC. ApplicationD. Activity答案:D5. 在Android中,用于处理用户界面布局的XML文件通常保存在哪个目录下?A. /res/values/B. /res/drawable/C. /res/layout/D. /res/menu/答案:C6. Android开发中,Intent是用来做什么的?A. 启动ActivityB. 处理网络请求C. 管理线程D. 存储数据答案:A7. 在Android中,哪个方法用于启动一个新的Activity?A. startService()B. broadcastIntent()C. startActivity()D. registerReceiver()答案:C8. Android中,如何实现Activity之间的数据传递?A. 使用SharedPreferencesB. 使用IntentC. 使用File存储D. 使用SQLite数据库答案:B9. 在Android开发中,下列哪个方法用于获取当前Activity的实例?A. getApplicationContext()B. getSystemService()C. getBaseContext()D. getCurrentActivity()答案:C10. Android中,下列哪个不是布局文件的属性?A. layout_widthB. layout_heightC. layout_marginD. layout_color答案:D二、简答题(每题5分,共30分)1. 请简述Android应用的生命周期。
安卓期末考试知识总结

安卓期末考试知识总结第一章:Android基础入门习题总结1.Android系统采用分层架构,由高到低分为4层,主要为:应用程序层、应用程序框架层、核心类库、Linux内核2.在Android项目程序开发完成后中,必须__打包成_正式的Android安装文件,才能发布到互联网上让用户下载使用。
3.Android 工程中src目录下存放_java__文件重点知识1.应用层:应用层是核心应用程序的集合。
手机上所有的应用都属于这一层,程序,短信程序。
2.应用程序框架层:应用程序框架层主要提供构建应用程序时用到的各种API,例如:活动管理器、通知管理器、内容提供者3.核心类库:核心类库中包含了系统库及Android运行环境。
(1)系统库主要通过c/c++库为Android系统提供主要的特性支持(2)Android运行时库主要提供一些核心库,允许开发者使用java语言来编写Android应用程序4.Linux内核:为Android·设备的各种硬件提供底层的驱动,如显示驱动、音频驱动、蓝牙驱动、电源管理驱动Android工程中的assets目录主要存放一些文件资源,这些文件会被原封不动的打包到APK文件中更为细分的5层架构:应用程序层、应用程序框架层、核心类库、硬件抽象层 (HAL)、Linux内核硬件抽象层 (HAL) 提供标准界面,向更高级别的 Java API 框架显示设备硬件功能。
HAL 包含多个库模块,其中每个模块都为特定类型的硬件组件实现一个界面,例如相机或蓝牙模块。
当框架 API 要求访问设备硬件时,Android 系统将为该硬件组件加载库模块。
第二章:Android常见桌面布局&第三章:Android常见界面控件知识总结1.Android应用的界面是由View 对象和 ViewGroup 对象构建而成的。
ViewGroup继承自View,ViewGroup作为容器盛装界面中的其他控件Android应用的每个界面的根元素必须有且只有一个ViewGroup容器Android常见布局和特点:Android中常见的五种布局:相对布局(RelativeLayout)、线性布局(LinearLayout)、表格布局(TableLayout)、帧布局(FrameLayout)、约束布局(ConstraintLayout)1.相对布局(RelativeLayout):相对布局是一种基于相对位置的布局方式,可以通过设置组件相对于其他组件或父容器的位置来实现布局。
安卓考试复习word版本

安卓考试复习1、安卓核心组件有哪些?提供界面显示的Activtiy,提供后台计算的Service,提供进程间通信的Intent和提供广播接收的BroadcastRsceiver.安卓用什么数据库?SQLite2、 R.java 是什么文件?干什么用的?在什么地方?R.java文件是Android项目自动生成的终态类R.java文件除了有自动标识资源的"索引"功能之外,还有另一个主要的功能,当"res"目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。
"gen/"目录下3、安卓平台架构分为几层?各是什么?Android 系统分为四层,从下往上分别是Linux Kernel,Libraries 和Android Runtime,Application Frameworl,Applications.4、在manifest文件中如何注册一个activity?<activity android:name=".MainActivity"></activity>5、Activity的生命周期有哪些状态?状态转换时调用的方法各是什么?一个Activity有三种状态:激活或者运行状态,运行在前台(在当前Activity栈的栈顶)。
暂停状态,失去了焦点但是仍然对用户可见,比如有其他的Activity在它之上,或者透明或者没有遮住整个屏幕。
停止状态,被其他Activity覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。
1 2 3 4 5 6 7 void onCreate() void onStart() void onRestart() void onResume() void onPause() void onStop() void onDestroy()6、同一个应用之间Activity互相调用要用什么Intent(隐式、显式?还是什么?)?显式Intent直接用组件的名称定义目标组件,这种方式很直接。
Android技术基础,大学期末考试题复习

Android一、选择题1. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是?(选择一项) ( D)A. DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念.B.DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念C.DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM 不一定都是在Linux 中的一个进程,所以说不是一个概念.D.DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM 都是在Linux 中的一个进程,所以说可以认为是同一个概念.2.下列选项哪个不是Activity启动的方法?(选择一项)( A)A. goToActivityB. startActivityC. startActivityFromChildD. startActivityForResult4.下列哪一个不属于Activity的生命周期方法(选择一项)( A)A. onIniB. onStartC. onStopD. onPause5.对于XML布局文件中的视图控件,layout_width属性的属性值不可以是什么?(选择一项) ( D)A. match_parentB. fill_parentC. wrap_contentD. match_content6.对一些资源以及状态的操作保存,最好是保存在Activity生命周期的哪个函数中进行?(选择一项) ( A)A. onStartB. onPauseC. onCreateD. onResume7.关于视图控件的常用事件Android.docx描述中,不正确的是?(选择一项) ( A)A. Click事件只能使用在按钮上,表示按钮的点击动作B.当TextView类视图控件失去焦点或获得焦点时,将触发FocusChange事件C. 当单选框中某一选项被选择时,将触发CheckedChange事件D.当多选框中某一选项被选择时,将触发CheckedChange事件题目8.以下关于Android应用程序的目录结构描述中,不正确的是(选择一项) ( D)A. src目录是应用程序的主要目录,由Java类文件文件组成B. assets目录是原始资源目录,该目录中的内容将不会被R类所引用C. res目录是应用资源目录,该目录中的所有资源内容都会被R类所索引D. AndroidManifest.xml文件是应用程序目录清单文件,该文件由ADT自动生成,不需要程序员手动修改9.下列关于XML布局文件在Java代码中被引用的说明中,不正确的是(选择一项) ( B)A.在Activity中,可以使用findViewById( )方法,通过资源id,获得指定视图元素B.在Activity中,可以使用R.drawable-system.***方式引用Android系统所提供的图片资源C. 在Activity中,可以使用setContentView( )方法,确定加载哪一个布局文件D.可以使用View类的findViewById( )方法,获得当前View对象中的某一个视图元素10.下列关于Android布局文件常用的长度/大小单位的描述中,不正确的是(选择一项) ( C)A. dp是设备独立像素,不依赖于设备,是最常用的长度单位B. sp代表放大像素,主要用于字体大小的显示C. px是像素单位,在不同的设备上显示效果相同,因此推荐在布局中使用该单位D.在设置空间长度等相对距离时,推荐使用dp单位,该单位随设备密度的变化而变化11.下列哪一个选项不属于Android中预定义的布局方式(选择一项)( A)A. TabLayoutB. RelativeLayoutC. AbsoluteLayoutD. LinearLayout13.下列哪一款移动设备搭载的是Android平台?(选择一项)( A)A. NOKIA手机B.小米手机C. iPhone手机D. iPad14.下列关于ListView使用的描述中,不正确的是?(选择一项)( B)A.要使用ListView,必须为该ListView使用Adpater方式传递数据B.要使用ListView,该布局文件对应的Activity必须继承ListActivityC. ListView中每一项的视图布局既可以使用内置的布局,也可以使用自定义的布局方式D. ListView中每一项被选中时,将会触发ListView对象的ItemClick事件16.在android 中使用Menu 时可能需要重写的方法有?(选择两项)( AB)A. onOptionsItemSelected()B. onCreateOptionsMenu()C. onItemSelected()D. onCreateMenu()17.下列关于内存回收的说明,哪个是正确的?(选择一项)( C)A.程序员必须创建一个线程来释放内存B.内存回收程序允许程序员直接释放内存C.内存回收程序负责释放无用内存D.内存回收程序可以在指定的时间释放内存对象18.Math.round(11.5)等于多少(). Math.round(-11.5)等于多少?(选择一项) ( C)A. 11 ,-11B. 11 ,-12C. 12 ,-11D. 12 ,-1219.下列程序段:void complicatedexpression_r(){int x=20,y=30;boolean b;b=x>50&&y>60||x>50&&y60||x(选择一项) ( D)A. 1B. 0C. TRUED. FALSE21.android 关于service生命周期的onCreate()和onStart()说法正确的是?(选择两项) ( BD)A.如果service已经启动,将先后调用onCreate()和onStart()方法B.当第一次启动的时候先后调用onCreate()和onStart()方法C.当第一次启动的时候只会调用onCreate()方法D.如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法26.下列哪个是AbsoluteLayout(绝对布局) 中特有的属性?(B)A. android:layout_heightB. android:layout_xC. android:layout_aboveD. android:layout_toRightOf31.android 是如何组织Activity 的?(选择一项) ( A)A.以栈的方式组式ActivityB.以队列的方式组织ActivityC.以树形方式组织ActivityD.以链式方式组织Activity32.android 中下列属于Intent的作用的是?(选择一项)( D)A.处理一个应用程序整体性的工作B.是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失C.实现应用程序间的数据共享D.可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带33.onPause 什么时候调用?(选择一项) ( B)A.当界面启动时B.当onCreate 方法被执行之后C.当界面被隐藏时D.当界面重新显示时34.在Activity 中,如何获取service 对象?(选择一项)( D)A.可以通过直接实例化得到。
android期末考试题及答案

android期末考试题及答案Android期末考试题及答案一、选择题(每题2分,共20分)1. Android开发中,Activity的生命周期中,哪个方法在Activity 被系统销毁时调用?A. onCreate()B. onStart()C. onDestroy()D. onPause()答案:C2. 在Android中,以下哪个不是布局文件的根元素?A. LinearLayoutB. RelativeLayoutC. ConstraintLayoutD. <application>答案:D3. 下列哪个不是Android的四大组件之一?A. ActivityB. ServiceC. Broadcast ReceiverD. Data Binding答案:D4. 在Android开发中,Intent可以用来实现什么功能?A. 启动ActivityB. 传递数据C. 启动ServiceA. 以上都是答案:A5. Android中,以下哪个不是View的常用属性?A. layout_widthB. layout_heightC. visibilityD. background_color答案:D6. Android的权限管理中,以下哪个权限不需要用户显式授权?A. INTERNETB. CAMERAC. READ_CONTACTSD. WRITE_EXTERNAL_STORAGE答案:A7. 在Android中,以下哪个类不是ContextWrapper的子类?A. ActivityB. ServiceC. BroadcastReceiverD. Application答案:C8. Android中的Handler是用来做什么的?A. 线程间通信B. 网络请求C. 布局设计D. 数据存储答案:A9. Android开发中,SharedPreferences可以用来做什么?A. 存储临时数据B. 存储大量数据C. 存储复杂数据结构D. 存储少量数据答案:D10. 在Android开发中,以下哪个不是常用的图片格式?A. PNGB. JPEGC. GIFD. BMP答案:D二、简答题(每题5分,共30分)1. 简述Android中的Activity和Fragment的区别。
(完整word版)AndroidAPP开发期末复习资料

1。
短信的内容提供者是( )A。
ContactProviderB. MessageProviderC. SmsProviderD. TelephonyProvider2.以下是Android中用于xml解析方式的是( )。
A。
SAX B. DOM C. XmlPullParser D。
Juint3.下列选项中,关于Bitmap类描述正确的是()。
A。
Bitmap类表示画 B. Bitmap类代表画布 C。
Bitmap类是最常用的绘图类D。
Bitmap类表示位图工厂4。
Dalvik虚拟机是基于( )的架构。
A.栈B。
堆 C. 寄存器 D. 存储器5.在Android UI开发中,常见的刮刮卡是通过( )实现的。
A。
FrameLayout B。
LinearLayout C。
RelativeLayout D.TableLayout6.注册一个短信到来的广播事件需要在清单文件配置什么权限()。
A. 〈uses-permission android:name="android。
permission。
SMS"/>B.<uses—permissi onandroid:name=”android。
permission。
SEND_SMS"/〉C。
〈uses—permissionandroid:name=”android.permission.RECEIVE_SMS”/〉D。
<uses-permission android:name=”android。
permission。
RECEIVE_SEND_SMS”/〉7.关于服务的创建说法错误的是()。
A。
Android中创建服务需要继承Service类 B。
Android 中的服务需要在清单文件配置. C。
Android 中的服务可以理解成是在后台运行且没有界面的activity。
D。
Android中定服务能做的事情完全可以开一个子线程替代。
安卓考试试题

安卓考试试题一、选择题(每题2分,共20分)1. Android是基于什么操作系统开发的?A. WindowsB. LinuxC. MacOSD. Unix2. Android应用开发主要使用哪种编程语言?A. JavaB. C++C. PythonD. Swift3. 下列哪项不是Android四大组件之一?A. ActivityB. ServiceC. Content ProviderD. Module4. Android应用的UI设计通常使用哪种布局文件?A. .javaB. .htmlC. .xmlD. .css5. 在Android开发中,用于处理异步任务的类是?A. AsyncTaskB. ThreadC. HandlerD. Service6. AndroidManifest.xml文件的主要作用是什么?A. 定义应用的布局B. 定义应用的权限C. 定义应用的配色方案D. 定义应用的数据库结构7. 下列哪个不是Android中的视图组件?A. TextViewB. ImageViewC. ButtonD. DatabaseView8. 在Android中,使用哪种方式可以实现应用间的通信?A. IntentB. SocketC. BroadcastD. All of the above9. Android应用的发布格式是什么?A. .javaB. .apkC. .htmlD. .exe10. 下列哪项是Android应用开发中常用的设计模式?A. SingletonB. FactoryC. ObserverD. All of the above二、填空题(每题2分,共20分)11. Android系统的默认包名为_________。
12. Android应用的生命周期是由_________管理的。
13. 在Android中,使用_________可以实现网络请求。
14. Activity的onCreate()方法通常用于_________。
信息安全保密期末考试复习

信息安全保密期末考试复习教学内容要点:(2课时)信息安全保密期末考试复习 (1)1.期末考试复习 (2)说明:1.期末考试复习《信息安全与保密》课程期末考试试卷(B卷)考试专业班级计算机科学与技术考试形式闭卷考试类型考查考试时间120 分钟题号一二三四五六七总分分值 26 38 10 10 16 100五、填空题(总共20分,每空1分)一、计算题(总共20分,每小题10分)二、简答题(总共18分,每小题9分)四、应用题(总共15分,每小题15分)2.分组密码和流密码的主要区别在哪里;攻击密码体制的主要方法有两种?选择题(总共27分,每小题3分)1. . 关于RC4算法下列结论不正确的是【】A.它是一个对称算法。
B.它由RSA公司开发C.它的密钥最长256字节。
D.它可以用于数字签名。
2. 关于RSA 算法下列说法不正确的是【】。
A.RSA 算法可用于某种数字签名方案B.RSA 算法的运算速度比DES慢C.RSA 算法是一种对称加密算法D.RSA 的安全性主要基于素因子分解的难度3.下列说法哪些正确:(1)虚电路与电路交换没有实质不同(2)在通信的两站间只能建立一条虚电路(3)虚电路有连接建立、数据传输、连接拆除三个阶段(4)虚电路的各结点不需要为每个分组作路由选择判定4.可以认为数据的加密和解密是对数据进行的某种变换,加密和解密的过程都是在的【】控制下进行的。
A.明文B.密文C.密钥D.消息5.n=77,则n的欧拉函数值为【】A.34 B.4 C.24 D.608.以下()四层组成了Internet的分层结构。
A. 应用层、传输层、通信子网层和物理层B. 网络接口层、网络层、传输层和应用层C. 物理层、数据链路层、网络层和传输层D. 应用层、表示层、传输层和网络层9.下列传输介质中,哪种传输介质的抗干扰性最好?A 双绞线B 光缆C 同轴电缆D 无线介质1.Diffle-Hellman 算法当中,公用素数q=71,本元根a=7,a. 如果用户A的私钥Xa=5,则A的公钥Ya为多少?b. 如果用户B的私钥Xb=12,则B的公钥Yb为多少?c. 共享密钥为多少?一、填空题,请把答案填写在答题纸上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、p4开放手机联盟成员①电信运营商②半导体芯片商③手机硬件制造商④软件厂商⑤商品化公司2、p9Android具有自己的运行时和虚拟机,与java和.Net 运行时不同,Android运行时还可以管理进程的生命周期。
Eclipse3、p104、p12在开始下载和安装Eclipse之前,应该首先确认开发主机上是否已经安装了Java 运行环境JRE5、p26DDMS①Android系统中内置的调试工具②监视Android系统中进程、堆栈信息,查看logcat日志,实现端口转发服务和屏幕截图功能,模拟器电话呼叫和SMS短信,以及浏览Android模拟器文件系统等③启动文件:<Android SDK> /tools/ddms.bat(1)DDMS中的设备管理器同时检控多个Android模拟器,显示每个模拟器中所以正在运行的进程提供屏幕截图功能(2)DDMS中的模拟器控制器控制Android模拟器的网络速度和延迟,模拟语音和SMS短信通信网络速率:GSM、HSCSD、PRS、EDGE、MTS、DPA和全速率网络延迟:GPRS、EDGE、UMTS和无延迟(3)DDMS中的模拟器控制器电话呼入显示SMS短信显示(4)DDMS中的文件浏览器上传、下载和删除Android内置存储器上的文件显示文件和目录的名称、权限、建立时间等(5)DDMS中的日志浏览器(LogCat)浏览Android系统、Dalvik虚拟机或应用程序产生的日志信息,有助于快速定位应用程序产生的错误6、p36根目录包含四个子目录:src、assets、res和gen,一个库文件android.jar,以及两个工程文件Androidmanifest.xml和default.properties(1)src目录是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中(2)gen目录是1.5版本新增的目录,用来保存ADT自动生成的java文件,例如R.java或AIDL文件(3)assets目录用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。
此目录中的资源不能被R.java 文件索引。
,所以只能以资截流的形式读取。
一般情况下为空(4)res 目录是资源目录,有三个子目录用来保存Android 程序所有资源① drawable 目录用来保存图像文件② layout 目录用来保存与用户界面相关的布局文件 ③ valuse 目录保存文件颜色、风格、主题和字符串等 (5)AndroidManifest.xml 是XML 格式的Android 程序声明文件,包含了Android 系统运行Android 程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和SDK 最低版本等,而且每个Android 程序必须在根目录下包含一个AndroidManifest.xml 文件7、p50系统会根据进程的优先级清除进程,回收系统资源。
Android 系统中的进程优先级由低到高分别为前台进程、可见进程、服务进程、后台进程和空进程。
8、p54前台进程高优先级中优先级低优先级可见进程服务进程后台进程空进程9、p61LogCat是用来获取系统日志信息的工具,并可以显示在Eclipse集成开发环境中LogCat的右上方的五个字母表示五种不同类型的日志信息,他们的级别依次增高[V]:详细(Verbose)信息[D]:调试(Debug)信息[I]:通告(Info)信息[W]:警告(Warn)信息[E] :错误(Error)信息程序调试原理首先引入android.util.Log包,然后使用Log.v()、Log.d()、Log.i() 、Log.w() 和Log.e()五个函数在程序中设置“日志点”Log.v()用来记录详细信息Log.d()用来记录调试信息Log.i()用来记录通告信息Log.w()用来记录警告信息Log.e()用来记录通错误信息10、p69EditTextEditText是用来输入和编辑字符串的控件EditText是一个具有编辑功能的TextView<EditText android:id="@+id/EditText01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="EditText01" ></EditText>11、p72CheckBox和RadioButton●CheckBox是一个同时可以选择多个选项的控件●RadioButton则是仅可以选择一个选项的控件●RadioGroup是RadioButton的承载体,程序运行时不可见,应用程序中可能包含一个或多个RadioGroup●一个RadioGroup包含多个RadioButton,在每个RadioGroup中,用户仅能够选择其中一个RadioButton引用CheckBox和RadioButton的方法参考下面的代码CheckBox设置点击事件监听器的简要代码RadioButton设置点击事件监听器的方法12、p791、界面布局一、线性布局线性布局(LinearLayout)是一种重要的界面布局中,也是经常使用到的一种界面布局在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列如果垂直排列,则每行仅包含一个界面元素如果水平排列,则每列仅包含一个界面元素线性布局的排列方法主要由Orientation属性进行控制,vertical表示垂直排列,horizontal表示水平排列缺省情况下,Layout height的值为wrap_content,表示线性布局高度等于所有子控件的高度总和,也就是线性布局的高度会刚好将所有子控件包含其中将Layout width属性的值改为fill_parent,表示线性布局宽度等于父控件的宽度,就是将线性布局在横向上占据父控件的所有空间二、框架布局框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角如果有多个子元素,后放置的子元素将遮挡先放置的子元素三、表格布局表格布局(TableLayout)也是一种常用的界面布局,它将屏幕划分网格,通过指定行和列可以将界面元素添加的网格中网格的边界对用户是不可见的表格布局还支持嵌套,可以将另一个表格布局放置在前一个表格布局的网格中,也可以在表格布局中添加其他界面布局,例如线性布局、相对布局等等四、相对布局相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置特点:能够最大程度保证在各种屏幕类型的手机上正确显示界面布局五、绝对布局绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了界面布局对不同类型和尺寸屏幕的适应能力13、p90Android系统支持三种菜单选项菜单(Option Menu)子菜单(Submenu)快捷菜单(Context Menu)(1)选项菜单选项菜单是一种经常被使用的Android系统菜单打开方式:通过“菜单键”(MENU key)打开选项菜单分类图标菜单(Icon Menu)扩展菜单(Expanded Menu)图标菜单能够同时显示文字和图标的菜单,最多支持6个子项图标菜单不支持单选框和复选框扩展菜单是在图标菜单子项多余6个时才出现,通过点击图标菜单最后的子项“More”才能打开扩展菜单是垂直的列表型菜单不能够显示图标支持单选框和复选框重载Activity的onCreateOptionMenu()函数,才能够在Android应用程序中使用选项菜单初次使用选项菜单时,会调用onCreateOptionMenu()函数,用来初始化菜单子项的相关内容设置菜单子项自身的子项的ID和组ID菜单子项显示的文字和图片等MenuItem android.view.Menu.add(int groupId, int itemId, int order,CharSequence title)第1个参数groupId是组ID,用以批量的对菜单子项进行处理和排序第2关参数itemId是子项ID,是每一个菜单子项的唯一标识,通过子项ID使应用程序能够定位到用户所选择的菜单子项第3个参数order是定义菜单子项在选项菜单中的排列顺序第4个参数title是菜单子项所显示的标题(2)子菜单子菜单是能够显示更加详细信息的菜单子项菜单子项使用了浮动窗体的显示形式,能够更好适应小屏幕的显示方式Android系统的子菜单使用非常灵活,可以在选项菜单或快捷菜单中使用子菜单,有利于将相同或相似的菜单子项组织在一起,便于显示和分类子菜单不支持嵌套子菜单的添加是使用addSubMenu()函数实现(3)快捷菜单快捷菜单同样采用了动窗体的显示方式,与子菜单的实现方式相同,但两种菜单的启动方式却截然不同启动方式:快捷菜单类似于普通桌面程序中的“右键菜单”,当用户点击界面元素超过2秒后,将启动注册到该界面元素的快捷菜单使用方法:与使用选项菜单的方法非常相似,需要重载onCreateContextMenu()函数和onContextItemSelected()函数onCreateContextMenu()函数主要用来添加快捷菜单所显示的标题、图标和菜单子项等内容onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) onCreateContextMenu()函数中的参数第1个参数menu是需要显示的快捷菜单第2个参数v是用户选择的界面元素第3个参数menuInfo是所选择界面元素的额外信息选项菜单中的onCreateOptionsMenu()函数仅在选项菜单第一次启动时被调用一次快捷菜单的onCreateContextMenu()函数每次启动时都会被调用一次菜单选择事件的处理需要重载onContextItemSelected()函数,该函数在用户选择快捷菜单中的菜单子项后被调用,与onOptionsItemSelected ()函数的使用方法基本相同使用registerForContextMenu()函数,将快捷菜单注册到界面控件上。