文档库 最新最全的文档下载
当前位置:文档库 › Android综合试题

Android综合试题

Android综合试题

一、单选题:

1、Android(安卓)是Google开发的基于(B)平台的、开源的、智能手机操作系统。

A、Windows

B、Linux

C、IPhoneOS

D、Symbian

2、以下哪种操作系统不属于智能手机操作系统? A

A、Windowsx XP

B、Symbian

C、Android

D、IphoneOS

3、2011年2月发布的Android蜂巢系统,是专为以下哪种设备设计的:C

A、电视机

B、手机

C、平板电脑

D、上网本

4、以下不属于Android系统结构层次的是:D

A、Linux操作系统层

B、应用程序框架层

C、应用程序层

D、软件抽象层

5、Android的中间件层由函数库和Android运行时组成,以下不属于函数库的有:A

A、Dalvik虚拟机

B、SQLite

C、Media Framework

D、WebKit

6、Android应用程序,可以使用哪种语言进行开发?D

A、sql

B、vb

C、vc

D、java

7、使用Java语言编写的Android程序,是运行在(A)上的?

A、Dalvik虚拟机

B、Linux

C、Java虚拟机

D、JRE

8、以下哪个命令正确显示了用户创建的所有Android虚拟机。C

A、android list targets

B、android list target

C、android list avds

D、android create avd -n android_1.6 -t 3

9、Android应用程序框架层的主要功能为:B

A、提供一系列的核心应用程序

B、提供Android平台基本的管理功能和组件重用机制

C、提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等

D、提供一组基于C/C++的函数库

10、以下哪个命令用于创建Android虚拟机所使用的SDCard C

A、create

B、emulator

C、mksdcard

D、Mkcard

11、在Android的程序结构中,下列哪种文件不允许进行修改. A

A、R.java

B、main.xml

C、AndroidManifest.xml

D、strings.xml

12、R.java中负责存放Android项目图片编号的类名为:B

A、attr

B、drawable

C、layout

D、string

13、以下哪个方法是Activity启动后第一个被调用的,常用来进行Activity的初始化 D

A、onStart()

B、onRestart()

C、onResume()

D、onCreate()

14、当Android系统因资源不足终止Activity前,将调用以下哪个方法,用以保存Activity 的状态信息A

A、onSaveInstanceState()

B、onRestart()

C、onResume()

D、onCreate()

15、在Android界面上的所有可见元素都是以下哪个类的子类? A

A、View

B、ViewGroup

C、Group

D、Activity

16、下列哪段代码将EditText的宽度设置为父容器宽度,高度为输入文本高度。C A、

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="EditText01" >

B、

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:text="EditText01" >

C、

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="EditText01" >

D、

android:layout_width="fill_parent"

android:layout_height="wrap_parent"

android:text="EditText01" >

17、以下那段代码正确设置了Activity以全屏方式显示:B

A、

this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

