题型包括:
1、选择题 20分
2、填空题 10分
3、简答题 30分
4、程序分析 20分
5、程序设计:20分
第一章:复习elclipse应用程序目录的含义
关于 res/raw 目录说法正确的是 a
A 这里的文件是原封不动的存储到设备上不会转换为二进制的格式
B 这里的文件是原封不动的存储到设备上会转换为二进制的格式
C 这里的文件最终以二进制的格式存储到指定的包中
D 这里的文件最终不会以二进制的格式存储到指定的包中
注:android raw与assets区别 *res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。 *res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.xx
Android 工程下面有个 gen 目录,该目录下有个 R..java 文件,该文件的作用是什么,能不能修改,为什么
答:作用:该文件相当于项目的字典项目中所涉及到的用户界面、字符串、图片、声音等资源都会在该文件中创建一个 ID 编号,这些编号为整形,以 16 进制自动生成。项目要使用这些资源时,会通过这个类得到资源的引用。 不能够被修改
Android的图片文件保存在工程的哪个文件夹( D )
A、src B、gen C、bin D、res
在Android应用程序中 图片应放在那个目录下
A、raw B、values
C、layout D、drawable
关于AndroidManifest.xml文件 以下描述错误的选项有哪些
(A )
A、在所有的元素中只有
能出现一次
B、处于同一层次的元素 不能随意打乱顺序
C、元素属性一般都是可选的 但是有些属性是必须设置的
D、对可选的属性 即使不写 也有默认的数值项说明
Android 项目工程下面的 assets 目录的作用是什么 (B)
A、放置应用到的图片资源。 Res/drawable
B、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面
C、放置字符串 颜色 数组等常量数据 res/values
D、放置一些与UI 相应的布局文件 都是 xml 文件 res/layout
以下关于Android应用程序的目录结构描述中,不正确的是d
a. src目录是应用程序的主要目录,由Java类文件文件组成
b. assets目录是原始资源目录,该目录中的内容将不会被R类所引用
c. res目录是应用资源目录,该目录中的所有资源内容都会被R类所索引
d. AndroidManifest.xml文件是应用程序目录清单文件,该文件由ADT自动生成,不需要程序员手动修改
下列关于Android布局文件常用的长度/大小单位的描述中,不正确的是c
a. dp是设备独立像素,不依赖于设备,是最常用的长度单位
b. sp代表放大像素,主要用于字体大小的显示
c. px是像素单位,在不同的设备上显示效果相同,因此推荐在布局中使用该单位
d. 在设置空间长度等相对距离时,推荐使用dp单位,该单位随设备密度的变化而变化
为了使android适应不同分辨率机型,布局时字体单位应用 sp ,像素单位应用 sp 和 dip 。
要在布局文件中把命令按钮的id设置为t1,下面那句代码是正确的(A )
A、android:id="@+id/t1" B、android:id="/t1"
C、id="@+id/t1" D、id="t1"
第二章:界面
ui组件:布局管理器有哪些
android中常用的距离单位
文本框与编辑:框需要会从文本框与编辑获取数字,并进行简单的运算。有编程题。
列表视图和ListView和ListActivity
例题:2.5:SimpleListViewTest
例题:2.5:ArrayAdapterTest使用ArrayAdapter创建ListView
使用SimpleAdapter创建ListView
扩展BaseAdapter实现存储列表项的ListView
2.6进度条:
xml属性设定进度最大值和已经完成的进度值,并且能够在进度改变的响应事件中获取当前的进度值。:
Toast的使用。
试题:
如果要让标签文本(TextView)上的文字居中显示,需要设置哪个属性?( c )
A、android:orientation B、android:layout_gravity
C、android:gravity D、android:layout_weight
下面哪个不是Android的界面布局方式?( a )
A、FlowLayout B、LinearLayout
C、TableLayout D、RelativeLayout
Android 的四大应用组件是 。
Activity,service,BroadcastReceiver,ContentProvider
对于TextView,使用哪个属性来设置显示的文本?( b )
A、android:textSize B、android:text
C、android:textColor D、android:string
下列哪个可做EditText编辑框的提示信息( D )
A android:inputType B android:text
C android:digits D android:hint
处理Button的点击事件,需要注册哪个监听器?( a )
A、OnClickListener() B、OnButtonClickListener()
C、OnButtonListener() D、OnItemClickListener()
下列控件中,只有两种状态并能相互切换的是:( d )
A、ImageButton B、SeekBar
C、Toast D、ToggleButton
为了使 android 适应不同分辨率机型,布局时字体单位应用( sp ),像素
单位应用( sp )和( dip )
定义 LinearLayout 水平方向布局时至少设置的三个属性:( android:orientation),
(android:layout_width )和(android:layout _height)
请介绍下 Android 中常用几种布局
线性布局 LinearLayout 表格布局 TableLayout 相对布局 RelativeLayout 幀布局
FrameLayout 绝对布局 AbsoluteLayout
下列关于ListView使用的描述中,不正确的是b
a. 要使用ListView,必须为该ListView使用Adpater方式传递数据
b. 要使用ListView,该布局文件对应的Activity必须继承ListActivity
c. ListView中每一项的视图布局既可以使用内置的布局,也可以使用自定义的布局方式
d. ListView中每一项被选中时,将会触发ListView对象的ItemClick事件
创建Menu需要重写的方法是( C )
A、onOptionsCreateMenu(Menu menu)
B、onoptionscreateMenu(MenuItem menu)
C、onCreateOptionsMenu(Menu menu)
D、onCreateOptionsMenu(MenuItem menu)
第三章:Android事件处理:
Android的事件处理模型,以及实现事件监听器通常几种形式。如何启动和关闭Activity
Handler的消息传递机制。
试题:
新启动的Activity如何将结果返回给之前的Activity?
答:获取子Activity的返回值,一般可以分为以下三个步骤:
(1)使用startActivityForResult()去启动子Activity。
(2)设置子Activity的返回值。在子Activity调用finish()函数关闭前,调用setResult()方法将所需的数据返回给父Activity。
(3)在父Activity中获取返回值。当子Activity关闭时,启动它的父Activity的onActivityResult()方法将被调用;如果需要在父Activity中处理子Activity的返回值,则重载此方法即可。
关于handler消息分发机制,下列(c )方法可以延时发送消息。
A、sendEmpty(..)
B、sendEmptyMessage(..)
C、sendMessageDelayed(..)
D、sendMessage(..)
关于Android中消息机制说法正确的是()。
A、Handler只能用来发送消息
B、Handler是用来发送消息和处理消息的
C、MessageQueue是用来收集消息并主动发送消息
D、Looper是主消息的循环器.Looper是由handler创建的
参考答案:B
答案说明:Handler顾名思义就是处理者的意思,它主要用于发送消息和处理消息。一般使用Handelr对象的sendMessage()方法发送消息,发出的消息经过一系列的辗转处理后,最终会传递到Handler对象的handlerMessage()方法中.
_____ 主要用于存放所有通过Handler发送的消息。
参考答案:MessageQueue
当前Activity被其他Activity覆盖或者锁屏,系统会调用()生命周期方法 ,暂停当前Activity的执行。(10分)
A、onDestroy()
B、onStop()
C、onPasue()
D、以上都会调用
参考答案:C
第四章:深入理解Activity与fragment
Activity之间数据的传递。这个必须会
实例:4.1BundleTest
Activity的生命周期。
试题:
以下哪种方式不能退出当前活动状态的Activity?( c )
A、调用finish()方法 B、单击 (返回)按钮
C、单击 (回到桌面)按钮 D、Activity运行时出现异常
Activity的生命周期方法包括 、onStart、onRestart、 、onPause、onStop、onDestroy等方法。 onCreate 、 onResume
当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是(finish())
解释Activity
答:Activity是一个独立的,可以与用户交互的Android应用组件,在表现形式上它代表一个单独的屏幕。从功能上来说,它作为应用程序的界面框架,负责动态加载各种用户界面视图,实现底层的消息传递等。
对于一个在AndroidManifest.xml中对他这样进行定义
/>
这样的描述代表什么含义 (b)
A、无明确含义 每个Activity都需要这样定义
B、代表该Activity将作为程序的主activity并且在LAUNCHER菜 单中启动
C、代表该Activity将在桌面上建立图标并启动
D、代表该Activity的优先级高于其他的Activity
、Activity生命周期中 第一个需要执行的方法是什么
A、onStart B、onCreate
C、onReStart D、onResume
第五章:Intent和Intent-filter
实例:ComponentAttr
action 、Category属性与Intent-filter配置
试题:
android 中下列属于Intent的作用的是(C)
A 实现应用程序间的数据共享
B 是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失
C 可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带
D 处理一个应用程序整体性的工作
关于 Intent 对象说法错误的是(d)
选择一项:
a. 在 android 中,Intent对象是用来传递信息的
b. Intent 对象可以把值传递给广播或 Activity
c. 利用 Intent 传值时,可以传递一部分值类型
d. 利用 Intent 传值时,它的 key 值可以是对象
解释Intent
答:在Android中,Intent是一类特殊的组件,它负责对应用中一次操作的动作以及动作相关数据进行描述,包含了动作的产生组件、接收组件和传递的数据信息。Android则根据此描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。
一个Intent组件包含哪些属性?
答:一个Intent组件包含以下属性。
(1)component:指定Intent的的目标组件
(2)action:要执行的动作
(3)category:动作的所属类别,被执行动作的附加信息。
(4)data:执行动作要操作的数据
(5)type:显式指定Intent的数据类型
(6)extras:包含的所有附加信息的集合
Intent中如果既要设置类型又要设置数据,需要使用()方法。(10分)
A、setData(..)
B、setType(..)
C、setDataAndType(..)
D、setTypeAndData(..)
参考答案:C
第六章Android应用的资源。
定义字符串、颜色、尺寸资源,数组资源以及这些资源再xml和java代码中的引用。
下列哪个可做 Android 数据存储( A )
A SQlite B M ySql C Oracle D DB2
第八章:Android数据存储与io
Android数据存储的主要形式
要求会做过的实验题。
在android中使用SQLiteOpenHelper这个辅助类,生成一个可操作的数据库,调用的方法是(a)
A A.getReadableDatabase() B.getDatabase()
C.getEnbleDatabase() D. createDateBase()
Android系统中有(5)中数据存储方式,分别为(SharedPreferences)(文件存储)(SQLite存储)(ContentProvider存储)(网络存储)
在使用SQLiteOpenHelper这个类时,建表的操作在哪个方法中完成(A)
A、onCreate() B、onCreade() C、onUpdate() D、 onUpgrade()
第九章使用contentprovider实现数据共享
要求会ContentProvider是如何实现数据共享的。
试题:
下列关于ContentProvider的说法错误的是:( b )
A、ContentProvider的作用是实现数据共享和交换
B、要访问ContentProvider,只需调用ContentProvider的增删改查相关方法
C、ContentProvider提供的URI必须以“content://”开头
D、Android对于系统里的音视频、图像、通讯录提供了内置的ContentProvider
使用Context的 方法可以获取Android系统提供的服务
getSystemService
解释ContentProvider
答:ContentProvider是不同应用程序之间进行数据交换的标准API。ContentProvider以某种Uri的形式对外提供数据,允许其它应用访问和修改数据;其它应用使用ContentResolver根据Uri去访问操作指定数据。
要想操作ContentProvider所封装的数据,需要使用 类。 ContentResolver
第十章Service与Broadcastreceiver
如何使用Service,包括启动,停止和配置
广播有几种,如何注册一个广播。
试题:
注意:无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind方法。
Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是( d )
A、当第一次启动的时候只会调用onCreate()方法
B、当第一次启动的时候只会调用onStartCommand ()方法
C、如果service已经启动,将先后调用onCreate()和onStartCommand ()方法
D、如果service已经启动,只会执行onStartCommand ()方法,不再执行onCreate()方法
Service的绑定方法是(onBind())。
关于 BroadcastReceiver 的说法不正确的是b
a. 是用来接收广播 Intent 的
b. 一个广播 Intent 只能被一个订阅了此广播的 BroadcastReceiver 所接收
c. 对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
d. 接收者声明的优先级别在的 android:priority 属性中声明,数值越大 优先级别越高
下面哪个方法不是发送广播消息的方法?( b )
A、sendBroadcast() B、sendCommonBroadcast()
C、sendOrderedBroadcast() D、sendStickyBroadcast()
在Android中如何发送广播消息?
答:广播消息在本质上就是一个Intent对象。要发送一个广播消息,首先把要发送的信息和相关的属性信息(如Action、Category等)封装进一个Intent对象。
调用Context的下列方法之一发送广播消息。
sendBroadcast():发送普通广播
sendOrderedBroadcast() :发送有序广播
sendStickyBroadcast() :发送持续广播
在 Activity 中,如何获取 service 对象d
a. 可以通过直接实例化得到。
b. 可以通过绑定得到。
c. 通过 startService()
d. 通过 getService()获取
如何启用Service,如何停用Service?
android系统中运行Service有如下两种方式:
(1)启动方式
通过Context的startService()方法启动Service,访问者与Service之间没有关联,即使访问者退出了,Service仍然运行。访问调用stopService()停用Service。
(2)绑定方式
通过Context的bindService()方法绑定Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。访问者调用unbindService()来解绑定Service。
如何注册一个BroadcastReceiver?
答:要实现自己的BroadcastReceiver,就需要继承android.content.BroadcastReceiver类并重写onReceive()方法。
BroadcastReceiver作为应用级组件,必须注册才能处理广播消息。注册有两种方式:
(1)静态地在AndroidManifest.xml中用
(2)动态的在代码中先定义并设置好一个 Intent Filter 对象,然后在需要注册的地方调Context. registerReceiver (BroadcastReceiver,IntentFilter)方法。
关于 BroadcastReceiver 的说法不正确的是(b)
A. 是用来接收广播 Intent
B. 一个广播 Intent 只能被一个订阅了此广播的 BroadcastReceiver 所接收
C对有序广播,系统会根据接收者声明的优先级别按顺序逐个执行接收者
D. 接收者声明的优先级别在的 android:priority 属性中声明,数值越大 优先级别越高
下列不属于service生命周期的方法是( C)
A、onCreate B、onDestroy C、onStop D、onStart
绑定Service的方法是(A )
A、bindService B、startService C、onStart D、onBind
在Activity中,如何获取service对象( A )
A、可以通过直接实例化得到。
B、可以通过绑定得到。
C、通过startService()
D、通过getService()获取。
关于适配器的说法正确的有( B )
A、它主要是用来存储数据
B、它主要用来把数据绑定到组件上
C.它主要用来解析数据
D.它主要用来存储xml数据
简答题可以参照博客:http://blog.csdn.net/wwj_748/article/details/8868640
考试的题目都在重点里面
程序分析题
下列程序实现了一个简单的计算的效果,阅读程序并补充填空。
1. main.xml 的代码如下
android:layout_height="fill_parent" android:orientation=_”vertical”__或“horizontal”_______(1) ________________> /> android:layout_width=__fill_parent________(2)________________ android:layout_height="wrap_content" android:text="+" /> /> />
编程题:设计一个Android系统上的加法程序,让用户输入两个数,程序负责计算它们的和并显示出来。假设在xml布局文件中,两个文本框的id定义为“@+id/num1”和“@+id/num2”,按钮的id定义为“@+id/add”。请你写出该程序中的Activity类CalculateSumActivity的代码,不需要写xml布局文件。参考运行效果如下图所示:
解://CalculateSumActivity.java
package xiong.calculatesum;
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.TextView;
public class CalculateSumActivity extends Activity {
private EditText num1Text = null;
private EditText num2Text = null;
private Button addBtn = null;
private TextView resultView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
num1Text = (EditText)findViewById(R.id.num1);
num2Text = (EditText)findViewById(R.id.num2);
addBtn = (Button)findViewById(R.id.addBtn);
resultView = (TextView)findViewById(R.id.result);
addBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
double num1 = Double.parseDouble(num1Text.getText().toString());
double num2 = Double.parseDouble(num2Text.getText().toString());
double sum = num1 + num2;
resultView.setText(num1 + " + " + num2 + " = " + sum);
}
});
}
}