一、选择题(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 MySql
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),(BroadcastReceiver)和(ContentProvider)。
三、判断题(10 分,共 10 题,每小题 1 分)
1、Intent 是 android 的四大组件之一。( x )
2、Activity 的 onStop() 和 onDestroy() 方法效果是差不多的。( x )
3、Android 工程中,放在 res/和 assets/下的资源文件都会在 R.java 文件里生成相应的编号。( v )
4、res\layout\下面定义的 xml 文件不可以大写。( v )
5、在 n 个元素进栈后,它们的出栈顺序和进栈顺序一定正好相反。( v )
6、对顺序栈进行进栈、出栈操作,不涉及元素的前、后移动问题。( v )
7、队列是一种对进队列、出队列操作的次序做了限制的线性表。( v )
8、树中元素之间是多对多的关系。( v )
9、顺序查找方法只能在顺序存储结构上进行。( v )
10、当待排序记录规模较小时,选用直接插入排序算法比较好。( v )
四、简答题(共6题,每小题5分)
1、请介绍下 Android 中常用几种布局(至少 3 种,多一个加 2 分)
线性布局 LinearLayout
表格布局 TableLayout
相对布局 RelativeLayout
幀布局FrameLayout
绝对布局 AbsoluteLayout
网格布局 GridLayout
扁平化布局 ConstraintLayout
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 已满造成的,不过 Android经过多次实践,一般出现在 Eclipse 往手机安装时这部分的错误,主要是因为多次执行了运行某程序,ADB每次都需要进行安装产生了多个实例写一个文件,造成了共享违例。解决的办法就是:1)检查手机的剩余空间。储存空间大小每次执行一个安装实例
5、 利用所学的知识,写出能生成 50-100 之间的随机数地简要代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/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>
---------------------------------------------------------------
MainActivity.java代码:
public class MainActivity 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 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="http://schemas.android.com/apk/res/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(R.id.computeButton);
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程序中用于输出什么级别的日志信息(C)
A、调试
B、信息
C、警告
D、错误
2、在Activity中需要找到一个id是bookName的的TextView组件,下面哪种语句写法是正确的(C)
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属性值设置为 那么该组件将是以下哪种显示效果(D)
A、该文本域的宽度将填充父容器宽度
B、该文本域的宽度仅占据该组件的实际宽度
C、该文本域的高度将填充父容器高度
D、该文本域的高度仅占据该组件的实际高度
4、给一个TextView设置红色字体 应该使用以下哪种写法(A)
A、setTextColor(0xffff0000);
B、setColor("0xffff0000")
C、setTextColor("0xffff0000")
D、setColor("red")
5、对于一个在AndroidManifest.xml中对他这样进行定义
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent- 这样的描述代表什么含义 (B )
A、无明确含义 每个Activity都需要这样定义
B、代表该Activity将作为程序的主并且在LAUNCHER菜 单中启动
C、代表该Activity将在桌面上建立图标并启动
D、代表该Activity的优先级高于其他的Activity
6、在Android应用程序中 图片应放在那个目录下(D)
A、raw
B、values
C、layout
D、drawable
7、关于AndroidManifest.xml文件 以下描述错误的选项有哪些(A )
A、在所有的元素中只有<manifest>和<application>是必需的 且只 能出现一次
B、处于同一层次的元素 不能随意打乱顺序
C、元素属性一般都是可选的 但是有些属性是必须设置的
D、对可选的属性 即使不写 也有默认的数值项说明
8、如果使用LinearLayout实现组件垂直排列 那么在xml中应添加什么属性进行设置(A)
A、android:orientation="vertical"
B、android:vertical="true"
C、android:orientation="horizontal"
D、android:horizontal="true"
9、在AndroidManifest.xml中描述一个Activity时 该Activity 的label属性是指定(B)
A、指定该Activity的图标
B、指定该Activity的显示标签
C、指定该Activity和类相关联的类名
D、指定该Activity的唯一标示
10、Activity生命周期中 第一个需要执行的方法是(B)
A、onStart
B、onCreate
C、onReStart
D、onResume
11、退出 activity 对一些资源以及状态的操作保存 可以在生命周期的哪个函数中进行 (D)
A、onPause()
B、onCreate()
C、onResume()
D、onStart()
12、 Android 项目工程下面的 assets 目录的作用是什么 (B)
A、放置应用到的图片资源Res/drawable
B、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面
C、放置字符串 颜色 数组等常量数据 res/values
D、放置一些与UI 相应的布局文件 都是 xml 文件 res/layout
13、 下列不属于android布局的是(C)
A、FrameLayout
B、LinearLayout
C、BorderLayout
D、TableLayout
14、 Intent 的作用的是 (A)
A、intent是连接四大组件的纽带,可以实现界面间切换 可以包含动作和动作数据
B、是一段长的生命周期 没有用户界面的程序 可以保持应用在后台运行而不会因为切 换页面而消失
C、实现应用程序间的数据共享 contentprovider
D、处理一个应用程序整体性的工作
15、 下列哪个是AbsoluteLayout中特有的属性 (B)
A,android:layout_height
B,android:layout_x
C,android:layout_above
D,android:layout_toRightOf
16、 在手机开发中常用的数据库是(A)
A sqlLite
B Oracle
C Sql Server
D Db23
17、 关于BroadcastReceiver的说法不正确的是(B)
A,是用来接收广播Intent的
B,一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收
C,对有序广播 系统会根据接收者声明的优先级别按顺序逐个执行接收者
D,接收者声明的优先级别在<intent-filter>的android:priority属性中声明 数值越大优先级别越高
18、 在多个应用中读取共享存储数据时 需要用到的query方法 是哪个对象的方法(A)
A, ContentResolver
B, ContentProvider
C, Cursor
D, SQLiteHelper
19、 能够自动完成输入内容的组件是___(D)
A,TextView
B,EditText
C,ImageView
D,AutoCompleteTextView
10、 处理菜单项单击事件的方法不包含__(D)
A,使用onOptionsItemSelected(MenuItem item)响应
B,使用onMenuItemSelected(int featureId ,MenuItem item)响应
C,使用onMenuItemClick(MenuItem item)响应
D,使用onCreateOptionsMenu(Menu menu)响应