安卓开发考试复习题含答案

安卓开发考试复习题含答案
安卓开发考试复习题含答案

1 安卓核心组件有哪些?What are the Android core components?

提供界面显示的Activtiy,

提供后台计算的Service,

提供进程间通信的Intent

提供广播接收的BroadcastRsceiver.

2 安卓 key features 有哪些?

Intergrated browser

SQLite

Media support

Wireless services

DVM

Application framework

Rich development environment

3安卓用什么数据库?Android with what database?

SQLite

4几个流行的移动平台各自的 IDE 是什么?

IOS Xcode

Android Eclipse

Windows phone Visual Studio

黑莓Native平台

5 R.java 是什么文件?干什么用的?在什么地方?What is R.java file? What

for? In what place?

R.java文件是Android项目自动生成的终态类

R.java文件除了有自动标识资源的"索引"功能之外,还有另一个主要的功能,当"res"目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。

"gen/"目录下

6安卓平台架构分为几层?各是什么?The Android platform structure is divided into several layers? Each is what?

Android 系统分为四层,从下往上分别是

Linux Kernel,

Libraries 和Android Runtime,

Application Framework,

Applications.

7创建一个 UI 并运行之,有哪几个步骤?

创建一个Activity

把UI和Activity关联起来

注册这个Activity

8 Int ent 有几个组件?各是干什么用的?哪些组件是必须存在的,哪些是可选的,在Manifest中intent filter 是如何声明的?

Componment name(接收者名字)

Action(指定需要被执行的动作)

Data(指定用于操作的数据)

Category(指定目标应用程序组件的行为)

Extras

Flags

定义在

9 Ac tivity 的生命周期有哪些状态?状态转换时调用的方法各是什么? What is the state of the Activity life cycle? State transitionmethod called when all is what?

一个Activity 有三种状态:

Running ,运行在前台(在当前Activity 栈的栈顶)。

Paused ,失去了焦点但是仍然对用户可见,比如有其他的Activity 在它之上,或者透明或者没有遮住整个屏幕。

Stopped ,被其他Activity 完全覆盖,需要注意的是包括暂停状态在内,这两种状态都仍然保存了所有状态信息,直到被系统终止。 1 2 3 4 5 6 7 void onCreate()

void onStart()

void onRestart()

void onResume()

void onPause()

void onStop()

void onDestroy()

10同一个应用之间Activity 互相调用要用什么Intent (隐式、显式?还是什么?)?

With an application of the Activity call each other to usewhat Intent (implicit, explicit? Or what?)?

显式Intent 直接用组件的名称定义目标组件,这种方式很直接。但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式Intent 更多用于在应用程序内部传递消息。比如在某应用程序内,一个Activity 启动一个Service 。 11什么是Dalvik Virtual Machine ?

(Dalvik虚拟机器)是一种暂存器型态的虚拟机器。简称DVM,DVM在撰写开发时就已经设想用最少的记忆体资源来执行,以及同时可执行多个VM为前提来开发的。

大部分安卓应用程序都是用Java编写的,然后被编译成字节码,字节码通过dilvik虚拟机在运行环境中被解释执行

12安卓日志类 Log 有几种常用方法?各用于什么输出什么信息?哪些信息只应该在开发的时候才允许输出?

Errors 应用程序抛出的异常

Warnings

Informational messages

Debug messages

Verbose messages

在开发人员调试应用程序是输出

13什么是Content Provider?

内容提供器是应用程序之间共享数据的接口,

A content provider can store and retrive data making it accessible to all application

比如:联系人提供器专为不同应用程序提供联系人数据;设置提供器专为不同应用程序提供系统配置信息,包括内置的设置应用程序等。

14什么是Broadcast Receiver?

①广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。

②应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以

响应。所有的接收器均继承自BroadcastReceiver基类。

③广播接收器没有用户界面。然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

15什么是Intent?

Intent(意图)主要是解决Android应用的各项组件之间的通讯。

Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。

16什么是Service,Service有哪些状态?

Services是一个没有任何UI能够在后台长时间运行的应用程序组件

Service是android 系统中的四大组件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的级别差不多,但不能自己运行只能后台运行,并且可以和其他组件进行交互。

Started 一个activity调用startService()来启动它

Bound 一个activity调用bindService()来绑定它

17安卓的资源有哪些类型?各放在什么位置?

Bool 用XML格式定义的布尔值文件位置:res/values/filename.xml

Color 用XML格式定义的颜色值文件位置:res/values/colors.xml

Dimens 用XML格式定义的数量值文件位置:res/values/filename.xml

ID 用XML格式定义的紫苑唯一ID 文件位置:res/values/filename.xml Integer 用XML格式定义的整数资源文件位置:res/values/filename.xml

