Android期末考试复习试卷(仅供参考).doc
一、选择题(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) 3、layout 布局文件的命名不能出现字母( 大写 ) 4、 设置 TextView 字体的属性是:( android:typeface )。 5、Android 四大组件是( Activity),(Service),(BroadcaseReceiver)和(ContentProvider)。 三、判断题(10 分,共 10 题,每小题 1 分) 1、Intent 是 android 的四大组件之一。( x ) 2、Activity 的 onStop() 和 onDestroy() 方法效果是差不多的。( x ) 3、Android 工程中,放在 res/和 assets/下的资源文件都会在 R.java 文件里生成相应的编号。( v ) 4、reslayout下面定义的 xml 文件不可以大写。( v ) 5、在 n 个元素进栈后,它们的出栈顺序和进栈顺序一定正好相反。( v ) 6、对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。( v ) 7、队列是一种对进队列、出队列操作的次序做了限制的线性表。( v ) 8、树中元素之间是多对多的关系。( v ) 9、顺序查找方法只能在顺序存储结构上进行。( v ) 10、当待排序记录规模较小时,选用直接插入排序算法比较好。( v ) 四、简答题(30分,共6题,每小题5分) 1、请介绍下 Android 中常用几种布局(至少 3 种,多一个加 2 分) 线性布局 LinearLayout 表格布局 TableLayout 相对布局 RelativeLayout 幀布局 FrameLayout 绝对布局 AbsoluteLayout 2.Android 工程下面有个 gen 目录,该目录下有个 R.java 文件,该文件的作用是什么,能不能修改,为什么 答:作用:该文件相当于项目的字典项目中所涉及到的用户界面、字符串、图片、声音等资源都会在该文件中创建一个 ID 编号,这些编号为整形,以 16 进制自动生成。项目要使用这些资源时,会通过这个类得到资源的引用。 不能够被修改 3、把文件名为“图片 1.jpg”的一张图片放到 android 工程下的 res- drawable-mdpi 下,会不会报错,为什么? 答:不会。因为使用 Android 系统的手机可能采用不同的分辨率,所以在开发的时候会要求有不同分辨率的图片, drawable-hdpi 存高分辨率的 ,drawable-mdpi 存中等分辨率的,drawable-ldpi 存低分辨率的,所以,你要把相同的图片用图片处理软件处理成不同的分辨率的图片,然后分别保存,当然了,如果你嫌麻烦,也可以在三个目录下保存相同的图片,这样也没有问题,但是不符合开发的初衷。 4 、运行 Android 应用程序的时候在 Console 上出现了红色的错误, Installation error:INSTALL_FAILED_INSUFFICIENT_STORAGE。这是什么错误,遇到这种错误该怎么解决? 这个错误是因为 ROM 已满造成的,不过 Android123 经过多次实践,一般出现在 Eclipse 往手机安装时这部分的错误,主要是因为多次执行了运行某程序,adb 每次都需要进行安装产生了多个实例写一个文件,造成了共享违例。解决的办法就是: 1. 检查手机的剩余空间。储存空间大小 2. 每次执行一个安装实例 5、 利用所学的知识,写出能生成 50-100 之间的随机数地简要代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="+id/sjbtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="随机数" /> <EditText android:id="+id/et" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </TableRow> </LinearLayout> 主文件代码: public class LiActivity extends Activity Button sjbtn; static EditText et; int a; public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); sjbtn=(Button)this.findViewById(R.id.sjbtn); et=(EditText)this.findViewById(R.id.et); sjbtn.setOnClickListener(new OnClickListener() Override public void onClick(View v) if(v=sjbtn) a=(int)Math.max(Math.round(Math.random()*100), 50); et.setText(" "+a); ); Bitmap.Config 下的几个图片质量参数: Bitmap.Config ALPHA_8 Bitmap.Config ARGB_4444 Bitmap.Config ARGB_8888 Bitmap.Config RGB_565 简要解释下每个参数的含义 。 A R G B 透明度 红色 绿色 蓝色 Bitmap.Config ARGB_4444 16 每个像素 占四位 Bitmap.Config ARGB_8888 32 每个像素 占八位 Bitmap.Config RGB_565 16 R 占 5 位 G 占 6 位 B 占 5 位 没有透明度(A) 五、编程题(30分,共3题,每小题10分) 下列程序实现了一个简单的计算的效果,阅读程序并补充填空。 1. main.xml 的代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation=_”vertical”_或“horizontal”_(1) _> <EditText android:id="+id/EditText01" android:layout_width="100dip" android:layout_height="wrap_content" /> <TextView android:layout_width=_fill_parent_(2)_ android:layout_height="wrap_content" android:text="+" /> <EditText android:id="+id/EditText02" android:layout_width="100dip" android:layout_height="wrap_content" /> <Button android:id="+id/computeButton" android:layout_width="100dip" android:layout_height="wrap_content" android:text="计算" /> </LinearLayout> 2. 下面是 ComputeActivity.java 文件的代码 import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast;public class ComputeActivity extends Activity implements OnClickListener Button jsbtn; EditText et1,et2; int a,b,c; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); jsbtn=(Button)this.findViewById(RputeButton); et1=(EditText)this.findViewById(R.id.EditText01); et2=(EditText)this.findViewById(R.id.EditText02); jsbtn.setOnClickListener(this); Override public void onClick(View v) if(v=jsbtn) a=Integer.parseInt(et1.getText().toString(); b=Integer.parseInt(et2.getText().toString(); c=a+b; Toast.makeText(ComputeActivity.this, "计算结果为:"+c, Toast.LENGTH_LONG).show(); 1、在android程序中用于输出什么级别的日志信息 A、调试 B、信息 C、警告 D、错误 2、在Activity中需要找到一个id是bookName的的TextView组件,下面哪种语句写法是正确的 A、TextView tv = this.findViewById(R.id.bookName); B、TextView tv = (TextView)this.findViewById(R.id.code); C、TextView tv = (TextView)this.findViewById(R.id.bookName); D、TextViewtv=(TextView)this.findViewById(R.string.bookName) 3、如果将一个TextView的android:layout_height属性值设置为 那么该组件将是以下哪种显示效果 A、该文本域的宽度将填充父容器宽度 B、该文本域的宽度仅占据该组件的实际宽度 C、该文本域的高度将填充父容器高度 D、该文本域的高度仅占据该组件的实际高度 4、给一个TextView设置红色字体 应该使用以下哪种写法 A、setTextColor(0xffff0000); B、setColor("0xffff0000") C、setTextColor("0xffff0000") D、setColor("red") 10应) 用应) ( 用应) 应) _含不件单项理 _组内成动能 , , , 方对是法 要时储共中应多高高越值明属 > - <别明收者接个顺级优声收会 序收所 的广阅被 播的 广来_的正说 _库的中机手 _ _ ) 性有 哪列作的整用一 享数程应 失 切不运在用以序界有期命段、 动动含可面现,的组连 ) 的的 )(是 于不 文 都件应 些 / 据常色 置面里 到动被文这件些要 。片的置)(什作目 程项 ) ( ( )行中函期命以保的及资对 、 、 么法行个一期生 示一 定名类联类 定签示的 标的 么指属 该 个中 """ : " " = " 设行性加应 排垂 用使明说的有也即属选的设必些有的可性序乱随 的次于次一现只 需 < 只素有)些哪的述以文 录个在片序 的他高优 表动动立面桌 动中 在并程将 该代义样需 明) 么述的- >"" . > . . = > 义定样对 个于个 对 .> ""述 义该将并中 面立 他的 在 的些素 只于的序可必设即说用 排应加 = " 中 标的示类联 个么 及的函) 程目()片 要这被面 常/些件文 ) 的 连现含 命界用不失 应 用作哪 性) _ 手中_ 正广 广的 收收声顺明< 明高应时 法 , , 能内_ 项单 ) ) )用 应 ) )"0 0( )00 0( ;00 写哪使应色红 度际的组占的度器充将的度际件据占域本度器父度域 种以将为设属 : 的 将) .( ) ; = ; ) ( ;) ( . 法句哪,组 的 是个找中 误误告息息试 信的么输用程 ;) . _ .,+:结 ;+ ;)( . ) =( ( ; ( . )0 . . ; .( ; . . ; . ( ) ;, ; . ; . ; ; . ; . ; . ; 码的文 是> >/ 算= " _ _ "00 _ /+ " _ " : " : 0 +" > + _ " _ _ _ _ _ : > " _ = : 0 +" >_)(_” _ _ : " " = : / /. / " >>-"= "" 下码 . 。空充程阅算单一实)0 ,0程)(明 占 位占 占 像 _ 占像 色蓝色红透 。义数参 _ :质图的 . / / / " / / - / " ; " . 0 0)( ( ( = ) ( ) . ( . . = ; ; ( ; ; :主> > >/ " " " +=: >/"机= " " " / =: < = _ = _ " = _ : : " / . / = >> "= "= 码码数的 0 写识的用例装个行 大存间剩机:是办解享共,一实了生行都 程运行为是,分时机手 在般践次 过的造 是误 决误这到么什 _ ,错红上 时序 行。初开符但题也片图存下在也烦果,保后,的同理软片片同要以的率低 ,率存 - ,率辨 片率同有候发以率辨同可手统 用为会?什错不, - 工 到图的 为名改被不 用的得个过时这用项动进 以为号这编 创文会资声图符字用到涉目的当文:么为改能么作文, 个录录 面工 布绝 局布 局相 表 ) 多 少局几中 介) 每 分 简 (好序入用时较录待当) (行构序在法找) (关多间素) (性制做次操、进一列) 题后的元,栈出进顺 反相定进顺栈,进元 ) (大可 的下 ) 号号成里 .都件资 中工 ) (的是效) 和( ) (之件 ) ,0共 0断。 (和 ( () 件四 。 (属体 置) 写(出不件布 ) () ) (个的设布方 ) 像) (位字局型辨不 使) 空,0, 题) ( ) (的毁么慢变器的不程如梁通 与是 都我 - , )(于 - )多 中包指式制进不件中包定式的以件式格进换上到的原是式式进转上到的封原 正说目/ 于作的体用带的件连数和作可,的现失失页因不运台持以程界有,周享据间程)(的 于属 0 0 ) 的 . : )息示辑 可列 ) (据 个 ) (法周生 列 ) 法的 不项 ) (统机手) 小0题择5、对于一个在AndroidManifest.xml中对他这样进行定义 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-这样的描述代表什么含义 () A、无明确含义 每个Activity都需要这样定义 B、代表该Activity将作为程序的主并且在LAUNCHER菜 单中启动 C、代表该Activity将在桌面上建立图标并启动 D、代表该Activity的优先级高于其他的Activity 6、在Android应用程序中 图片应放在那个目录下 A、raw B、values C、layout D、drawable 7、关于AndroidManifest.xml文件 以下描述错误的选项有哪些 (A ) A、在所有的元素中只有<manifest>和<application>是必需的 且只 能出现一次 B、处于同一层次的元素 不能随意打乱顺序 C、元素属性一般都是可选的 但是有些属性是必须设置的 D、对可选的属性 即使不写 也有默认的数值项说明 8、如果使用LinearLayout实现组件垂直排列 那么在xml中应添加什么属性进行设置 A、android:orientation="vertical" B、android:vertical="true" C、android:orientation="horizontal" D、android:horizontal="true" 9、在AndroidManifest.xml中描述一个Activity时 该Activity 的label属性是指定什么的 A、指定该Activity的图标 B、指定该Activity的显示标签 C、指定该Activity和类相关联的类名 D、指定该Activity的唯一标示 10、Activity生命周期中 第一个需要执行的方法是什么 A、onStart B、onCreate C、onReStart D、onResume 1、 退出 activity 对一些资源以及状态的操作保存 可以在生命周期的哪个函数中进行 (D) A、onPause() B、onCreate() C、onResume() D、onStart() 2、 Android 项目工程下面的 assets 目录的作用是什么 (B) A、放置应用到的图片资源。 Res/drawable B、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面 C、放置字符串 颜色 数组等常量数据 res/values D、放置一些与UI 相应的布局文件 都是 xml 文件 res/layout 3、 下列不属于android布局的是(C) A、FrameLayout B、LinearLayout C、BorderLayout D、TableLayoutE、RelativeLayout 4、 Intent 的作用的是 (A) A、intent是连接四大组件的纽带,可以实现界面间切换 可以包含动作和动作数据 B、是一段长的生命周期 没有用户界面的程序 可以保持应用在后台运行而不会因为切 换页面而消失 service C、实现应用程序间的数据共享 contentprovider D、处理一个应用程序整体性的工作 5、 下列哪个是AbsoluteLayout中特有的属性 (B) A,android:layout_height B,android:layout_x C,android:layout_above D,android:layout_toRightOf 6、 在手机开发中常用的数据库是_ A,sqlLite B,Oracle C,Sql Server D,Db23 7、 关于BroadcastReceiver的说法不正确的是_ A,是用来接收广播Intent的 B,一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收 C,对有序广播 系统会根据接收者声明的优先级别按顺序逐个执行接收者 D,接收者声明的优先级别在<intent-filter>的android:priority属性中声明 数值越大优先级别越高 8、 在多个应用中读取共享存储数据时 需要用到的query方法 是哪个对象的方法 A, ContentResolver B, ContentProvider C, CursorD, SQLiteHelper 9、 能够自动完成输入内容的组件是_ A,TextView B,EditText C,ImageView D,AutoCompleteTextView 10、 处理菜单项单击事件的方法不包含_ A,使用onOptionsItemSelected(MenuItem item)响应 B,使用onMenuItemSelected(int featureId ,MenuItem item)响应 C,使用onMenuItemClick(MenuItem item)响应 D,使用onCreateOptionsMenu(Menu menu)响应