setContentView(https://www.wendangku.net/doc/c018944245.html,yout.main);

this.getWindow()

.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, https://www.wendangku.net/doc/c018944245.html,yout.title);

B、

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(https://www.wendangku.net/doc/c018944245.html,yout.main);

this.getWindow().setFlags(https://www.wendangku.net/doc/c018944245.html,youtParams.FLAG_FULLSCREEN,

https://www.wendangku.net/doc/c018944245.html,youtParams.FLAG_FULLSCREEN);

C、

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(https://www.wendangku.net/doc/c018944245.html,yout.main);

this.getWindow()

.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, https://www.wendangku.net/doc/c018944245.html,yout.title);

D、

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(https://www.wendangku.net/doc/c018944245.html,yout.main);

this.getWindow()

.setFeatureInt(Window.FEATURE_CUSTOM_TITLE,

https://www.wendangku.net/doc/c018944245.html,youtParams.FLAG_FULLSCREEN);

18、MotionEvent参数中用于获取触点绝对坐标信息的方法为; C

A、getRawX()和getY()

B、getX()和getY()

C、getRawX()和getRawY()

D、getX()和getRawY()

19、Android的表格布局中,负责以第0列为序,尽量把指定的列填充空白部分的配置属性为。D

A、android:layout_height

B、android:collapseColumns

C、android:shrinkColumns

D、android:stretchColumns

20、相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置,以下正确声明了一个id为entry 的EditText控件(输入框),并声明该控件的位置在id为labelTextView控件的下方的代码为:(A)

A、

android:layout_width="fill_parent"

android:layout_height="fill_parent"

xmlns:android="https://www.wendangku.net/doc/c018944245.html,/apk/res/android">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:text="用户名:">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:layout_below="@id/label">

B、

android:layout_height="fill_parent"

xmlns:android="https://www.wendangku.net/doc/c018944245.html,/apk/res/android">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:text="用户名:">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:layout_below="@id/label">

C、

android:layout_height="fill_parent"

xmlns:android="https://www.wendangku.net/doc/c018944245.html,/apk/res/android">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:text="用户名:">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:layout_toLeftOf="@id/label">

D、

android:layout_height="fill_parent"

xmlns:android="https://www.wendangku.net/doc/c018944245.html,/apk/res/android">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:text="用户名:">

android:layout_height="wrap_content"

android:layout_width="fill_parent"

android:layout_alignTop="@id/label">

21、TabHost组件的使用,必须继承以下哪个类?B

A、MapActivity

B、TabActivity

C、TabHost

D、ListActivity

22、以下代码中,正确定义了一个ArrayAdapter适配器,并在ArrayAdapter中添加了在Spinner中可以进行选择内容的是:A

A、

Spinner spinner = (Spinner) findViewById(R.id.Spinner01);

List list = new ArrayList();

list .add("Spinner子项1");

list .add("Spinner子项2");

list .add("Spinner子项3");

ArrayAdapter adapter = new ArrayAdapter(this,

https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_item, list );

adapter.setDropDownViewResource(https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);

B、

Spinner spinner = this.findViewById(R.id.Spinner01);

List list = new List();

list .add("Spinner子项1");

list .add("Spinner子项2");

list .add("Spinner子项3");

ArrayAdapter adapter = new ArrayAdapter(this,

https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_item, list );

adapter.setDropDownViewResource(https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);

C、

Spinner spinner = (Spinner) findViewById(R.id.Spinner01);

List list = new ArrayList();

list .add("Spinner子项1");

list .add("Spinner子项2");

list .add("Spinner子项3");

ArrayAdapter adapter = new ArrayAdapter(this,

list ,https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_item);

adapter.setDropDownViewResource(https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);

D、

Spinner spinner = (Spinner) findViewById(R.id.Spinner01);

List list = new ArrayList();

list .add("Spinner子项1");

list .add("Spinner子项2");

list .add("Spinner子项3");

ListAdapter adapter = new ListAdapter(this,

https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_item, list );

adapter.setDropDownViewResource(https://www.wendangku.net/doc/c018944245.html,yout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);

23、初次使用选项菜单时,会调用以下哪个方法,用来初始化菜单子项的相关内容。A

A、onCreateOptionMenu()

B、onPrepareOptionsMenu()

C、onOptionsItemSelected ()

D、onCreate()

24、如果将SharedPreferences的访问模式设置为私有,则其Linux系统的文件权限为: B

A、“-rw-rw-rw”

B、“-rw-rw ---”

C、“-rw--rw-”

D、“--rw ---”

25、在编写Android的数据库应用时,一般将所有对数据库的操作都封装在一个类中,只要调用这个类,就可以完成对数据库的添加、更新、删除和查询等操作,这个类必须继承自 B

A、SQLiteOpenHelper

B、SQLiteDatabase

C、SQLiteHelper

D、SQLiteData

26、SAX读取XML文件的顺序是 A

A、

1.获取SAX解析工厂(SAXPareserFactory)实例;

2.借助工厂实例创建一个SAX解析器(SAXPareser);

3.定制一个SAX的事件处理器(DefaultHandler);

4.通过SAX解析器的解析方法(parser)对指定的XML文档进行解析;

B、

1.获取SAX解析工厂(SAXPareserFactory)实例;

2.定制一个SAX的事件处理器(DefaultHandler);

3.借助工厂实例创建一个SAX解析器(SAXPareser);

4.通过SAX解析器的解析方法(parser)对指定的XML文档进行解析;

C、

1.通过SAX解析器的解析方法(parser)对指定的XML文档进行解析;

2.定制一个SAX的事件处理器(DefaultHandler);

3.借助工厂实例创建一个SAX解析器(SAXPareser);

4.获取SAX解析工厂(SAXPareserFactory)实例;

D、

1.获取SAX解析工厂(SAXPareserFactory)实例;

2.定制一个SAX的事件处理器(DefaultHandler);

3.借助工厂实例创建一个SAX解析器(SAXPareser);

4.通过SAX解析器的解析方法(parser)对指定的XML文档进行解析;

27、Android位置服务接口LocationManager提供了()方法用来获取设备的当前位置信息 A

A、requestLocationUpdates()

B、getLastKnowLocation()

C、onLocationChanged()

D、onProviderEnabled()

28、在Android的线程处理机制中,()对象用于循环读取消息队列的值,并回调Handler 对象中定义的消息处理函数 A

A、Loop

B、Handle

C、MessageQueue

D、Thread

29、下面说法正确的是(B)

A、Android发短信只能自己编程

B、能调用系统的Intent发送短信

C、发短信的代码和JavaME一样

D、发送彩信和短信的过程一致

30、调用系统的Intent发送短信的数据格式是(D)

A、data://132********

B、content://132********

C、uri://132********

D、tel://132********

31、关于短信发送接收说法正确的是(B)

A、短信无法监听

B、短信可以监听发送结果

C、短信接收用SMSActivity接收

D、短信接收是SMSGetActivity

32、监听短信动作是(B)

A、SMS_ACTION

B、SENT_SMS_ACTION

C、DIAL_SMS_ACTION

D、SEND_SMS_ACTION

33、下面说法正确的是(D)

A、拨打电话代码遵循统一的国际规范

B、拨打电话代码和JavaME是一致

C、拨打电话的Activity是TelephonyActivity

D、电话相关的管理类是TelephonyManager

34、关于电话管理类是(D)

A、CallManager

B、CallTelephonyManager

C、CallCenter

D、TelephonyManager

35、电话状态监听类是(D)

A、PhoneListener

B、GetStateListener

C、StateListener

D、PhoneStateListener

36、拨打电话使用哪一个组件 C

A、Activity

B、Service

C、Intent

D、ContentProvider

37、图形编程继承哪个类A

A、Activity

B、Service

C、Intent

D、View

38、哪些属于图形编程View的方法 D

A、onGet

B、onEvent

C、onExecute

D、onDraw

39、哪个类是从View继承下来的 A

A、TextView

B、Activity

C、Intent

D、Service

40、Activity中哪个方法设置到界面中 C

A、setView

B、setActivity

C、setContentView

D、setContent

41、关于Android Service 概念,以下说法中错误的是(B)

A、Service 不能与用户交互

B、Service 能自己启动

C、应用程序退出后Service 可以继续运行

D、Service 是后台进程

42、关于Remote Service 概念,以下说法中错误的是(A)

A、用于应用程序内部

B、用于应用程序之间

C、可以被其他程序复用

D、需要使用onBind() 和onUnbind 方法

43、BroadcastReceiver 的子类需要重写的回调方法是(C)

A、onCreate()

B、onStart()

C、onReceive()

D、onDestroy()

44、关于BroadcastReceiver 概念,以下说法中错误的是(A)

A、同步接收广播的Intent

B、异步接收广播的Intent

C、一个广播可以有多个接受者

D、可使用sendBroadCast() 发送播放

45、设置广播接收器有(B)种方式

A、1

B、2

C、3

D、4

46、在Android 项目中,mp3 文件通常放在(C)目录中

A、res/values

B、res/layout

C、res/raw

D、res/drawable

47、关于MediaPlayer 类,以下说法中错误的是(D)

A、创建独立的后台线程

B、当Main Activity 暂停时,MediaPlayer 自动条用onPause()

C、调用MediaPlayer 的start() 方法将开始播放多媒体文件

D、调用MediaPlayer 的stop() 方法将开始暂停多媒体文件

48、在MediaRecorder.AudioSource 中(C)代表语音拨号

A、MIC

B、VOICE_UPLINK

C、VOICE_CALL

D、VOICE_DOWNLINK

49、Android 目前使用的多媒体服务架构是(B)

A、OpenGL

B、OpenCORE

C、Cocoa

D、WebKit

二、多选题

1、以下选项中,属于Android系统特点的有:ABDEF

A、提供应用程序框架,开发者可以调用这些框架搭建应用程序

B、优化的图形能力支持2D、3D图形(OpenGL ES 1.0 )。

C、集成了基于Mozilla引掣的浏览器。

D、支持拨打GSM电话

E、支持蓝牙Bluetooth,3G和WiFi

F、丰富的开发环境。

2、关于Android系统的Linux内核,以下说法正确的有:ABC

A、硬件和其他软件堆层之间的一个抽象隔离层

B、提供安全机制、内存管理、进程管理、网络协议堆栈、和驱动程序等

C、并不包括全部的Linux系统

D、包括全部的Linux系统

3、Android运行时,由以下哪两部分组成?AC

A、核心库

B、FreeType

C、Dalvik虚拟机

D、OpenGL ES

4、以下关于Android程序结构的说法,正确的是ABC

A、drawable目录用来保存图像文件

B、layout目录用来保存与用户界面相关的布局文件

C、valuse目录保存文件颜色、风格、主题和字符串等

D、gen目录用来保存Java程序文件

5、Android中的四大组件为:ABCD

A、Activity

B、BroadcastReceiver

C、Service

D、ContentProvider

E、Server

F、Action

6、以下关于Android用户界面框架的说法正确的是:ABCDEF

A、视图树由View和ViewGroup构成

B、View是界面的最基本的可视单元,存储了屏幕上特定矩形区域内所显示内容的数据结构,并能够实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等功能

C、View也是一个重要的基类,所有在界面上的可见元素都是View的子类

D、ViewGroup是一种能够承载含多个View的显示单元

E、ViewGroup功能是承载界面布局

F、ViewGroup功能承载具有原子特性的重构模块

7、为了处理EditText控件的按键事件,先需要设置按键事件的监听器,并重写onKey()方法:EditText entryText = (EditText)findViewById(R.id.entry);

entryText.setOnKeyListener(new OnKeyListener(){

@Override

public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {

//过程代码……

return true/false;

}

以下关于其返回值说法正确的是:AB

A、返回true,阻止按键事件传递

B、返回false,允许继续传递按键事件

C、返回true,允许按键事件传递

D、返回false,阻止继续传递按键事件

8、典型的Android Widget有三个主要组件,包括: ABC

A、边框

B、框架

C、图形控件以及其他元素

D、事件处理框架

9、Android GUI程序的屏幕体系结构的组织原则遵循以下哪几点?ABC

A、一个屏幕可以包含一个视图

B、视图组本身也是一个视图

C、视图组可以包含若干个视图

D、视图组只可以包含一个视图

10、关于Android程序的界面布局,以下说法正确的是:AB

A、使用XML文件描述界面布局

B、在程序运行时动态添加或修改界面布局

C、使用R.java文件描述界面布局

D、只能使用XML文件描述界面布局

11、关于XML文件声明界面布局的特点,以下说法正确的是:ABC

A、将程序的表现层和控制层分离

B、在后期修改用户界面时,无需更改程序的源代码

C、用户还能够通过可视化工具直接看到所设计的用户界面,有利于加快界面设计的过程,并且为界面设计与开发带来极大的便利性

D、在后期修改用户界面时,必须更改程序的源代码

12、线性布局(LinearLayout)中,以下说法正确的是:AB

A、如果垂直排列,则每行仅包含一个界面元素

B、如果水平排列,则每列仅包含一个界面元素

C、如果垂直排列,则每行可以包含多个界面元素

D、如果水平排列,则每列可以包含多个界面元素

13、表格布局(TableLayout)也是一种常用的界面布局,它将屏幕划分网格,通过指定行和列可以将界面元素添加的网格中。以下关于表格布局的说法正确的是:AB

A、网格的边界对用户是不可见的

B、表格布局还支持嵌套,可以将另一个表格布局放置在前一个表格布局的网格中,也可以在表格布局中添加其他界面布局,例如线性布局、相对布局等等

C、网格的边界对用户是可见的

D、表格布局不支持嵌套

14、Tab标签页(TabHost)的使用步骤包括:ABC

A、首先要设计所有的分页的界面布局

B、在分页设计完成后,使用代码建立Tab标签页,并给每个分页添加标识和标题

C、最后确定每个分页所显示的界面布局

D、在分页设计完成后,使用配置文件建立Tab标签页,并给每个分页添加标识和标题

15、以下关于ListView的说法正确的是:ABC

A、ListView是一种用于垂直显示的列表控件,如果显示内容过多,则会出现垂直滚动条

B、ListView能够通过适配器将数据和自身绑定,在有限的屏幕上提供大量内容供用户选择,所以是经常使用的用户高级控件

C、ListView支持点击事件处理,用户可以用少量的代码实现复杂的选择功能

D、ListView是一种用于垂直显示的列表控件,只能显示固定数目的数据

16、Android系统支持三种菜单,分别是:ABC

A、选项菜单(Option Menu)

B、子菜单(Submenu)

C、快捷菜单(Context Menu)

D、下拉菜单(PullMenu)

17、以下关于Android系统子菜单的说法正确的有:ABC

A、Android系统的子菜单使用非常灵活,可以在选项菜单或快捷菜单中使用子菜单,有利于将相同或相似的菜单子项组织在一起,便于显示和分类。

B、子菜单不支持嵌套

C、子菜单的添加是使用addSubMenu()函数实现

D、子菜单支持嵌套

18、以下哪些对话框是Android系统所支持的?ABCD

A、提示对话框(AlertDialog)

B、进度对话框(ProgressDialog)

C、日期选择对话框(DatePickerDialog)

D、时间选择对话框(TimePickerDialog)

19、Android系统的SharedPreferences支持以下哪些访问模式:ABC

A、私有(MODE_PRIVA TE)

B、全局读(MODE_WORLD_READABLE)

C、全局写(MODE_WORLD_WRITEABLE)

D、本地写(MODE_LOCAL_WRITEABLE)

E、本地读(MODE_LOCAL_READABLE)

20、访问其他Android应用程序的SharedPreferences必须满足三个条件,分别是:ACD

A、共享者需要将SharedPreferences的访问模式设置为全局读或全局写

B、共享者需要将SharedPreferences的访问模式设置为本地读或本地写

C、访问者需要知道共享者的包名称和SharedPreferences的名称,以通过Context获得SharedPreferences对象

D、访问者需要确切知道每个数据的名称和数据类型,用以正确读取数据

21、发送短信需要的权限有(AB)

A、

B、

C、

D、

22、电话功能相关类是(CD)

A、Intent

B、Service

C、TelephonyManager

D、PhoneStateListener

23、属于图形编程的类是CD

A、Activity

B、Intent

C、View

D、Canvas

24、使用startService 启动Service 将包括()步骤ABE

A、onCreate()

B、onStart()

C、onBind()

D、onUnbind()

E、onDestroy()

25、使用bindService 启动Service 将包括()步骤ACDE

A、onCreate()

B、onStart()

C、onBind()

D、onUnbind()

E、onDestroy()

26、Android Service 分为(AB)两类

A、Local Service

B、Remote Service

C、Location Service

D、Web Service

27、以下哪些情况中使用了广播(ABCD)

A、提示电池电量过低

B、接收到新消息

C、执行下载任务

D、有未接电话

28、使用registerReceiver() 方法时接受的两个参数分别是()类型AC

A、BroadcastReceiver

B、Intent

C、IntentFilter

D、Activity

29、Android 目前支持(ABC)视频格式

A、MP4(MPEG-4)

B、H.263(3GP)

C、H.264(AVC)

D、A VI

三、简单题

1、简述Android系统的优缺点:

答:Android系统的优点如下:

1)、源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发出更具个性的应用。

2)、采用了对有限内存、电池和CPU 优化过的虚拟机Dalvik,Android 的运行速度比想象

的要快很多。

3)、运营商(中国移动等)的大力支持,产业链条的热捧。

中国移动的OMS基于Android平台。

4)、良好的盈利模式(3/7 开),产业链条的各方:

运营商、制造商、独立软件生产商都可以获得不错的利益。

将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。

5)、具有强大的Linux 社区的支持

Android系统的缺点如下:

1)、由于采用了Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于Android 是一款完全开源的移动计算平台,相信第三方应用会很快的丰富起来。

2)、Google 提供了一套Java 核心包(J2SE 5,J2SE 6)的有限子集,尚不承诺遵守Java 任何Java 规范,可能会造成Java 阵营的进一步分裂。现有应用完善度不太够,需要的开发工作量较大。

3)、基于QEMU 开发的模拟器调试手段不十分丰富,只支持通话、SMS等,速度慢。

2、简述Android应用的进程机制

答:每一个Android应用都运行在一个Dalvik虚拟机实例里,而每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制,内存分配和管理都是依赖底层操作系统而实现的。所有Android应用的线程都对应一个Linux线程,虚拟机因而可以更多的依赖操作系统的线程调度和管理机制。

不同的应用在不同的进程空间里运行,加之对不同来源的应用都使用不同的Linux用户来运行,可以最大程度的保护应用的安全和独立运行。

3、简述Dalvik虚拟机和Java虚拟机的异同点:

答:相同点:

都使用Java语法

不同点:

字节码格式定义不同(dex格式vs class格式)

运行库不同

Android中多虚拟机并发运行优化:共用dex指令

启动机制不同:预加载、预初始化

编译过程不同

Dalvik不能运行.class和.jar

Dalvik不具备JavaME的API

4、简述AndroidManifest.xml的作用

答:AndroidManifest.xml是每一个应用都需要的文件,位于应用根目录下,它描述了程序包的全局变量, 包括暴露的应用组件(activities, services等等)和每个组件的实现类,什么样的数据可以操作,以及在什么地方运行

5、属性gravity与layout_gravity的区别是:

答:gravity的属性是供控件(View)使用的,而layout_gravity属性是供容器(ViewGroup)

使用的。例如,可以将gravity设置为center,以将文本框EditText中的文本居中显示。而通过设置layout_gravity为right,可以使EditText在容器LinearLayout中右对齐。

6、在使用Tab标签页(TabHost)时,可以将不同分页的界面布局保存在不同的XML文件中,也可以将所有分页的布局保存在同一个XML文件中,简述这两种方式各自的优点:答:第一种方法有利于在Eclipse开发环境中进行可视化设计,并且不同分页的界面布局在不同的文件中更加易于管理

第二种方法则可以产生较少的XML文件,同时编码时的代码也会更加简洁

7、简述Gallery组件和GridView组件的区别

答:Gallery组件一般用于显示图像列表.Gallery和GridView的区别是Gallery只能水平显示一行,而且支持水平滑动效果.也就是说,单击、选中或拖动Gallery中的图像。

8、简述Android选项菜单的特点:

答:1)、每个菜单项可以拥有一个图标和一个快捷键(适合带全键盘的设备)。