Integer Array 用XML格式定义的整数数组文件位置:res/values/filename.xml Typed Array 用XML格式定义的TypedArray 文件位置:res/values/filename.xml

18 IPC是什么意思?和Intent有什么关系?

Inter-Process Communication

IPC是内部进程通信的简称,是共享"命名管道"的资源。Android中的IPC机制是为了让Activity和Service之间可以随时的进行交互,故在Android中该机制,只适用于Activity和Service之间的通信,类似于远程方法调用,类似于C/S模式的访问。通过定义AIDL接口文件来定义IPC接口。Servier端实现IPC接口,Client端调用IPC接口本地代理

19 Broadcast有哪几种?区别?(8.14)

Normal broadcasts

Broadcasts sent to all interested receivers at the same time and the receivers run in an udefined order often at the same time

Ordered broadcasts

Broadcasts are sent ti all the interested receivers in a peoper order,which means that a broadcasts is delivered to one receivers at

a time

20 Ordered broadcast如何决定接收者的顺序?Ordered broadcast how to decide the order?

To control the order in which all the interested receivers run ,you can use the android:priority attribute of the receiver’s intent-filter

element. However ,receivers with the same priority will be run in an arbitrary order(无序)

21安卓中的 Permissions,包括怎么向系统申请权限,怎么用权限保护自己等(14.9-14.11)

在Manifest.xml 文件中声明一个

然后在(或者其他)中加入android:permission=”permissionname”属性

这样以后其他应用程序使用这个程序需要先申请对应权限

22安卓原生支持几种IO机制?各自有什么特点?Android native support for several IO mechanisms? The respective characteristics of what? 23安卓原生的content provider有哪些?

Browser 用于访问与浏览历史,书签,搜索记录相关的数据

Contacts 用于访问和修改native contact details database

Call log 用于访问通话记录

Media store 访问设备上的多媒体文件(multimedia file)

Settings 用于访问和修改设备的参数设置,蓝牙,铃声

24如何创建一个content provider?

打开EOE工程,创建一个新的Eoe类,扩展Content Provider。重写onCreate、getType、query、insert、delete和update方法。

25安卓下访问一个文件,要写到文件最后,要用什么模式打开文件?

To access a file to be written to a file for Android, finally, to open the file with whatpattern?

MODE_APPEND 如果不存在就创建

MODE_PRIVATE 创建的文件只只让本程序访问

MODE_WORLD_READABLE

MODE_WORLD_WRITEABLE

26判断SD卡是否可用,用什么方法?Judging the SD card is available, with what method?

String state = Environment.getExternalStorageState()//获取SD卡的状态MEDIA_MOUNTED表示SD卡存在并且挂载,可以读或者写

MEDIA_REMOVED表示没有检测到SD卡

MEDIA_UNMOUNTED表示SD卡存在但是没有挂载

MEDIA_MOUNTED_READ_ONLY表示SD卡存在且挂载,但是只读

27 Shared Preferences 是什么?有什么用?

SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState 保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存

28要从远端URL播放多媒体文件用什么stream?

HTTP streaming

29创建一个安卓数据库都有哪些途径?Create an Android databases have what way?

2种

通过 Shell Commands:

打开adb shell ,使用cd 命令转到需要创建数据库的文件夹下,使用s qlite3直接创建一个数据库

通过代码创建:

使用类

SQLiteDatabase sqlDB;

SqlDB = openOrCreateDatabase(NAME,SQLiteDatabase.CREATE_IF_NECESSARY,NULL);

SqlDB.execSQL(“CREATE TABLE” + TABLE_NAME + “id INTEGER PRIMARY KEY,Name TEXT, Phone LONG”)

30安卓有几种布局管理器(Layout)?各有什么特点?

Android has several layout manager(Layout)? What are the characteristics?

5种

1.FrameLayout:children按照从左上开始的顺序排列,主要用于tabed view或者图片切换功能;最简单的布局模型,在这种布局下每个添加的子控件都被放在布局的左上角,并覆盖在前一子控件的上层。

2.线性布局(LinearLayout):children排列成一行多列或者一列多行的形式,应该是应用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同时我们可通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。

3.相对布局(RelativeLayout):children是相互之间相关位置或者和他们的parent 位置相关,参照控件可以是父控件,也可以是其他子控件,但被参照的控件必

须要在参照它的控件之前定义。相对布局模型所涉及的属性设置比较多,但并不复杂。

4.TableLayout:children按照行列的排序,类似于html的table;模型以行列的形式管理子控件,每一行为一个TableRow的对象,也可为一个View的对象。TableRow可添加子控件,每添加一个子控件为一列。

5.坐标布局(AbsoluteLayout)的子控件需要指定相对于此坐标布局的横、纵坐标值,否则将会像FrameLayout那样被排在左上角。手机应用需要适用于不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用得相当少。31按下button,被调用的回调函数是什么?(4.8)

