Android期末复习题总结
网络励志经典语录-英国大学排名2013
1、 Intent的Component属性的作用是什么,如何定义此属性?
component(组件),指定Intent的的目标组件的类名称。通常
Android会根据Intent 中
包含的其它属性的信息,比如action、datatype
、category进行查找,最终找到一个与之匹
配的目标组件。但是,如果 component这
个属性有指定的话,将直接使用它指定的组件,
而不再执行上述查找过程。指定了这个属性以后,Int
ent的其它所有属性都是可选的。
Component属性的作用是用来指定Intent的目标组
件的类名称。如果
Component这个属性被指定了的话, Intent的其它属性都是可选项,
Android
会直接使用Component指定目标组件,而不再执行其它查找过程。
<
br>在使用时,需要先创建一个ComponentName对象,然后将它设置成Intent对
象
的Component的属性。通过setComponent()、setClass()和setClass
Name()
三种方法都可以设置组件的名称,通过getComponent()方法则可获得设置项
。
2、
发送广播时,可以通过sendCatagoryBroadcast()方法将In
tent对象发送出去( ). (错)
3、Android是什么?( ) 一种操作系统
4、下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是 (
)
DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有
一个独立
的Dalvik虚拟机实例。而每一个DVM都是在Linux
中的一个进程,所以说可以认为是同一个
概念。
5、Android操作系统最早由哪个公司研发?( ) Android公司
6、下列中不属于手持设备的是( ) 机顶盒
7、下列不是手机操作系统的是(
)。
Windows Vista
8、
到目前为止,Android操作系统的最高版本是哪个? ( )
Android L
9、
安装Android SDK时,可以通过(
)在线安装或离线安装。
Android sdk manager
10、
开发Android应用程序时,一般使用的计算机语言是( )
。
JAVA
11、
EAndroidRuntime(1099):
eException: Unable to instantiate
activity
ComponentInfo{Activitys}:
otFoundException:
Activitys in loader
assLoader[]
这段话是程序报错在
LogCat中产生的记录,从中可以分析问题的原因可能在哪里?( )
CanvasActivitys类没有在AndroidManifest中正确申明 <
br>12、
对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,An
droid
需要解析的是那些间接Intent,通过解析,将 Intent映射给可以处理此Int
ent的Activity、
IntentReceiver或Service (对)
Intent 可以传递 View对象 (错)
Intent起着一个媒体中介的
作用,专门提供组件互相调用的相关信息,实现调用者与被
调用者之间的解耦 (对)
通过Intent可以删除程序 (对)
13、下面退出Activity错误的方法是(
)。
( )
14、当启动一个Activity并且新的Activity执行完
后需要返回到启动它的Activity来执行
的回调函数是( )。
startActivityResult()
15、这是一个资源配置文件,下面描述正确的是? ( )
这个shape文件是画一条虚线,实
线段5dp,间隔3dp
16、
Toast toast = new Toast(this);
t(今天天气不错n哈哈
上面代码的执行结果是什么( )。
代码会抛出异常,因为new出的Toast对象不能再使用
setText方法来设置提示框文本
17、
setOnTouchEvent 设置返回值为true 和
false有何区别?( )
返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息
18、
下列哪个可做EditText编辑框的提示信息( )。
android:hint
19、
使进度条变横向的系统样式是( )
@android:ntal
20、
关于Android
事件机制与事件监听,下列说法不正确的有( )。
类里的event listener是一个带
有回调方法的接口,当UI里的组建是被用户触
发时,这些方法会被系统框架所调用;(对)
ii.来自kListener ,当点击这个Item(在触摸模式),或者当光标聚集在这
个Ite
m上时按下“确认”键,导航键,或者轨迹球, 它会被调用;(对)
iii.来自ClickListener ,当长按这个Item(在触摸模式),或者当光标聚集
在
这个Item上时长按“确认”键,导航键,或者轨迹球, 它会被调用; (对)
iv.来自sChangeListener ,当手移到或离开这个Item, 它会被调用 (对)
v.来自istener,当光标移到这个Item,按下和释放一个按键的时候,它
会被调用
;(对)
vi.来自hListener,在这个Item的范围内触摸的时候,它会被调用;(对)
vii.来自teContextMenuListener,当上下文菜单被建立时,只需短按一下,
它会被调用。 (错)
21、
关于对话框,下面说法正确的是(
)。
对话框的父类不是View
22、
创建一个提示对话框,应创建下面哪种对话框实例( )。
AlertDialog
23、
在AlertDialog中,以下哪个方法是用于取消的( )。
setNegativeButton
24、
在android中使用Menu时可能需要重写的方法有( )。 (1)
onCreateOptionsMenu()
(3)
onOptionsItemSelected()
25、
键盘事件处理方法中,以下哪个方法是用来处理键盘按键的释放事件的 ( )。
keyReleased(int keyCode)
26、
下面And
roid的存储方式中,除SharedPreferences外还有哪种方式是不可
以将数据在不同
应用间数据共享的( )。
Files
27、
当使用文件存储的时候,默认创建的文件会放在什么位置( )。app
28、
关于SharedPreferences和文件存储数据描述正确的是( )
。使用
文件存储需要创建文件,而SharedPreferences的存储方式自动创建xml文件
29、
使用SharedPreferences进行数据存储的时候,下面哪个方法是不参与
的
( )。edit()
30、
使用SharedPreferences
存储数据时,会创建一个什么类型的文件来进行数
据存放( )。.xml文件
31、
在程序中,使用SD的文件需要使用以下哪些权限(
)。
_EXTERNAL_STORAGE
32、
下面哪种不是Android的存储方式( )。
ContentProvider
33、
通过SharedPreferences保存的数据存储在什么文件夹下(
)。shared_prefs
34、
对于一个已经存在的SharedPreferenc
es对象setting,想向其中存入一个
字符串,setting应该先调用什么方法(
)。 edit()
35、
下列说法哪个不正确( )。
一个Activ
ity的对象a1上弹出了一个模拟对话框形式的Activity的对象a2,按返回键
后a1执行了
onStart和onResume方法,a2执行了onPause,onStop和onDestroy方法 ;(错)
拥有android:configChanges=标签的Activ
ity在横竖屏
转换时不会再执行onCreate方法;(对)
默
认情况下对一个Activity的对象进行横竖屏切换,该对象的onCreate方法在每次切
换时
都会执行;(对)
一个界面上的EditText中输入文字后,再按下Home,该界面消
失,等再回到该界面文
字内容仍在,onCreate方法也不会执行。(对)
36
、
下面布局中,哪个布局会把控件放在左上角,当添加新的控件的时候,将覆盖在前
一个控件的
上层,并且不能设计控件的位置( )。
FrameLayout
37、
以下有关RelativeLayout说法正确的是( )。
这种布局适合横竖屏切换比较频繁
的应用
38、
关于RelativeLayout布局中,下面对属性描述不相符合的是(
)。
android:layout_marginLeft=表示当前控件左边空出40像素的空间
;
android:layout_below=表示当前控件放置于引用名为aclock的控件的下方
android:layout_centerInParent=表示当前控件放置于父控
件的横向和纵向的中
央位置 ;
android:layout_alignPar
entTop=表示当前控件和引用名为mtop的父控件顶
端对齐(不符合)
39、
关于RelativeLayout描述正确的是(
)。
该布局为相对布局,其中控件的位置都
是相对位置 。
40、
在Rel
ativeLayout布局中,有一个id为entry的EditText,目前有一个Button想放置在其左边,应为Button指定什么属性设置( )。
android:layout_toLeftOf=
41、
在一个相对布局中怎样使一个控件居中( )。
android:l
ayout_centerInParent=
42、
在表格布局中,android:col
lapseColumns=的含义是: ( )
在屏幕中,不管
是否能都显示完,折叠1、2列
43、
绝对布局中,android:layout_x 的含义有( )
以手机左上为原点,组件显示到屏
幕中的横向坐标值。
44、简述开发手机联盟?
开放手机联盟(OHA,Open Handset Alliance,)是美国Google公司与
2007年11
月5日宣布组建的一个全球性的联盟组织,网址为
http: 。这一联盟将
会支持Google可能发布的手
机操作系统或者应用软件,共同开发名为Android的开放源代码
的移动系统。开
放手机联盟包括手机制造商、手机芯片厂商和移动运营商等几大类,目前联盟成
员数量已经达到了80家。
45、以下哪一个类可以实现广播接收的功能( )。
BroadcastReceiver
46、Android系统有哪些特点?
(1)应用框架可以重复使用,其组件也可以更换;(2)Dalvik虚拟机针对移
动设备进
行了优化;(3)优化的图形能力支持2D3D图形(OpenGL ES 1.0);
(4)集成了基
于开源WebKit引掣的浏览器;(5)采用SQLite实现结构化数据
存储;(6)多媒体支持多
种音频、视频格式;(7)GSM Telephony(hardware
dependent);
(8)支持蓝牙Bluetooth,3G和WiFi;(9)支持照相机、GPS、
指南针和加速度仪
等传感器硬件;(10)丰富的开发环境,包括模拟机、调试工
具、内存运行检测,以及为Eclips
e IDE所写的插件。
47、
在中注册一个广播,需要使用什么标签( )。
48、
定义广播需要重写父类中的什么方法(
)。
onCreate
49、
在程序中,发送广播的方法是以下哪一个(
)。
sendBroadcast
50、定义一个广播,需要继承哪个类(
)。
BroadcastReceiver
51、简述Android应用程序的组成。
一般来说,Android 程序包含如下主要的组件类:活动(Activity);用于
表现
功能服务(Service);相当于后台运行的Activity广播接收器
(Broa
dcastReceiver)—— 用于接收广播意图; Intent——用于连接以上各个
组件,
并在其间传递消息;ContentProviders实现不同组件之间的数据共享;
View提供了
可视化界面的展示。
52、Dalvik虚拟机与Sun公司定义的标准虚拟机(JVM)有何不同?
(1)Da
lvik和JVM的首要差别是Dalvik基于寄存器而JVM基于栈,基于寄存
器的虚拟机对于更大
的程序来说,在它们编译的时候,花费的时间更短;(2)
Dalvik主要是完成对象生命周期管理,
堆栈管理,线程管理,安全和异常管理,
以及垃圾回收等等重要功能;(3)Dalvik负责进程隔离
和线程管理,每一个
Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在
虚拟机
的解释下得以执行;(4)不同于JVM运行Java字节码,Dalvik虚拟机运行的
是其专有的文件格式dex,dex文件格式可以减少文件整体尺寸,提高IO操作
的类查找速度;(
5)所有的Android应用的线程都对应一个Linux线程,虚拟
机因而可以更多的依赖操作系统
的线程调度和管理机制。
53、请谈一下Android系统的架构
Android系统
采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运
行库层和linux核心层
。
54、
Android开发环境搭建需要哪些主要步骤?
安装Java
安装Eclipse
安装Android SDK
安装Eclipse插件ADT
55、
Windows环境下如何检测已经安装成功Java?
写一个简单的java程序来测试JDK是否已安装成功:
public class HelloWorld{
public
static void main(String[] args){
n(
}
}
将以上代码保存为文档名为的文档。
打开命令提示符窗口,进入到
所在目录,键入下面的命令:
javac
java HelloWorld
如果屏幕如图,能够正确输出且不提示错误,表示JDK开发环境配置完成。
56、
什么是AVD,有哪些特点?
Android Virtual Devic
e是一个经过配置的模拟器,可以模拟显示屏幕的大小、
屏幕分辨率、触摸屏、轨迹球、键盘、GPS、
声音播放、SD卡支持,缓存区大小
等。AVD也存在着缺点,不能模拟重力感应、麦克风等一些硬件设
备,因此有时
候也需要实体手机上运行和测试Android应用程序。
57、
什么是ADT?
Android Development Tools plugin
(ADT)
是使用Eclipse进行Android移动
应用开发的一个方便的开发、仿真测试平台。
58、
在手机的实机上进行开发调试需要在手机上如何设置?
在手机上进行开发调试需要在手机上进行设置,选择设置—应用程序-开发-
USB
调试,之后USB连接开发计算机才能进行开发调试。
59、Activity,i
ntent、Service和BroadCastReceiver之间是什么关系
60、Intent的Action、Category属性的作用是什么?
Ac
tion属性主要用来定义Intent要执行的抽象动作,它是一个字符串。使用时
只需在程序中定义
,并在要访问组件的
使用了。Category
属性是对Action定义动作的补充,也是一个普通的字符串,
通常两者结合使用。
在文件里,
61、Intent的Data、Type属性的作用是什么?
Intent的D
ata属性的作用是向Action属性提供操作的数据。Data属性接受一
个Uri对象,此对象可
以决定所要操作数据的类型及数据的具体值。
可以通过设置Type属性来显式指定特定类型数据(M
IME)。一般Intent会根据数据本身对其
数据类型进行判定,但是如果使用Intent的Ty
pe属性进行设置,可以实现强制显式指定的
类型而不再进行推导。
62、简述Intent的功能与作用。
Intent是Android中各种组件之间传送
信息的“信使”。中文里Intent有“意
图、目的”的意思 ,在这里仍兼有这样的含义,因为在组
件之间导航的过程中,
我们也需要使用Intent将意图一并传递过去。上一章中,在一个Activ
ity里激
发另一个Activity的例子中就体现了Intent的功能。
使用Inte
nt的好处就是应用程序可以启动只具有某种特征的的组件,而不必指
定某个具体的组件。Intent
中可以封装不同组件之间进行导航的意图。这些意
图需要通过Intent的属性来表现。
63、Intent的实现策略分为几种类型,请分别叙述。
Intent的实现
策略即指Intent寻找组件的方法。这种策略分为两种:一种是直
接Intent,也称为显式In
tent。另一种是间接Intent,也称为隐式Intent。
直接Intent方式需要通过指
定Intent的Component属性(调用
setComponent(ComponentNa
me)或者setClass(Context, Class)来指定)来实
现。这样应用就会对应的
启动所指定的具体组件类。在以上对Intent的
Component属性的介绍中就说明过。这种策
略主要在源组件知道目标组件名称的
情况下使用。间接Intent策略中没有指定Component
属性的Intent,寻找组件
需要通过
息,这样系统才能根据这些信息,在所有的可用组件中,确定出满足Inte
nt的
组件。
64、Android系统提供的Action常量有哪些,如何使用。
Action常量 常量值(字符串) 动作说明
ACTION_CALL . CALL 呼叫指定用户
ACTION_EDIT .
EDIT 对于指定数据进行编辑
ACTION_VIEW . VIEW 向用户显示指定数据
ACTION_PICK . PICK 从列表中选择并返回某项
目
ACTION_DIAL . DIAL 显示打电话面板,可以实现
紧急呼叫
ACTION_SEND . SEND 向他人发送数据(短信)
ACTION_ANSWER . ANSWER 应答电话
65、如何在程序清单文件中配置Activity?
对于应用程序中的每一个A
ctivity我们都需要在程序清单文件
中进行配置,这样才能有机会运行。这种配置也是非常简单<
br>的,方法就是在程序清文件的
可。添加时一般要注明该Activity的以下三个属性:
(1)
name:指明要配置的Activity的实现类
(2)
icon:指明要配置的Activity的图标
(3)
label:指明要配置的Activity的标签
在文件中我们除了要配置每一个Activity外,还需进行
子元素
每一个应用程序来说
,无论它是由几个Activity组成,但只有一个Activity是它
的入口。到底哪一个是入口
的Activity,这得由清单文件中的子元素
的子元素
与Activity生命周期相关的回调方法主要有以下七个:
(1) onCreate
():当创建一个Activity时,系统会回调onCreate()方法进行初始
化设置,如创建
视图、绑定数据至列表。
(2) onStart():当一个Activity开始执行时此方法
被回调,这时的Activity是
可见的,会紧跟在onCreate()方法后面执行。
(3)
onResume():当一个Activity真正开始运行或重新恢复时被回调,此时会
获得焦点。
当一个Activity运行时,如果用户又激活了另一个Activity,这时第一个
Ac
tivity将会被暂停。在第一个Activity在没有被杀死的情况下,以后又有了重
新运行的机
会,那么就会直接调用onResume()方法将其恢复。
(4)
onPause():暂停Activity时被回调。
如果在一个Activit
y运行时,用户又激活了另一个Activity,这时将会调用
第一个Activity的onPau
se()方法将其暂停。在Activity的状态变换过程中
onResume()和onPause
()方法经常被调用,因此在使用中应使用简单高效的代码。
(5)
onStop():停止Activity时被回调。
如果在一个Activity运行时,用户又
激活了另一个Activity,而且第一个
Activity很久都没有得到再次运行机会,就会调用
onStop()方法将第一个Activity
停止。
(6)
onReStart():在Activity从停止状态转换到活动状态前,回调该方法。
当一个
处于停止状态的Activity又获得了用户输入焦点,就会调用onRestart()
方法,重新
开始执行这个Activity。
(7)
onDestroy():在销毁Activity前,即进入非活动状态前,回调该方法。
67、Activity在其生命周期中会处于哪几种状态?
一个Activity在其生命周期中会在四个重要状态间进行转换。下面分别说明各状
态:
(1) 活动状态,处于该状态时,Activity位于前台,用户可见且可获得焦点;
(2)
暂停状态,处于该状态时,该Activity仍可见,但失去焦点,其它Activity
位于前台;
(3) 停止状态,处于该状态时,Activity不可见且失去焦点;
(4)
销毁状态,处于该状态时,Activity被系统或进程结束。
68、如何将一个Activity设置成窗口的样式。
在中定义Activity的地方添加:
android:theme=”@android:”或
android:theme=”@android:ucent”就变成半透明的
69、使用资源包括哪几种方法?
(1) 在代码里使用资源类;
(2) 在代码里调用资源类并实例化;
(3) 从其他资源类里引用。
70、谈谈android中常用的几种布局。
在Android中,共有五种布局方式,分
别是:FrameLayout(框架布局),
LinearLayout (线性布局),Absol
uteLayout(绝对布局),RelativeLayout(相对
布局),TableLayo
ut(表格布局)。
(1)FrameLayout 框架布局,放入其中的所有元素都被放置在最左
上的区域,而
且无法为这些元素指定一个确切的位置,下一个子元素会重叠覆盖上一个子元
素,
适合浏览单张图片。
(2)LinearLayout 线性布局,是应用程序中最常
用的布局方式,主要提供控件水
平或者垂直排列的模型,每个子组件都是以垂直或水平的方式来定位(默
认是垂
直)。
(3)AbsoluteLayout 绝对定位布局,采用坐标轴的方式定位
组件,左上角是(0,
0)点,往右x轴递增,往下Y轴递增,组件定位属性为android:lay
out_x 和
android:layout_y来确定坐标。
(4)RelativeLayout
相对布局,根据另外一个组件或是顶层父组件来确定下一个
组件的位置。和CSS里面的类似。
(5)TableLayout 表格布局,类似Html里的Table.使用TableRow来
布局,其
中TableRow代表一行,TableRow的每一个视图组件代表一个单元格。
71、android中常用的数据存储方式有哪些?
常用的数据存储方式:Sh
arePreference存储、File存储(分为手机内存存储和SD卡存储)、
SQLite数
据库存储和网络存储。
72、一个Activity就是一个可视化的界面或者看成是控件的容器。(对)
73、I
ntent有很长的生命周期,是没有用户界面的程序,可以保持应用在后台运行,而不会
因为切换页面
而消失 。
(错)
74、当Antivity的启动模式设置为SingleTop表示当
该Anctivity的实例在栈顶时只会产生一个
实例。(对)
75、onPause()
方法在activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状
态的,也是对运
行时数据的现场保护。
(对)
76、onDestroy是activity被结束掉前最
后一个被调用方法,当调用finish方法或者系统为了
节省空间将它暂时性的结束掉时候调用。(对
)
77、不是所有的Activity都有自己的生命周期。
(错)
78、
onPause( ) 是service的生命周期方法(
)。(错)
79、如果service已经启动,再次启动该服务时将先后调用onCreate()
和onStartCommand()
方法。
(错)
80、利用HttpURLC
onnection的.getInputStream()方法得到的是字符流。( )(
错)
81、程序中使用http协议从网上下载文件时,无需设置访问网络的权限。( )
(错)
82、使用startService()方法启动服务后,调用者和服务间没有关联,即使调
用者退出了,
服务任然进行。
(对)
83、当应用程序中某广播在Android
Mainifest进行注册后,即使该应用程序关闭后,也可以
接受操作系统发出的广播信息。(对)
84、UIthread 通常就是main
thread,Android启动程序时会替它建立一个MessageQueue。
(对)
85、广播接收器可以在Activity中单独注册与注销。(对)
86、广播接收器只能在配置文件中注册。
(错)
87、
对下面代码:
e=new
long[]{100,200,100,500},
其中notification是通知管理器
对象,表示我们对Notification设置了震动,并且是100ms延迟
后,震动200ms,
然后停止100ms,再震动500ms 。( )
(对 )
88、使用Notification时,需要发送广播实现notify。( )
(错)
89、在中注册广播,需要使用标签。( )
(对)
90、有2种
方式注册BroadcastReceiver的方法,一是静态的在中注册,二
是动态的在代码中注册
。( )
(对)
91、如果需要一个通知立即显示,那么在构造No
tification对象的时候,需要在构造函数的第三
个参数中传递 new
Calendar()的值 ( )。 (错)
92、取消注册BroadcastReceiver,调用sterReceiver()方法 (
)。(对)
93、
编写用Intent实现的用户登录程序。
要求:在第一个界
面上输入用户名和密码,在第二个界面上显示前一界面中输入的用户名和
密码。
94、
编写程序实现如下功能:
(1) 程序包含2个Activity
(2) Activity01包含一个按钮,点击按钮跳转到Activity02;
(3) Activity02包含一个按钮,点击按钮跳转到Activity01。
95、
使用CheckBox控件实现多项选择。
要求:添加4个选项,名称分别为:swim 、run 、 dance 、walk
96、
设计加减法计算器。
要求:程序包括两个页面,第一个页面主要包括两个文
本编辑框,用于输入两个操作数,输
入操作数后,单击系统的MENU按钮,会弹出Menu菜单,Me
nu菜单包括“相加”、“相减”
和“退出” 三个按钮,当点击“相加”按钮会对两个操作数执行加法
,当点击“相减”按
钮时,会对两个操作数执行减法,在另一个页面会显示计算结果。
97、
制作进度条。
要求:点击“开始”按钮进入进度条显示页面,然后每点击一
次开始按钮,第一进度条和第
二进度条都会发生变化,并将变化的值在页面上显示出来。
98、
设计用TableLayout布局实现的界面,内容自定。
要求:界面内容有内涵,避免使用无意义的文字。
99、
编写程序创建数据库和数据表。
要求:(1)数据库名为称:datab;
(2) 数据表的名称:satffs,表字段有id(整型),name(字符串型),phone
(字符
串型),email (字符串型);
(3)另建一文本文件,存放用ADB查看创建的数据库和数据表命令过程。