Android移动应用试题(带答案)

更新时间:2024-04-25 16:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

<>试题

一. 选择题(2’X12)

1. 下面哪一个不属于Android体系结构中的应用程序层

A. 电话簿 B. 日历 C. SQLite

D. SMS程序

2. 下面哪种说法不正确

A. Android应用的gen目录下的R.java被删除后还能自动生成;

B. res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9)

下横线(_),大小写字母(a-z , A-Z);

C. AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其

中指定程序的包名(package=”…”)+指定android应用的某个组件的名字(android:name=”…”)组成了该组件类的完整路径

D. assets和res目录都能存放资源文件,但是与res不同的是assets支持任意深度的子

目录,在它里面的文件不会在R.java里生成任何资源ID

3. 在一个相对布局中怎样使一个控件居中

A. android:gravity=\

B. android:layout_gravity=\ C. android:layout_centerInParent=\D. android:scaleType=\

4. 下面是一段生成对话框的代码,哪一行有错误?

Builder builder = new Builder(getApplicationContext()); 1 builder.setTitle(\提示\请选择\ 2 builder.setPositiveButton(\重置\ 3 { 4 public void onClick(DialogInterface dialog, int which) 5 { 6 Log.i(\重置被按了!\ 7 } 8 }); 9 builder.setNegativeButton(\取消\ 10 builder.setNeutralButton(\确定\ 11 { 12 public void onClick(DialogInterface dialog, int which) 13 { 14 Toast.makeText(getApplicationContext(), \确定被按了!\ 15 Toast.LENGTH_SHORT).show(); 16 } 17

}); 18 builder.create().show(); 19 第1行 第10行 第15行 第19行

5. 关于Android 事件机制与事件监听,下列说法不正确的有 i. View类里的event listener是一个带有回调方法的接口,当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,当上下文菜单被建立时,只需短按一下,它

会被调用, A. i

B. i ii iv vii C. iii v vi vii D. vii

6. setOnTouchEvent 设置返回值为true 和 false有何区别?

A. 没有区别,都能对事件进行监听

B. 设置为true时 只能在移动时获得一次监听事件,false则可以多次

C. 返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息 D. 设置为false是 ,在处理一次监听事件后,系统将抛弃该次事件

7. 下列说法哪个不正确

A. 拥有android:configChanges=\标签的Activity在横竖屏转

换时不会再执行onCreate方法

B. 默认情况下对一个Activity的对象进行横竖屏切换,该对象的onCreate方法在每次

切换时都会执行

C. 一个Activity的对象a1上弹出了一个模拟对话框形式的Activity的对象a2,按返回

键后a1执行了onStart和onResume方法,a2执行了onPause,onStop和onDestroy方法

D. 一个界面上的EditText中输入文字后,再按下Home,该界面消失,等再回到该界面

文字内容仍在,onCreate方法也不会执行

8. E/AndroidRuntime(1099): java.lang.RuntimeException: Unable to instantiate activity

ComponentInfo{com.test/com.test.CanvasActivitys}: java.lang.ClassNotFoundException:

A. B. C. D.

com.test.CanvasActivitys in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk] 这段话是程序报错在LogCat中产生的记录,从中可以分析问题的原因可能在哪里? A. 程序执行CanvasActivitys的一个代码段时一个View有引用无对象 B. CanvasActivitys类没有在AndroidManifest中正确申明 C. 最小SDK支持版本号比运行这个程序的设备版本号还高

D. CanvasActivitys是一个Activity,但没有重写它的onCreate方法

9. 下列说法错误的是

A. Intent起着一个媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者

与被调用者之间的解耦 B. Intent 可以传递 View对象

C. 对于直接Intent,Android不需要去做解析,因为目标组件已经很明确,Android需

要解析的是那些间接Intent,通过解析,将 Intent映射给可以处理此Intent的Activity、IntentReceiver或Service D. 通过Intent可以删除程序

10.

这是一个资源配置文件,下面描述正确的是?

A. 这个shape文件是画一个宽为5dp,高为3dp的色块 B. 这个shape文件是画一个宽从5dp到3dp的等腰梯形 C. 这个shape文件是画一个底为5dp高为3dp的等腰三角形 D. 这个shape文件是画一条虚线,实线段5dp,间隔3dp

11. 下列关于Service的描述,正确的是()

A.Servie主要负责一些耗时比较长的操作,这说明Service会运行在独立的子线程中 B.每次调用Context类中的StartService()方法后都会新建一个Service实例 C.每次启动一个服务时候都会先后调用onCreate()和onStart()方法

D.当调用了ConText类中的StopService()方法后,Serviece中的onDestroy()方法会自动

回调

12. 通过SurfaceView对象得到SurfaceHolder对象holder,调用holder的addCallback()方法,在匿名内部类中的onCreat()方法中的代码如下:

Paint paint=new Paint(); paint.setColor(Color.Red);

Canvas canvas = holder.lockCanvas(); canvas.drawRect(0, 0, 360, 480, paint);

holder.unlockCanvasAndPost(canvas);

holder.lockCanvas(new Rect(0, 0, 250, 250)); holder.unlockCanvasAndPost(canvas); holder.lockCanvas(new Rect(0, 0, 200, 200)); holder.unlockCanvasAndPost(canvas); holder.lockCanvas(new Rect(0, 0, 150, 150)); holder.unlockCanvasAndPost(canvas); holder.lockCanvas(new Rect(0, 0, 100, 100)); holder.unlockCanvasAndPost(canvas);

最后显示的图形是: A.

B.

C.

D.

二 判断题(对/错)(2’X10)

1. 一个Activity就是一个可视化的界面或者看成是控件的容器。√

2. Intent有很长的生命周期,是没有用户界面的程序,可以保持应用在后台运行,而不会

因为切换页面而消失×

3. onPause()方法在activity被暂停或收回cpu和其他资源时调用,该方法用于保存活动状

态的,也是对运行时数据的现场保护。√

4. onDestroy是activity被干掉前最后一个被调用方法,当调用finish方法或者系统为了节

省空间将它暂时性的干掉时候调用。√

5. 如果service已经启动,再次启动该服务时将先后调用onCreate()和onStartCommand()方

法×

6. 使用startService()方法启动服务后,调用者和服务间没有关联,即使调用者退出了,

服务任然进行√

7. 当应用程序中某广播在AndroidMainifest进行注册后,即使该应用程序关闭后,也可以

接受操作系统发出的广播信息√

8. 当Antivity的启动模式设置为SingleTop表示当该Anctivity的实例在栈顶时只会产生一个

实例。√

9. 关于res/raw目录是会转换为二进制的格式然后原封不动的存储到设备上×

10. UIthread 通常就是main thread,Android启动程序时会替它建立一个MessageQueue√

三 问答题 (10’X3)

1. Handler的运行机制

什么是Handler(5分) Handler是怎么运行的(5分)

2. Activity,intent、Service和BroadCastReceiver之间是什么关系 Activity、Intent、Service、BroadCastReceiver的概念(每个1.5分),一个应用程序怎么去利

用他们(每个1分)

3. android中常用的数据存储方式和怎样去实现这些存储方式

常用的数据存储方式:SharePreference存储、File存储(分为手机内存存储和SD卡存储)、

SQLite数据库存储和网络存储。(每个1.5分)怎样去实现这些存储(每个1分)

四 编程题(10’+12’)

所有编程题编写完毕执行一下clean操作 把工程文件复制到project文件夹下

1. 编写一个小程序,可以显示实时时间,按返回时有弹出对话框提示是否退出程序,按确

认后退出程序。

提示:自建一个工程,包名: com.test.姓名拼音.exercise1

2. 写一个每隔20秒自动更换桌面背景的小程序。

提示: 自建一个工程,包名: com.test.姓名拼音.exercise2,考虑使用service执行更换桌面,间隔控制使用AlarmManager类 androidmanifest须加入权限:

设置背景的方法参考:

private int[] resIds = new int[] {R.drawable.p01,R.drawable.p02,R.drawable.p03};

InputStream inputStream = getResources().openRawResource(resIds[0]); try {

setWallpaper(inputStream); } catch (IOException e){ e.printStackTrace(); }

本文来源:https://www.bwwdw.com/article/i77p.html

Top