Press button, is what is the callback function is called? onTouchEvent()

32安卓内建的theme有哪些?What are the Android built in theme? Theme.Black:

Theme.Light:

Theme.Translucent:

Theme.Dialog:

Theme.Holo:

33各种对话框共同的父类是是什么?Various dialog common parent class is what?

Dialog

34 View类是什么?起什么作用?What is View? What is the role?

View作为UI的最基本的元件,负责绘制UI元素和界面动作的监听。可以认为

是Button,文本域等界面元素或者其他View的容器。

29 Options Menu是什么?Context Menu是什么?

Android手机上有个Menu按键,当Menu按下的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单我们就叫做选项菜单(OptionsMenu)

Android 的上下文菜单 (Context Menu)

30 Android 原生支持哪几种Dialog?What kinds of native Android support Dialog?(10.17)

AlertDialog 提示性

ProgressDialog 进度条

DatePickerDialog 允许用户选择一个日期

TimePickerDialog 允许用户选择一个时间

31安卓画图相关的主要有哪3个类?各自作用?

Android drawing related what are the 3 main classes? Their role?

1) Color :颜色对象,相当于现实生活中的‘调料’

2) Paint : 画笔对象,相当于现实生活中画图用的‘笔’————主要的还是对‘画笔’进行设置

3) Canvas : 画布对象,相当于现实生活中画图用的‘纸或布’

三者相结合,就能画出基本的图形

32复合控件(compound views)是什么?

复合控件是原子的、可重复使用的widget,它包含多个子控件,以某种布局方式联系在一起。

33 ADB是什么?ADB工具一般存放在什么位置?

What is ADB? ADB tools are generally stored in what position?

adb是androidsdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有:

* 运行设备的shell(命令行)

* 管理模拟器或设备的端口映射

* 计算机和设备之间上传/下载文件

* 将本地apk软件安装至模拟器或android设备

当前用户的工作目录

34安卓开发环境包括哪些东西?Android development environment includes what?

Device emulator设备模拟器

Debugging tools调试工具

Memory and performance profiler内存及性能分析工具

Eclipse集成开发环境以及安卓开发插件

35安卓应用程序有哪些类型?What type of Android applications?

前台应用程序后台应用程序间歇式应用程序小组件

36 是什么?各自干什么用的?

使用权限用来保护用户资源的安全

利用特征Android Market会根据uses-feature过滤所有你设备不支持的应用。37周期性Alarm用什么方法创建?The periodic Alarm with what method to create?

setRepeating()

38 安卓如何获得位置提供者,具体方法类有哪些?安卓支持哪几种Location Provider?

GPS

Cell tower triangulation

Wi-Fi hosspots

LocationManager

Android how to obtain location provider, what are the specific methods? 39安卓收到一个短信,会触发什么样的broadcast?

SMS_RECEIVED

40什么是ADT-Plugin?

ADT(Android开发工具包)是一个为Eclipse集成开发环境设计的有效、快速构建Android应用程序的插件。ADT扩展了Eclipse的功能,让您快速建立新的Android项目,创建一个应用程序UI,添加基于Android框架API的程序包,使用SDK工具调试你的程序,甚至导出签名的(或未签名的)apk格式的文件来发布你的应用程序。

发送短信,拨叫某个号码(可以是直接拨叫、也可以是启动拨号面板,不考虑权限问题)

直接

拨号面板dialIntent = new Intent()

发送短信:

private EditText phone_number_editText

private EditText sms_content_editText;

private Button send_sms_button;

send_sms_button.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View arg0) {

String phone_number = phone_number_editText.getText().toString().trim();

String sms_content = sms_content_editText.getText().toString().trim();

if(phone_number.equals("")) {

Toast.makeText(MainActivity.this, “请输入手机号码”, Toast.LENGTH_LONG).show();

} else {

SmsManager smsManager = SmsManager.getDefault();

if(sms_content.length() > 70) {//当短信超过SMS消息的最大长度时,将短信分割为几块。

List contents = smsManager.divideMessage(sms_content);

for(String sms : contents) {

smsManager.sendTextMessage(phone_number, null, sms, null, null);

}

} else {

smsManager.sendTextMessage(phone_number, null, sms_content, null, null);

}

Toast.makeText(MainActivity.this, “发送成功”, Toast.LENGTH_SHORT).show();

}

}

});

如何从内部、外部(SD卡)存储器存取文件

内部:

Strint Filename = “mydata.txt”;

Strint data = “hello world”;

//写

try{

PrintWriter pw = new PrintWriter(openFileOutput(FILENAME,Context.MODE_PRIVATE));

pw.println(“hello world”);

pw.close();

}

Catch(Exception ex)

