Android期末复习题总结Word格式.doc
《Android期末复习题总结Word格式.doc》由会员分享,可在线阅读,更多相关《Android期末复习题总结Word格式.doc(22页珍藏版)》请在冰点文库上搜索。
UnabletoinstantiateactivityComponentInfo{com.test/com.test.CanvasActivitys}:
java.lang.ClassNotFoundException:
com.test.CanvasActivitysinloaderdalvik.system.PathClassLoader[/data/app/com.test-1.apk]这段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里?
()
Canva类没有在AndroidManifest中正确申明sActivitys
12、对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需要解析的是那些间接Intent,通过解析,将Intent映射给可以处理此Intent的Activity、IntentReceiver或Service(对)
Intent可以传递View对象(错)
Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦(对)
通过Intent可以删除程序(对)
13、下面退出Activity错误的方法是()。
System.exit()
14、当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是()。
startActivityResult()
15、这是一个资源配置文件,下面描述正确的是?
()这个shape文件是画一条虚线,实线段5dp,间隔3dp
16、Toasttoast=newToast(this);
toast.setText("
今天天气不错\n哈哈"
);
toast.show();
上面代码的执行结果是什么()。
代码会抛出异常,因为new出的Toast对象不能再使用setText方法来设置提示框文本
17、setOnTouchEvent设置返回值为true和false有何区别?
返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息
18、下列哪个可做EditText编辑框的提示信息()。
android:
hint
19、使进度条变横向的系统样式是()@android:
style/Widget.ProgressBar.Horizontal
20、关于Android事件机制与事件监听,下列说法不正确的有()。
i.View类里的eventlistener是一个带有回调方法的接口,当UI里的组建是被用户触发时,这些方法会被系统框架所调用;
(对)
ii.来自View.OnClickListener,当点击这个Item(在触摸模式),或者当光标聚集在这个Item上时按下“确认”键,导航键,或者轨迹球,它会被调用;
iii.来自View.OnLongClickListener,当长按这个Item(在触摸模式),或者当光标聚集在这个Item上时长按“确认”键,导航键,或者轨迹球,它会被调用;
(对)
iv.来自View.OnFocusChangeListener,当手移到或离开这个Item,它会被调用(对)
v.来自View.OnKeyListener,当光标移到这个Item,按下和释放一个按键的时候,它会被调用;
vi.来自View.OnTouchListener,在这个Item的范围内触摸的时候,它会被调用;
vii.来自View.OnCreateContextMenuListener,当上下文菜单被建立时,只需短按一下,它会被调用。
(错)
21、关于对话框,下面说法正确的是()。
对话框的父类不是View
22、创建一个提示对话框,应创建下面哪种对话框实例()。
AlertDialog
23、在AlertDialog中,以下哪个方法是用于取消的()。
setNegativeButton
24、在android中使用Menu时可能需要重写的方法有()。
(1)onCreateOptionsMenu()(3)onOptionsItemSelected()
25、键盘事件处理方法中,以下哪个方法是用来处理键盘按键的释放事件的()。
keyReleased(intkeyCode)
26、下面Android的存储方式中,除SharedPreferences外还有哪种方式是不可以将数据在不同应用间数据共享的()。
Files
27、当使用文件存储的时候,默认创建的文件会放在什么位置(
)。
app
28、关于SharedPreferences和文件存储数据描述正确的是(
使用文件存储需要创建文件,而SharedPreferences的存储方式自动创建xml文件
29、使用SharedPreferences进行数据存储的时候,下面哪个方法是不参与的(
edit()
30、使用SharedPreferences存储数据时,会创建一个什么类型的文件来进行数据存放(
.xml文件
31、在程序中,使用SD的文件需要使用以下哪些权限(
android.permission.WRITE_EXTERNAL_STORAGE
32、下面哪种不是Android的存储方式(
ContentProvider
33、通过SharedPreferences保存的数据存储在什么文件夹下()。
shared_prefs
34、对于一个已经存在的SharedPreferences对象setting,想向其中存入一个字符串"
person"
,setting应该先调用什么方法(
edit()
35、下列说法哪个不正确()。
一个Activity的对象a1上弹出了一个模拟对话框形式的Activity的对象a2,按返回键后a1执行了onStart和onResume方法,a2执行了onPause,onStop和onDestroy方法;
(错)
拥有android:
configChanges="
orientation|keyboardHidden"
标签的Activity在横竖屏转换时不会再执行onCreate方法;
默认情况下对一个Activity的对象进行横竖屏切换,该对象的onCreate方法在每次切换时都会执行;
一个界面上的EditText中输入文字后,再按下Home,该界面消失,等再回到该界面文字内容仍在,onCreate方法也不会执行。
36、下面布局中,哪个布局会把控件放在左上角,当添加新的控件的时候,将覆盖在前一个控件的上层,并且不能设计控件的位置()。
FrameLayout
37、以下有关RelativeLayout说法正确的是()。
这种布局适合横竖屏切换比较频繁的应用
38、关于RelativeLayout布局中,下面对属性描述不相符合的是()。
android:
layout_marginLeft="
40px"
表示当前控件左边空出40像素的空间;
layout_below="
@id/aclock"
表示当前控件放置于引用名为aclock的控件的下方
layout_centerInParent="
true"
表示当前控件放置于父控件的横向和纵向的中央位置;
layout_alignParentTop="
@id/mtop"
表示当前控件和引用名为mtop的父控件顶端对齐(不符合)
39、关于RelativeLayout描述正确的是()。
该布局为相对布局,其中控件的位置都是相对位置。
40、在RelativeLayout布局中,有一个id为entry的EditText,目前有一个Button想放置在其左边,应为Button指定什么属性设置()。
layout_toLeftOf="
@id/entry"
41、在一个相对布局中怎样使一个控件居中()。
42、在表格布局中,android:
collapseColumns="
1,2"
的含义是:
()在屏幕中,不管是否能都显示完,折叠1、2列
43、绝对布局中,android:
layout_x的含义有()以手机左上为原点,组件显示到屏幕中的横向坐标值。
44、简述开发手机联盟?
开放手机联盟(OHA,OpenHandsetAlliance,)是美国Google公司与2007年11月5日宣布组建的一个全球性的联盟组织,网址为。
这一联盟将会支持Google可能发布的手机操作系统或者应用软件,共同开发名为Android的开放源代码的移动系统。
开放手机联盟包括手机制造商、手机芯片厂商和移动运营商等几大类,目前联盟成员数量已经达到了80家。
45、以下哪一个类可以实现广播接收的功能(
BroadcastReceiver
46、Android系统有哪些特点?
(1)应用框架可以重复使用,其组件也可以更换;
(2)Dalvik虚拟机针对移动设备进行了优化;
(3)优化的图形能力支持2D/3D图形(OpenGLES1.0);
(4)集成了基于开源WebKit引掣的浏览器;
(5)采用SQLite实现结构化数据存储;
(6)多媒体支持多种音频、视频格式;
(7)GSMTelephony(hardwaredependent);
(8)支持蓝牙Bluetooth,3G和WiFi;
(9)支持照相机、GPS、指南针和加速度仪等传感器硬件;
(10)丰富的开发环境,包括模拟机、调试工具、内存运行检测,以及为EclipseIDE所写的插件。
47、在AndroidManifest.xml中注册一个广播,需要使用什么标签(
<
receiver>
48、定义广播需要重写父类中的什么方法(
onCreate
49、在程序中,发送广播的方法是以下哪一个(
)。
sendBroadcast
50、定义一个广播,需要继承哪个类(
BroadcastReceiver)
51、简述Android应用程序的组成。
一般来说,Android程序包含如下主要的组件类:
活动(Activity);
用于表现功能服务(Service);
相当于后台运行的Activity广播接收器(BroadcastReceiver)——用于接收广播意图;
Intent——用于连接以上各个组件,并在其间传递消息;
ContentProviders实现不同组件之间的数据共享;
View提供了可视化界面的展示。
52、Dalvik虚拟机与Sun公司定义的标准虚拟机(JVM)有何不同?
(1)Dalvik和JVM的首要差别是Dalvik基于寄存器而JVM基于栈,基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短;
(2)Dalvik主要是完成对象生命周期管理,堆栈管理,线程管理,安全和异常管理,以及垃圾回收等等重要功能;
(3)Dalvik负责进程隔离和线程管理,每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行;
(4)不同于JVM运行Java字节码,Dalvik虚拟机运行的是其专有的文件格式dex,dex文件格式可以减少文件整体尺寸,提高I/O操作的类查找速度;
(5)所有的Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制。
53、请谈一下Android系统的架构
Android系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
54、Android开发环境搭建需要哪些主要步骤?
l
安装Javal
安装Eclipsel
安装AndroidSDKl
安装Eclipse插件ADT
55、Windows环境下如何检测已经安装成功Java?
写一个简单的java程序来测试JDK是否已安装成功:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("
Helloworld!
"
}
}
将以上代码保存为文档名为HelloWorld.java的文档。
打开命令提示符窗口,进入到HelloWorld.java所在目录,键入下面的命令:
javacHelloWorld.java
javaHelloWorld
如果屏幕如图,能够正确输出且不提示错误,表示JDK开发环境配置完成。
56、什么是AVD,有哪些特点?
AndroidVirtualDevice是一个经过配置的模拟器,可以模拟显示屏幕的大小、屏幕分辨率、触摸屏、轨迹球、键盘、GPS、声音播放、SD卡支持,缓存区大小等。
AVD也存在着缺点,不能模拟重力感应、麦克风等一些硬件设备,因此有时候也需要实体手机上运行和测试Android应用程序。
57、什么是ADT?
AndroidDevelopmentToolsplugin(ADT)是使用Eclipse进行Android移动应用开发的一个方便的开发、仿真测试平台。
58、在手机的实机上进行开发调试需要在手机上如何设置?
在手机上进行开发调试需要在手机上进行设置,选择设置—应用程序-开发-USB调试,之后USB连接开发计算机才能进行开发调试。
59、Activity,intent、Service和BroadCastReceiver之间是什么关系
60、Intent的Action、Category属性的作用是什么?
Action属性主要用来定义Intent要执行的抽象动作,它是一个字符串。
使用时只需在程序中定义,并在要访问组件的<
intent-filter…/>
子元素中声明就可以使用了。
Category属性是对Action定义动作的补充,也是一个普通的字符串,通常两者结合使用。
在文件AndroidManifest.xml里,<
Activity…/>
元素中所配置的子元素<
的作用就是用于指定该Activity可响应的Intent。
61、Intent的Data、Type属性的作用是什么?
Intent的Data属性的作用是向Action属性提供操作的数据。
Data属性接受一个Uri对象,此对象可以决定所要操作数据的类型及数据的具体值。
可以通过设置Type属性来显式指定特定类型数据(MIME)。
一般Intent会根据数据本身对其数据类型进行判定,但是如果使用Intent的Type属性进行设置,可以实现强制显式指定的类型而不再进行推导。
62、简述Intent的功能与作用。
Intent是Android中各种组件之间传送信息的“信使”。
中文里Intent有“意图、目的”的意思,在这里仍兼有这样的含义,因为在组件之间导航的过程中,我们也需要使用Intent将意图一并传递过去。
上一章中,在一个Activity里激发另一个Activity的例子中就体现了Intent的功能。
使用Intent的好处就是应用程序可以启动只具有某种特征的的组件,而不必指定某个具体的组件。
Intent中可以封装不同组件之间进行导航的意图。
这些意图需要通过Intent的属性来表现。
63、Intent的实现策略分为几种类型,请分别叙述。
Intent的实现策略即指Intent寻找组件的方法。
这种策略分为两种:
一种是直接Intent,也称为显式Intent。
另一种是间接Intent,也称为隐式Intent。
直接Intent方式需要通过指定Intent的Component属性(调用setComponent(ComponentName)或者setClass(Context,Class)来指定)来实现。
这样应用就会对应的启动所指定的具体组件类。
在以上对Intent的Component属性的介绍中就说明过。
这种策略主要在源组件知道目标组件名称的情况下使用。
间接Intent策略中没有指定Component属性的Intent,寻找组件需要通过<
子元素来实现。
这就要求Intent中包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中,确定出满足Intent的组件。
64、Android系统提供的Action常量有哪些,如何使用。
Action常量 常量值(字符串) 动作说明
ACTION_CALL android.intent.action.CALL 呼叫指定用户
ACTION_EDIT android.intent.action.EDIT 对于指定数据进行编辑
ACTION_VIEW android.intent.action.VIEW 向用户显示指定数据
ACTION_PICK android.intent.action.PICK 从列表中选择并返回某项目
ACTION_DIAL android.intent.action.DIAL 显示打电话面板,可以实现紧急呼叫
ACTION_SEND android.intent.action.SEND 向他人发送数据(短信)
ACTION_ANSWER android.intent.action.ANSWER 应答电话
65、如何在程序清单文件AndroidManifest.xml中配置Activity?
对于应用程序中的每一个Activity我们都需要在程序清单文件AndroidManifest.xml中进行配置,这样才能有机会运行。
这种配置也是非常简单的,方法就是在程序清文件的<
application…/>
元素中添加<
子元素即可。
添加时一般要注明该Activity的以下三个属性:
Ø
(1)name:
指明要配置的Activity的实现类
(2)icon:
指明要配置的Activity的图标
(3)label:
指明要配置的Activity的标签
在文件AndroidManifest.xml中我们除了要配置每一个Activity外,还需进行子元素<
的配置,该元素用于指定Activity可响应的Intent。
对于每一个应用程序来说,无论它是由几个Activity组成,但只有一个Activity是它的入口。
到底哪一个是入口的Activity,这得由清单文件中的子元素<
来决定。
如果想指定某个Activity为程序入口,这时需在其对应的子元素<
中必须具备如下属性:
actionandroid:
name="
android.intent.action.MAIN"
/>
categoryandroid:
android.intent.category.LAUNCHER"
66、介绍与Activity生命周期相关的回调方法的功能及使用方法。
与Activity生命周期相关的回调方法主要有以下七个:
(1)onCreate():
当创建一个Activity时,系统会回调onCreate()方法进行初始化设置,如创建视图、绑定数据至列表。
(2)onStart():
当一个Activity开始执行时此方法被回调,这时的Activity是可见的,会紧跟在onCreate()方法后面执行。
(3)onResume():
当一个Activity真正开始运行或重新恢复时被回调,此时会获得焦点。
当一个Activity运行时,如果用户又激活了另一个Activity,这时第一个Activity将会被暂停。
在第一个Activity在没有被杀死的情况下,以后又有了重新运行的机会,那么就会直接调用onResume()方法将其恢复。
(4)onPause():
暂停Activity时被回调。
如果在一个Activity运行时,用户又激活了另一个Activity,这时将会调用第一个Activity的onPause()方法将其暂停。
在Activity的状态变换过程中onResume()和onPause()方法经常被调用,因此在使用中应使用简单高效的代码。
(5)onStop():
停止Activity时被回调。
如果在一个Activity运行时,用户又激活了另一个Activity,而且第一个Activity很久都没有得到再次运行机会,就会调用onStop()方法将第一个Activity停止。
(6)onReStart():
在Activity从停止状态转换到活动状态前,回调该方法。
当一个处于停止状态的Activity又获得了用户输入焦点,就会调用onRestart()方法,重新开始执行这