2)、菜单的显示区域是固定大小的,称为菜单框,而且里面最多只能显示6个菜单项,如果有更多的菜单项,那么会出现一个“更多”的图标,单击后可以选择“更多”菜单项,在“更多”菜单项中,不能出现图标。

9、简述Android系统对话框的特点:

答:Android中的对话框是一个半透明的浮动窗口,它会部分地遮挡当前的Activity。

在Android系统中,对话框不能移动,其位置总是居中的,在结束一个对话框前,用户不能操作对话框下面的任何窗口,除非按HOME键返回桌面。这种设计尽管有些呆板,但却也可以说是简约,对于掌上设备而言,似乎够用了。

10、简述Activity的两种启动方式:

答:1)、显式启动,必须在Intent中指明启动的Activity所在的类

2)、隐式启动,Android系统根据Intent的动作和数据来决定启动哪一个Activity,也就是说在隐式启动时,Intent中只包含需要执行的动作和所包含的数据,而无需指明具体启动哪一个Activity,选择权由Android系统和最终用户来决定

11、简述Android的Handle用途:

答:1)、实现一个定时任务。这个有点类似于Windows中的定时器功能,可以通过Handler 对象向所在线程发送一个延时消息。

当消息指定的时间到达后,通过Handler对象的消息处理方法完成指定任务。

2)、在线程间传递数据。

12、Android中的线程管理是由Android自身完成还是由Java虚拟机完成,又或者是由Linux 完成?

答:Android内核不包括线程调度,这些全部由Linux的线程调度完成。Android内核的核心在于定义了一套图形用户接口和一个应用程序启动、安装的框架。

13、Handler和Looper是线程(Thread)的变种吗,或者说能完成相类似的功能吗?

答:不能。Handler、Looper和线程是完全不同的概念,Handler用于处理线程中的消息队列,

Looper是为线程增加了循环读取其消息队列的代码,而Thread完全是一个单独线程。如果没有线程,Handler和Looper都是完全没有意义的,然而,就算有线程,也可以不使用Handler 和Looper。

14、Android中的四大组件与线程是什么关系?对应独立的一个线程吗?

答:所有的Android组件都是在同一个线程中运行。

15、线程和进程的区别是什么?

答:一个进程中至少要包含一个线程,线程是操作系统进行时间片分配的最小执行单元。同一进程中的不同线程所在程序地址必须是不同的,而不同进程所占用的程序地址是相同的,实际的物理地址是依靠内存管理单元(MMU)把程序地址装换为实际物理地址。

相关文档