{

Log.e(“Exception”, ex.toString() );

}

//读

try{

BufferedInputStream bis =new BufferedInputStream( openFileInput(FILENAME));

byte[ ] buffer = new byte[10000];

while( bis.read(buffer) != -1)

{

String mydata = new String (buffer);

}

Bis.close();

}

Catch(Exception ex)

{

Log.e(“Exception”, ex.toString() )

}

SD卡:

使用之前需要查询是否可用

Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNT ED)==1

String MYFILE = “MyData.txt”;

try{

PrintWriter pw = new PrintWriter(new FileOutputStream ( Environment.getExternalStorageDirector() + ”//” + MYFILE ));

pw.write(“hello world”)

pw.close();

}catch(Exceprtion ex){

Log.e(“io”,”error”)

}

try{

BufferedInputStream bis = new BufferedInputStream(new

FileInputS tream(Environment.getExternalStorageDiretor()+”//”+MYFILE);

Byte[] buffer = new byte[fis.available()];

bis.read(buffer);

string str = new string(buffer);

bis.close();

}catch(Exception ex){

Log.e(“io”,”error”);

}

如何获取当前地理位置. How the current geographical location access

获取LocationManager的一个实例

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

注册一个周期性的位置更新

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDE R,

1000, 0, locationListener);

最后一个参数是LocationListener的一个引用,我们必须要实现这个类

private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { //当坐标改变时触发此函

数,如果Provider传进相同的坐标,它就不会被触发

// log it when the location changes

if (location != null) {

Log.i("SuperMap", "Location changed : Lat: "

+ location.getLatitude() + " Lng: "

+ location.getLongitude());

}

}

public void onProviderDisabled(String provider) {

// Provider被disable时触发此函数,比如GPS被关闭

}

public void onProviderEnabled(String provider) {

// Provider被enable时触发此函数,比如GPS被打开

}

public void onStatusChanged(String provider, int status, Bundle extras) {

// Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函

}

};

以上的这些步骤一般应当在Activity的onCreate()阶段完成。在成功注册了一个周期性坐标更新以后,我们就随时可以通过下面的方法来取得当前的坐标了。Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) ;

double latitude = location.getLatitude(); //经度

double longitude = location.getLongitude(); //纬度

double altitude = location.getAltitude(); //海拔

如何显示一个Status Bar Notification.

1. 获得NotificationManager对象的引用:

String ns = Context.NOTIFICATION_SERVICE;

NotificationManager mNotificationManager = (NotificationManager) getSyste mService(ns);

2. 初始化Notification对象: (内容,时间,图标)

long when = System.currentTimeMillis();

Notification notification = new Notification(icon, tickerText, when);

3. 定义通知消息和PendingIntent对象:

Context context = getApplicationContext();

CharSequence contentTitle = "My notification";

CharSequence contentText = "Hello World!";

Intent notificationIntent = new Intent(this, MyClass.class);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationInte nt, 0);

notification.setLatestEventInfo(context, contentTitle, contentText, contentInte nt);

4. 把Notification对象传递给NotificationManager:

private static final int HELLO_ID = 1;

mNotificationManager.notify(HELLO_ID, notification);

如何播放res/raw/abc.mp3.

Mediaplayer.start();

如何打开一个contact with ID 3. (p6.32)

如何找到一个ID为tabHost的View

TabHost tabHost = (tabHost)

如何点按一个Button后,让某个TextView内容发生变化。 Button btn = (Button)

Right.setOnClickListener(new righonclickListener());

Android期末考试复习试卷(仅供参考)

一、选择题(20分,每小题2分) 1、下列不是手机操作系统的是( D )。 A Android B Window Mobile C Apple IPhone IOS D Windows Vista 2、下列选项哪个不是 Activity 启动的方法(B ) A startActivity B goToActivity C startActivityForResult D startActivityFromChild 3、下列哪个不是 Activity 的生命周期方法之一(B ) A onCreate B startActivity C onStart D onResume 4、下列哪个可做 Android 数据存储(A ) A SQlite B M ySql C Oracle D DB2 5、下列哪个可做EditText编辑框的提示信息( D ) A android:inputType B android:text C android:digits D android:hint 6、Math.ceil(99.1) 的结果是(B ) A 99 B 100 C 99.1 D 99.0 7、android 中下列属于Intent的作用的是(C) A实现应用程序间的数据共享 B是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D处理一个应用程序整体性的工作 8、关于 res/raw 目录说确的是A A这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B这里的文件是原封不动的存储到设备上会转换为二进制的格式 C这里的文件最终以二进制的格式存储到指定的包中 D这里的文件最终不会以二进制的格式存储到指定的包中 9、Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( C) A 11 ,-11 B 11 ,-12 C 12 ,-11 D 12 ,-12 10、我们都知道Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是(A ) A onDestroy() B onClear() C onFinish() D onStop() 二、填空题(10 分,共10 题,每空1 分) 1、为了使 android 适应不同分辨率机型,布局时字体单位应用( sp ),像素单位应用( sp )和(dip ) 2、定义 LinearLayout 水平方向布局时至少设置的三个属性: ( android:orientation), (android:layout width)和(android:layout height)

Android期末测试题(附带答案)

一、选择题 1、下列哪项不是Android四大组件( C ) A.Seivice B. Activity C. Handler D. Content Provider 2、Android是如何组织Activity的( B ) A.以堆的方式组织Activity B. 以栈的方式组织Activity C. 以树形方式组织Activity D. 以链式方式组织Activity 3、关于线程说法不正确的是( B ) A. 在 android 中,我们可以在主线程中,创建一个新的线程 B. 在创建的新线程中,它可以操作 UI 组件 C. 新线程可以和 Handler 共同使用 D. 创建的 Handler 对象,它隶属于创建它的线程 4、下列关于内存回收的说明,哪个是正确的(B ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 5、设置xml布局文件中的字体大小一般用什么单位( c ) A.dp B. px C. sp D. pt 6、关于service生命周期的onCreate()和onStart()说法正确的是( D ) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法 7、Android项目工程下面的assets目录,以下说法正确的是( A ) A.这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B.主要放置多媒体等数据文件 C.主要放置图片文件 D.放置字符串,颜色,数组等常量数据 8、在android中使用SQLiteOpenHelper这个辅助类,生成一个可操作的数据库,调用的方法是( A )A.getReadableDatabase() B.getDatabase() C.getEnbleDatabase() D.createDateBase() 9、Activity从可见状态变为半透明遮盖状态时,生命周期中哪个方法被调用( B )

(完整版)Android应用开发期末考试题

试题 一、选择题 1 android虚拟设备的缩写是(AVD) 2 Android SDK目前支持的操作系统(DOS) 3 Android开发工具插件(ADT)没有提供的开发功能(自动更新) 4Android SDK提供一些开发工具可以把应用软件打包成Android格式文件(APK) 5 Android当中基本的所有的UI都是由(view)或者其子类实现的 6以下不是Android中调试项目的正确步骤(测试用例) 7下列不是Activity的生命周期方法之一的是(OnResume) 8以下可以做EditText编辑框的提示信息是(adroid:hint) 9以下不是Activity启动的方法是(gotoActivity) 10以下不是手机操作系统的是(windows vista) 二、填空题 1 Android平台由操作系统,中间件,用户界面和应用软件组成的。 2 Android平台提供了2D,3D的图形支持,数据库支持SQLite,并且集成了浏览器 3目前已知的可以用来搭建Android开发环境的系统有windows,Linux,Mac 等4开发中推荐使用的IDE开发组合为IDE,eclipse,ADI来开发 5 Android SDK主要以java语言为基础 6创建工程时需要填写的信息名称有工程名,包的名字,Activity的名字还有应用的名字

7 Android.jar是一个标准的压缩包,其内容包含的是编译后的class,包含了全部的API 三、简答题 1 Android SDK中API的包结构的划分?至少五个 android.util,android.os,android.content,android.view,android.graphics,android.text 2 Android软件框架结构自上而下可分为哪些层? 应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android运行环境(RunTime)、操作系统层(OS) 3 Android应用程序的4大组件是什么? Activity、Broadcast Intent Receiver、Service、Content Provider 4 Android应用工程文件结构有哪些? 源文件(包含Activity),R.java文件,Android Library,assets目录res目录,drawble目录,layout目录,values目录,AndroidManifest.xml 5 Android开发应用程序最有可能使用到的应用框架部分是哪些? 一组View(UI)组件,Content Providers,Resource Manger,Notification Manger,Activiy Manger 6 Android底层库包含哪些? 系统C库,媒体库,Surface Manager,LibWebCore,SGL 四、编程 1实现点击一个按钮,结束当前Activity并将需要返回的数据放置并关闭当前窗体请编写核心代码 Bundle bundle = new Bundle ( ); Bundle.putString(“store”,”数据来自Activity1”) ;

《Android程序设计》期末试题B

一、判断题(每小题2分,共10分) 1、Android是J2ME的一个实现。() 2、View是ViewGroup的子类。() 3、一个Intent可以包含多个category。() 4、Android系统下的文件,可以被本系统里的所有应用程序访问。() 5、无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind 方法。() 二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 1、下列关于继承的哪项叙述是正确的?() A、在Java中类允许多重继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口允许继承自另一个接口 2、以下哪种方式不能退出当前活动状态的Activity?() A、调用finish()方法 B、单击(返回)按钮 C、单击(回到桌面)按钮 D、Activity运行时出现异常 3、对于TextView,使用哪个属性来设置显示的文本?() A、android:textSize B、android:text C、android:textColor D、android:string 4、要处理Button的点击事件,需要注册哪个监听器?() A、OnClickListener() B、OnButtonClickListener() C、OnButtonListener() D、OnItemClickListener() 5、浏览网页使用的Intent的Action是什么?() A、ACTION_CALL B、ACTION_EDIT C、ACTION_SEND D、ACTION_VIEW 6、Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是()

android期末考大题(沈阳师范大学)

1.SQLite数据库 public class MySqliteDB extends SQLiteOpenHelper { public MySqliteDB(Context context, String name, CursorFactory factory,int version) { super(context, name, factory, version);} public void onCreate(SQLiteDatabase db) { db.execSQL("create table if not exists people ("+"pid integer primary key,"+ "pname text,"+"page integer)");} public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}} public class MainActivity extends Activity { Button btn;MySqliteDB mydb; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/113611871.html,yout.activity_main); mydb=new MySqliteDB(this, "MyDB", null, 1); btn=(Button)findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { SQLiteDatabase db=mydb.getReadableDatabase();}});} public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true;}} 2.添加ToggleButton public class Example_55 extends Activity{ public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(https://www.360docs.net/doc/113611871.html,yout.main); ToggleButton toggleButton = (ToggleButton) findViewById(R.id.toggleButton); toggleButton.setChecked(true); 3.Spinner下拉列表框

Android手机开发期末考试简答题

1. 简述Android 平台的特征有哪些。 答:开放性、挣脱运行商的束缚、丰富的硬件选择、无缝结合的Google应用 2.简述Android 平台开发环境搭建的步骤。 答:安装Java JDK,安装Eclipse,安装Android SDK,搭建Eclipse集成开发环境(IDE)、配置ADT(Android Development Tools)、创建AVD(Android Virtual Device) 3.简述Android系统架构从高到低的几个层次。 答:四个层次,分别是:应用程序层(Applications)、应用程序框架层(Application Framework)各种库(Libraries)和运行环境(Runtime)、Linux内核(Linux kernel) 4.应用程序的基本组件有哪些? 答:Activity、Service、Content Provider、BroadCast Receiver 5.Android根据应用程序的组件以及组件当前运行状态将所有的进程按重要性程度从高到低划分为几个? 答:可以划分为5个:前台进程、可见进程、服务进程、后台进程、空进程 6.随着Activity的创建和销毁,可能会经历哪四种状态? 答:活动状态:当前的Activity,位于Activity栈顶,用户可见,并且可以获得焦点暂停状态:失去焦点的Activity,依然可见,即使在内存低的情况下,也不会被系统杀死 停止状态:该Activity被其他Activity所覆盖,不可见,但是仍然保存所有的状态和信息。当内存低的情况下,它将要被系统杀死 销毁状态:该Activity结束,或Activity所在的Dalvik进程结束 7.使用资源包括哪几种方法? 答:在代码里使用资源类;在代码里调用资源类并实例化;从其他资源类里引用 8.AndroidManifest.xml主要包含哪些功能? 答:说明application的java数据包,数据包名是application的唯一标识 描述application的component 说明application的component运行在那个process下 声明application的权限,用以访问受保护的API,以及与其他application进行交互 声明application的其他必备权限,用以与component进行交互 列举application运行时所需要的配置信息,这些声明信息只有在程序开发和测试时存在,在发布前被删除 声明application所需要的Android API的最低级版本 列举application所需要链接的库 9.应用程序的界面布局主要有哪些? 答:线性布局(LinearLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)10.Android应用程序的菜单有哪几种? 答:Android应用程序的菜单有3种:选择菜单(Option Menu)上下文菜单(Context Menu)子菜单(Sub Menu)11.在界面上创建一个Spinner(含数据选项)的步骤。 答:1、在布局文件中添加标记,并为其指定android:entries属性2、编写用于指定列表项的数组资源文件,并将其保存在res/values目录中,在该文件中添加一个字符串组 12.现行布局中属性orientation的作用是什么? 答:用于设置布局管理器内组件的排列方式,其可选的值为horizontal和vertical,默认值为vertical 13.Android中实现事件处理的步骤? 答:(1)将事件监听器注册到事件源(2)触发事件源上的事件(3)生成时间对象 (4)触发事件监听器,事件被作为参数传入事件处理器(5)调用事件处理器做出响应 14.简述Android平台提供了那些数据存储方法。 答:Preferences、 File、SQLite、ContentProvider,网络

安卓期末考试题

1. Android应用程序的4大组件是什么?Activity、Broadcast Intent Receiver、Content Provider、Service 2.请介绍下Android的数据存储方式。.SharedPreferences方式文件存储方式SQLite数据库方式内容提供器(Content provider)方式网络存储方式 4 activity一般会重载7个方法用来维护其生命周期,除了 onCreate(),onStart(),onDestory() 外还有 onrestart,onresume,onpause,onstop。 .5.android的数据存储的方式sharedpreference,文 件,SQlite,contentprovider,网络 6.java.io包中的objectinputstream和objectoutputstream类主要用于对对象(Object)的读写。 7.当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是startActivityResult()。 8.请介绍下Android中常用的五种布局。 相对布局(RelativeLayout):相对布局中可以设置某一个视图相对于其他视图的位置,包括上、下、左、右。 线性布局(LinearLayout):线性布局可分为水平线性布局和垂直线性布局。水平线性布局所有在这个布局中的视图都沿着水平方向线性排列。垂直线性布局则沿着垂直方向线性排列。 框架布局(FrameLayout):所有添加到框架布局中的视图都是以层叠的方式显示,这种显示方式类似堆栈。 表格布局(TableLayout):表格布局可以将视图按行、按列进行排列。 绝对布局(AbsoluteLayout):可以任意设置视图定位位置。 9.简要解释一下activity、 intent 、 答:一个activity呈现了一个用户可以操作的可视化用户界面 Intent(意图)主要是解决Android应用的各项组件之间的通讯。 Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 示例代码Intent intent = new Intent(); //在Intent对象当中添加一个键值对,实现两个Activity之间数据的传送。 intent.putExtra("testIntent", "123"); //设置Intent对象要启动的Activity intent.setClass(Activity02.this, OtherActivity.class); 10.Adapter有什么作用?常见的Adapter有哪些? 答:Adapter是连接后端数据和前端显示的适配器接口。常见的Adapter有ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, List Adapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, S pinnerAdapter, WrapperListAdapter等。 11. Android应用工程文件结构有哪些? 源文件(包含Activity),R.java文件,Android Library,assets目录,res 目录,drawble目录,layout目录,values目录,AndroidManifest.xml

Android程序设计期末试题B

A n d r o i d程序设计期末 试题B This manuscript was revised by the office on December 22, 2012

一、判断题(每小题2分,共10分) 1、Android是J2ME的一个实现。() 2、View是ViewGroup的子类。() 3、一个Intent可以包含多个category。() 4、Android系统下的文件,可以被本系统里的所有应用程序访问。() 5、无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind方法。() 二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 1、下列关于继承的哪项叙述是正确的 () A、在Java中类允许多重继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口允许继承自另一个接口 2、以下哪种方式不能退出当前活动状态的Activity?() A、调用finish()方法 B、单击(返回)按钮 C、单击(回到桌面)按钮 D、Activity运行时出现异常 3、对于TextView,使用哪个属性来设置显示的文本?() A、android:textSize B、android:text C、android:textColor D、android:string 4、要处理Button的点击事件,需要注册哪个监听器?() A、OnClickListener() B、OnButtonClickListener() C、OnButtonListener() D、OnItemClickListener() 5、浏览网页使用的Intent的Action是什么?() A、ACTION_CALL B、ACTION_EDIT C、ACTION_SEND D、ACTION_VIEW 6、Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是()

《Android程序设计》期末试题A(答案)

一、判断题(每小题2分,共10分) 1、(对) 2、(对) 3、(错) 4、(错) 5、(错) 二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 三、填空题(每空2分,共10分) 1、 BroadcastReceiver 、 ContentProvider 2、onCreate、onResume 3、 getSystemService 四、名词解释(每小题5分,共15分) 1、答:Activity是一个独立的,可以与用户交互的Android应用组件,在表现形式上它代表一个单独的屏幕。从功能上来说,它作为应用程序的界面框架,负责动态加载各种用户界面视图,实现底层的消息传递等。 2、答:在Android中,Intent是一类特殊的组件,它负责对应用中一次操作的动作以及动作相关数据进行描述,包含了动作的产生组件、接收组件和传递的数据信息。Android则根据此描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。 3、答:ContentProvider是不同应用程序之间进行数据交换的标准API。ContentProvider以某种Uri的形式对外提供数据,允许其它应用访问和修改数据;其它应用使用ContentResolver根据Uri去访问操作指定数据。 五、简答题(每小题5分,共20分) 1、答:Android平台的体系架构可以分为以下几层: (1)Linux Kernel:负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。 (2)Libraries和Android Runtime:Libraries:即C/C++函数库部分,大多数都是开放源代码的函数库,例如WebKit,该函数库负责Android网页浏览

Android开发技术期末考试复习习题

欢迎共阅 试题 一、选择题 1android虚拟设备的缩写是(AVD) 2AndroidSDK目前支持的操作系统(Linux) 3Android开发工具插件(ADT)没有提供的开发功能(自动更新) 4AndroidSDK提供一些开发工具可以把应用软件打包成Android格式文件(APK) 5Android当中基本的所有的UI都是由(view)或者其子类实现的 7下列不是Activity的生命周期方法之一的是()onCreateonStartonRestartonResumeonPauseonStoponDestroy 8以下可以做EditText编辑框的提示信息是(adroid:hint) 以下不是手机操作系统的是(windowsvista) 下列哪个属性是专用于相对布局的(D) 线性vertical垂直horizontal B.android:stretchColumns C.android:layout_alignParentRight D.android:layout_toRightOf 定义LinearLayout垂直方向布局时设置的属性(D) A.android:layout_height B.android:gravity C.android:layout D.android:orientationvertical垂直 为了使android适应不同分辨率的机型,布局时字体单位应用(D) A.dp B.dip像素 C.px D.sp 下面属于android的动画分类的有(AB) A.Tween B.Frame C.Draw D.AnimationPropertyAnimation属性动画 android关于service生命周期的onCreate()和onStart()说法正确的是(AD) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,不在执行onCreate()方法 在android中使用Menu时可能需要重写的方法有(AC) A、onCreateOptionsMenu()三种菜单:选项菜单、上下文菜单、子菜单 B、onCreateMenu() C、onOptionsItemSelected() D、onItemSelected() Intent传递数据时,下列的数据类型哪些可以被传递(ABCD) A、Serializable B、charsequence C、Parcelable D、Bundle java.io包中的(A)和(B)类主要用于对对象Object的读写。 A.objectInputStream B.objectOutPutStream C.Reader D.writer 继承ContentProvider需要实现(ABCD)等方法。 A.insert B.delete C.update D.query 自定义Adapter需要重写哪些方法?(ABCD) A.getCount B.getItem C.getItemId D.getView

Android期末考试复习试卷(仅供参考)

Android期末考试复习试卷(仅供参考) 一、选择题(20分,每小题2分) 1、下列不是手机操作系统的是(D)。 A Android B Window Mobile C Apple IPhone IOS D Windows Vista 2、下列选项哪个不是Activity启动的方法(B) A startActivity B goToActivity C startActivityForResult D startActivityFromChild 3、下列哪个不是Activity的生命周期方法之一(B) A onCreate B startActivity C onStart D onResume 4、下列哪个可做Android数据存储(A) A SQlite B M ySql C Oracle D DB2

5、下列哪个可做EditText编辑框的提示信息(D) A android:inputType B android:text C android:digits D android:hint 6、Math.ceil(99.1)的结果是(B) A99 B100 C99.1 D99.0 7、android中下列属于Intent的作用的是(C) A实现应用程序间的数据共享 B是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D处理一个应用程序整体性的工作 8、关于res/raw目录说法正确的是A A这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B这里的文件是原封不动的存储到设备上会转换为二进制的格式

android考试试题

天津理工大学android应用程序开发期末考试程序填空题(必考) Activity 显示启动 Intent intent = new Intent(IntentDemo.this, ActivityToStart.class); startActivity(intent); 隐式启动 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.360docs.net/doc/113611871.html,")); startActi vity(intent); 获取返回值显示 int SUBACTIVITY1 = 1; Intent intent = new Intent(this, SubActivity1.class); startActivityForResult(intent, SUBACTIVIT Y1); 隐式 int SUBACTIVITY2 = 2; Uri uri = Uri.parse("content://contacts/people"); Intent intent = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(intent, SUBACTIVITY2); 在父Activity中处理子Activity的返回值 public void onActivityResult(int requestCode, int resultCode, Intent data){ Super.onActivityResul t(requestCode, resultCode, data); switch(requestCode){ case SUBACTIVITY1: if (resultCode == Activity.RESULT_OK){ Uri uriData = data.getData(); }else if (resultCode == Activity.RE SULT_CANCEL){ } break; case SUBACTIVITY2: if (resultCode == Activity.RESULT_OK){ Uri uriData = data.getData (); } break;} } BroadcaseReceivr广播消息 发送消息 String UNIQUE_STRING = "edu.hrbeu.BroadcastReceiverDemo"; Intent intent = new Intent(UNI QUE_STRING); intent.putExtra("key1", "value1"); intent.putExtra("key2", "value2"); sendBroad cast(intent); 阅读会员限时特惠7大会员特权立即尝鲜 接收消息 public void onReceive(Context context, Intent intent) { String msg = intent.getStringExtra("mess age"); Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } Service 显示启动 Intent serviceIntent = new Intent(this, RandomService.class); startService(serviceIntent); 隐式启动 Intent serviceIntent = new Intent(); serviceIntent.setAction("edu.hrbeu.RandomService"); 停止服务

相关文档
最新文档