admin管理员组

文章数量:1530344

2024年7月17日发(作者:)

Android-课后习题

第1章Android 基础入门

一、填空题

1、Android 是Google 公司基于Linux 、操作系统

2、Android 系统采用分层结构,应用程序层、应用程序框架层、

核心类库、Linux 内核。

3、ADB 的常见指令中,用于开启ADB 服务的是adb start-

server。

4、在Android 程序中,src 目录用于放置程序的java 代码文件

5、Android 程序开发完成后,如果要发布到互联网上供别人使用,

打包成.apk 文件

二、判断题

1、Android 实际上就是一个手机。×

2、WCDMA 是中国自己独自定制的3G 标准,中国移动使用的就

是这种标准。×

3、android 第一个版本Android 1.1是2008年9月发布的。√

4、gen 目录是自动生成的,主要有一个 文件,该文件可

手动修改。×

5、 文件是整个程序的配置文件。√

三、选择题

1、随着智能手机的发展,移动通信技术也在不断升级,目前应用

最广泛的是(C )

A 、1G

B 、2G

C 、3G

D 、4G

2、ADT Bundle中包含了三个重要组成部分,分别是(ABC )

A 、Eclipse

B 、SDK

C 、SDK Manager,exe

D 、ADB

3、应用程序层是一个核心应用程序的集合,主要包括(B )

A 、活动管理器

B 、短信程序

C 、音频驱动

D 、Dalivik 虚拟机

4、ADB 的常见指令中“列出所有设备”的指令是(C )

A 、adb uninstall

B 、adb install

C 、adb device

D 、adb emulator -avd

5、创建程序时,填写的Application Name表示(A )

A 、应用名称

B 、项目名称

C 、项目的包名

D 、类的名字

四、简答题

1、简要说明Android 体系结构中每个层的功能。

Android 体系结构总共包含四层,分别是:

●应用程序层:设备上安装的软件应用都属于这一层

●应用程序框架层:包含应用API

●核心类库:包含系统库和运行环境,系统库包含了底层C 代码;

运行环境包含了Java

的核心库和Dalvik 虚拟机

● Linux 内核:提供Android 的底层驱动。

2、简要说明ADB Bundle开发工具中SDK 的作用。

SDK 包含了Android 的API 源代码、各种工具、示例工程、用到

的各种资源模板等。

第2章Android UI开发

一、填空题

1、Android 中的布局分为6种,分别是。

2、Android 相对布局中,表示“是否跟父布局左对齐”的属性是

3

4、创建Android 程序时,默认使用的布局是

5、LogCat 区域中有V 、D 、I 、W 和E 等5个字母,其中V D

调试信息、I 代表显示一般信息、W 代表显示警告信息、E 代表显示错

误信息。

二、判断题

1、相对布局中android:layout_alignRight属性表示“在指定控

件左边”。√

2、Toast 的作用是显示一些提示信息。√

3、Table Row必须要设置layout_width和layout_height属性。

×

4、帧布局中可以添加多个控件,这些控件会重叠的在屏幕左上角

显示。√

5、Android 程序中是不支持国际化的。×

三、选择题

1、一下属性中,(D )属性可以“在指定控件左边”。

A 、android:layout_alignLeft

B 、android:layout_alignParentLeft

C 、androif:layout_left

D 、android:layout_toLeftOf

2、表格布局中android:layout_column属性的作用是指定

(D )。

A 、行数

B 、列数

C 、总行数

D 、总列数

3、实际开发中刮刮乐游戏的布局是按照(C )写的。

A 、相对布局

B 线性布局

C 、帧布局

D 、绝对布局

4、网格布局是Android (D )新增的布局。

A 、3.0

B 、3.1

C 、3.2

D 、4.0

5、相对布局中,“是否跟父布局底部对齐”是属性(C )

A 、android:layout_alignBottom

B 、android:layout_alignParentBottom

C 、android:layout_alignBaseline

D 、android:layout_below

四、简答题

1、请简述一下如何在程序中使用Toast 。使用Toast 可以直接调

用Tosast 的静态方法:

xt(this, text, duration).show(); 也可以创建出

Toast 对象,如:

Toast toast = new Toast(this);

t("提示信息");

();

2、请说明布局有几种类型,以及每种类型的作用。

一共有六种布局,它们的作用分别是:

● RelativeLayout :相对于其他控件或者容器决定控件的位置;

● LinearLayout :使控件以竖直或者水平方向排列;

● TableLayout :使控件以表格形式排列;

● GirdLayout :能使控件交错显示,能够避免因布局嵌套对设备

性能的影响,更利于自由布局的开发;

● FrameLayout :使控件按照创建顺序在屏幕的左上角重叠显示;

● AbsoluteLayout :通过绝对的坐标控制控件摆放的位置。

第3章Activity

一、填空题

1、Activity 运行状态、暂停状态、停止状态

2、Activity 的4种启动模式是standard 、singleTop 、

singleTask 、singleInstance

3、Android 中Intent 。隐式Intent 、显示Intent

4、Activity 生命周期中“回到前台,再次可见时执行”时调用的

方法是onRestart()

5、Android 提供了一个setResult()

二、判断题

1、Activity 是Android 应用程序的四大组件之一。√

2、Intent 一般只用于启动Activity 不能开启广播和服务。×

3、Intent 可以用来卡其Activity ,同样它也可以用来在Activity

之间传递数据。√

4、Activity 默认的启动模式是singleTop 模式。×

5、在数据传递时,如果需要获取返回的数据,需要使用

onActivityResult()方法。√

三、选择题

1、一个应用程序默认会包含(A )个Activity 。

A 、1

B 、2

C 、3

D 、4

2、下列方法中,Activity 从启动到关闭不会执行的是(D )。

A 、onCreate()

B 、onStart()

C 、onResume()

D 、onRestart()

3、下列组件中,不能使用Intent 启动的是(D )。

A 、Activity

B 、启动服务

C 、广播

D 、内容提供者

4、startActivityForResult()方法接收两个参数,第一个是Intent ,

第二个是(C )。

A 、resultCode

B 、requestCode

C 、请求码

D 、data

5、下列关于Activity 的描述,错误的是(C )

A 、Activity 是Android 的四大组件之一

B 、Activity 有4种启动模式

C 、Activity 通常用于开启一个广播事件

D 、Activity 就像一个界面管理员,用户在界面上的操作是通过

Activity 来管理的

四、简答题

1、简要说明Activity 的4种启动模式的区别。

四种启动模式分别是:

● Standard :每当启动一个新的Activity ,它就会进入任务栈,

并处于栈顶的位置,对于使用standard 模式的Activity ,系统不会判

断该Activity 在栈中是否存在,每次启动都会创建一个新的实例。

● SingleTop :与standard 类似,不同的是,当启动的Activity

已经位于栈顶时,则直接使用它不创建新的实例。如果启动的Activity

没有位于栈顶时,则创建一个新的实例位于栈顶。

● SingleTask :创建的Activity 只存在一个实例。已经存在则直

接使用该实例,并将当前Activity 之上的所有Activity 出栈,如果没

有发现则创建一个新的实例。● singleInstance :启动一个新的任务

栈管理Activity

2、简要说明Activity 的三种状态以及不同状态使用的方法。

Activity 三种状态分别是:

●运行状态:该状态下可以对界面进行操作

●暂停状态:界面可见但不具有焦点无法点击

●停止状态:界面不可见,一般在停止状态时保存数据以防止程序

被系统强制杀死。

第4章数据存储

一、填空题

1、序列化是将对象状态转换为可保持或传输的过程。

2、Android

3、通常情况下,解析XML 文件有三种方式,分别为

DOM,SAX,PULL。

4、SharedPreferences 是一个轻量级的存储类,主要用于存储一

些应用程序的配置参数。

5、Android 中的数据存储方式有5

二、判断题

1、SharedPreferences 本质上是一个XML 文件,以Map形式

存入文件中。√

2、文件存储是通过I/O流的形式吧数据原封不动的存储到文档中。

3、XML 文件只能用来保存本地数据,不能在网络中传输。×

4、ContentProvider 表示内容提供者,用于显示程序中的数据。

×

5、档用户将文件保存至SD 卡时,需要在清单文件中添加权限"

_EXTERNAL_STORAGE"。√

三、选择题

1、下列文件操作全险种,指定文件内容可以追加的是(C )

A 、MODE_PRIVATE

B 、MODE_WORLD_READBLE

C 、MODE_APPEN

D D 、MODE_WORLD_WRITEABLE

2、下列代码中,用于获取SD 卡路径的是(D )

A 、();

B 、ernalStorageState();

C 、

D Directory(); D 、

ernalStorageDirectory();

3、下列选项中,关于文件存储数据的说法错误的是(D )

A 、文件存储是以流的形式来操作数据的

B 、文件存储可以将数据存储到SD 卡中

C 、文件存储可以将数据存储到内存中

D 、Android 中只能使用文件存储数据

4、下列选项中美观与XML 序列化和解析描述合理的是(BD )

A 、DOM 解析会将XML 文件的所有内容以文档树方式存放在内

存中

B 、在序列化学像是,需要使用XmlSerialize 序列化器,即

XmlSerializer 类

C 、XmlSerializer 类的startDocument()方法用于写入序列号的

开始节点

D 、XmlSerializer 类的setOutput()方法用于设置文件的编码方

5、如果要将程序中的私有数据分享给其他应用程序,可以使用的

是(C )

A 、文件存储

B 、SharedPreferences

C 、ContentProvider

D 、SQLite

四、简答题

1、请简述Android 系统中的5种数据存储方式各自的特点。

五种存储方式各自的特点分别是:

●文件存储:可以存储较大文件,以IO 流形式传输数据。

● Sqlite :占用内存小,所有文件都存放在单一文件中。

●网络:通过网络将数据传输到服务器存储,避免了客户端的安全

隐患。

● Sharedpreference :使用方便,可以存储配置信息,以键值对

的形式存于内存中● ContentProvider :提供自身暴漏的数据给第三

方应用使用,统一了数据访问格式,以数据库形式保存数据。

2、请简述SharedPreferences 如何存储数据。

使用Sharedpreference 储存数据时因为它本身没有写文件的功

能,因此需要使用Editor 对象将数据存入内存,比如:

SharedPreferences sp = getSharedPreferences("config", 0);

Editor editor = ();

ing("a", "a");

/doc/,mit();

第5章SQLite 数据库

一、填空题

1、ListView 的适配器有三种,分别是BaseAdapter 、

SimpleAdapter 、ArrayAdapter。

2、创建数据库及数据库版本更新需要继承SQLiteOpenHelper

3、SQLite 创建时调用onCreate()、onUpgrade()

4、要查询SQLite 数据库中的信息需要使用接口Cursor 、close(),

使用完毕后条用关闭。

5、创建ListView 的布局界面必须通过Id

二、判断题

1、SQLite 数据库使用完后不需要关闭,不影响程序性能。×

2、使用ListView 显示较为复杂的数据时最好用ArrayAdapter 配

适器。×

3、SQLite 既支持Android 的API 又支持SQL 语句进行增、删、

改、查操作。√

4、使用BaseAdapter 控制ListView 显示多少条数据是通过

getView()方法设置。×

5、SQLite 只支持NULL 、INTEGER 、REAL 、TEXT 和BLOB 等

5种数据类型。×

三、选择题

1、使用SQLite 数据库进行查询后,必须要做的操作是(AC )

A 、关闭数据库

B 、直接退出

C 、关闭Cursor

D 、使用quit 函数退出

2、关于适配器的说法正确的是(B )

A 、它主要用来存储数据

B 、它主要用来把数据绑定在组件上

C 、它主要用来存储XML 数据

D 、它主要用来解析数据

3、使用SQLiteOpenHelper 类可以生成一个数据库并可以对数

据库版本进行管理的方法(B )。

A 、getDatabase()

B 、getWriteableDatabase()

C 、getWriteableDatabase()

D 、getAbleDatabase()

4、下列命令众,属于SQLite 下命令的是(C )

A 、shell

B 、push

C 、quit

D 、keytool

5、下列关于ListView 使用的描述中,不正确的是(B )

A 、要使用ListView ,必须为该ListView 使用Adpater 方式传

递数据

B 、要使用ListView ,该布局文件对应的Activity 必须继承

ListActivity

C 、ListView 中每一项的视图布局既可以使用内置的布局,也可

以使用自定义的布局方式

D 、ListView 中每一项被选中时,将会触发ListView 对象的

ItemClick 事件

四、简答题

1、简要说明SQLite 数据库创建的过程

首先创建一个类继承SQLiteOpenHelper ,重写onCreate()方法

并在该方法中创建表,使用创建出的SQLiteOpenHelper 的子类对象

的getWritableDatabase()方法获得一个可读写的数据库对象。

2、请简要说明BaseAdapter 适配器4个抽象方法以及它们的具

体作用

● getCount :得到Item 的总数

● getItem :根据position 得到某个Item 的对象

● getItemId :根据position 得到某个Item 的id

● getView :得到相应position 对应的Item 视图,position 当

前Item 的位置,convertView 复用的View 对象。

第6章内容提供者

一、填空题

1、ContentProvider 匹配Uir 需要使用的类是UriMatcher

2、使用内容观察者时,调用方法onChange()可以得到数据变化

的信息。

3、ContentProvider 提供了对数据增、删、改、查的方法,分别

为insert 、delete 、update 、query。

4、ContentProvider Android 不同应用程序之间共享数据的接口。

保存、检索

5、在应用程序中,使用ContentProvider 暴露自己的数据,通

过对暴露的数据进行操作。

二、判断题

1、ContentProvider 所提供的Uir 可以随便定义。×

2、ContentResolver 可以通过ContentProvider 提供的Uir 进行

数据操作。√

3、ContentObserver 观察指定Uir 数据发生变化时,调用

ContentProvider 的是OnChange 方法。√

4、使用ContentRsolver 操作数据是,必须在清单文件进行注册。

×

5、ContentProvider 与Activitry 一样,创建时首先会调用

onCreatr()方法。√

三、选择题

1、下列选项中,属于Android 中四大组件的是(ABC )。

A 、Activity

B 、ContentReceiver

C 、Service

D 、ContentObserver

2、下列关于ContentResolver 的描述,错误的是(C )。

A 、可以操作数据库数据

B 、操作其他应用数据必须知道包名

C 、只能操作ContentProvider 暴露的数据

D 、可以操作ContentProvider 的任意数据

3、下列关于内容提供者的描述,正确的是(ACD )。

A 、提供的Uir 必须符合规范

B 、可以提供本应用所有数据供别人访问

C 、必须在清单文件注册

D 、authorities 属性必须和包名一致

4、继承ContentProvider 类必须重写它的(ABD )方法。

A 、delete()

B 、insert()

C 、onStart()

D 、onUpdate()

5、下列关于内容观察者的说法,正确的是(C )。

A 、可以观察任何数据

B 、观察其它应用数据需要权限

C 、只能观察到指定Uir 的数据

D 、观察其他应用数据必须在清单文件注册

四、简答题

1、请简要说明ContentProvider 对外共享数据的好处。

通过ContentProvider 共享数据统一了数据访问方式,使用起来

更规范,通过数据库存储并指定了URI ,只有通过特定URI 才能访问

数据,使数据更安全。

2、请简要说明ContentProvider 、ContentResolver 和

ContentOberver 之间的联系。ContentProvider 可以共享自己的数

据给外部应用访问,要访问ContentProvider 暴漏的数据就要用到

ContentResolver 。而ContentObserver 就相当于中间人的角色,它

可以事实监听ContentProvider 的数据是否发生变化,如果发生变化

就会触发onChange()方法,Contentresolver 可以在onChange()方

法中查询的哪些数据发生了变化再对数据进行操作。

第7章广播接收者

一、填空题

1、广播接收者可以在清单文件使用1、receiver

3、有序广播、无序广播

2、终止广播需要使用abortBroadcast()

4、代码注册广播需要使用方法registerReceiver ,接触广播需要

使用方法unregisterReceiver。

5、指定接收广播类型的函数是sendOrderedBroadcast()。

二、判断题

1、每一个广播只能有一个广播接收者接收。×

2、广播接收者是四大组件之一,必须要在清单文件中注册。√

3、广播接收者的注册信息必须要保持唯一性。×

4、可以在BroadcastReceiver 和onReceiver 方法中处理耗时复

杂的业务。×

5、广播接收者注册后必须要手动关闭。×

三、选择题

1、继承BroadcastReceiver 会重写(A )方法。

A 、onReceiver()

B 、onUpdate()

C 、onCreate()

D 、onStart()

2、关于广播的作用,说法正确的是(A )。

A 、它主要用来接收系统发布的一些消息的

B 、它可以进行耗时的操作

C 、它可以启动一个Activity

D 、它可以帮助Activity 修改用户界面

3、下列方法中,用于发送一条有序广播的是(B )。

A 、startBroadcastReceiver()

B 、sendOrderedBroadcast()

C 、sendBroadcast()

D 、sendReceiver()

4、在清单文件中,注册广播时使用的结点是(C )。

A 、

B 、

C 、

D 、

5、关于BroadcastReceiver 说法不正确的是(B )。

A 、是用来接收广播Intent 的

B 、一个广播Intent 只能被一个订阅了此广播的

BroadcastReceiver 所接收

C 、对有序广播,系统会根据接受者声明的优先级别按顺序逐个

执行接收者

D 、接收者生命的优先级别在android:priority属性中生命,数值

越大优先级别高

四、简答题

1、说明注册广播有几种方式,以及这些方式有何优缺点。

注册广播有两种方式。

●非常驻型广播:这种广播依赖于注册广播的组件的生命周期,例

如,在Activity 中注册广播接收者,当Activity 销毁后广播也随之被

移除。

●常驻型广播:当应用程序关闭后,如果接收到其他应用程序发出

的广播,那么该程序会自动重新启动。但是4.0以上的系统中如果安装

了应用但是没有打开过,当有广播发出时应用也接收不到广播信息。

2、简要说明接收系统广播时哪些功能需要使用权限。

拨打电话: 发送短信:

设备开机:

电池电量低:

第8章服务

一、填空题

1、在创建服务时,必须要继承Service

2、绑定服务事,必须要实现服务的onBind()

3、在清单文件中,注册服务时应该使用的结点为

4、服务的开启方式有两种,分别是startService()、

bindService()”

5、在进行远程服务通信时,需要使用接口AIDL

二、判断题

1、以绑定方式开启服务后,服务与调用者没有关系。×

2、服务的界面可以设置的很美观。×

3、以绑定方式开启服务后,当界面不可见时服务就会被关闭。×

4、在服务中可以处理长时间的耗时操作。√

5、服务不是Android 中的四大组件,因此不需要在清单文件中

注册。×

三、选择题

1、每一次启动服务都会调用(D )方法。

A 、onCreate()

B 、onStart()

C 、onResume

D 、onStartCommand

2、下列选项中,属于绑定服务特点的是(ABC )。

A 、以bindService()方法开启

B 、调用者关闭后服务关闭

C 、必须实现ServiceConnection

D 、使用stopService()方法关闭服务

3、Service 与Activity 的共同点是(AC )。

A 、都是四大组件之一

B 、都有onResume()方法

C 、都可以被远程调用

D 、都可以自定义美观界面

4、下列方法中,不属于Service 生命周期的是(A )

A 、onResume()

B 、onStart()

C 、onStop()

D 、onDestory()

5、关于Service 生命周期的onCreate()和onStart()方法,说法

正确的是(BD )

A 、如果Service 已经启动,将先后调用onCreate()和onStart()

方法

B 、当第一次启动的时候先后调用onCreate()和onStart()方法

C 、当第一次启动的时候只会调用onCreate()方法

D 、如果Service 已经启动,只会执行onStart()方法,不再执行

onCreat()方法

四、简答题

1、请简要说明使用AIDL 访问远程服务的步骤。

使用AIDL 接口实现通信的步骤如下:

1)在需要被调用的服务的项目中创建AIDL 接口;

2)创建相应的服务

3)创建第二个项目用于调用服务。将服务中的aidl 接口拷贝到第

二个项目中,包名要和服务中的包名一致。

2、请简要说明Service 的几种启动方式及其特点。

服务两种启动方式,分别是:

● Start 方式启动:服务与调用者没有绝对关联,当调用者关闭后

服务还会一直在后台运行。

● Bind 方式启动:服务与调用者的生命周期所关联,当调用者关

闭时,服务也会关闭。

第10章高级编程

一、填空题

1、对图片添加旋转、缩放等特效需要使用Matrix

2、要注册各种传感器需要先获取SensorManager

3、绘制图像需要使用多个类,分别是Bitmap 、BitmapFactory 、

Paint 、Canvas。

4、Fragment 与Acitivity 相比多出的几种生命周期方法是

onAttach()、onCreateView()、onActivityCreate()、

onDestroyView()、onDetach()

5、动画中有一种Frame 逐帧动画

二、判断题

1、只要是Android 设备就可以使用任何传感器。×

2、Fragment 与Acitivity 相似,它们的生命周期也相同。×

3、每次启动Fragment 都会执行他的onGreate 方法。√

4、要使用图片旋转可以使用Matrix 类中的setRotate ()方法。

5、Android 中开发音乐播放器可以用MediaPlayer ,开发视频

播放器只能用VideoView 。×

三、选择题

1、使用MediaPlayer 播放保存在SD 卡上的.mp3文件时(BC )。

A 、需要使用 方法创建MediaPlayer 。

B 、直接new MediaPlayer即可

C 、直接使用setDataSource 方法设置文件源

D 、直接调用start 方法,无须设置问文件源

2、下列不属于补间动画相关的类是(B )。

A 、TranslateAnimation

B 、FrameAnimation

C 、RotateAnimation

D 、AlphaAnimation

3、关于Fragment 说法正确的是(C )。

A 、使用Fragment 必须在布局文件中加入控件

B 、Fragment 有自己的界面和生命周期,可以完全替代Activity

C 、Fragment 的状态跟随它所关联的Activity 的状态改变而改变

D 、当Fragment 停止时,与它关联的Activity 也会停止

4、MediaPlayer 播放资源前,需要调用(B )方法完成准备工作。

A 、setDataSource

B 、prepare

C 、begin

D 、pause

5、下面属于Android 动画分类的有(AB )。

A 、Tween

B 、Frame

C 、Draw

D 、Animation

四、简答题

1、Android 中有几种动画?它们的区别是什么?

Android 中有两种动画,分别如下:

1) Tween 动画

通过对View 中的内容进行一系列的图形变换来实现动画效果,其

中图形变化包括平移、缩放、旋转、改变透明度等。补间动画的效果

可以通过XML 文件来定义也可以通过编码方式来实现,通常情况下以

XML 形式定义的动画都会放置在程序的res/anim(自定义的)文件夹

下。

2) Frame 动画

逐帧动画就是按顺序播放事先准备好的静态图像,利用人眼的

“视觉暂留”原理,给用户造成动画的错觉。放胶片看电影的原理与

逐帧动画的原理是一样的,它们都是一张一张地播放事先准备好的静

态图像。

2、简单描述Fragment 的生命周期状态。

Fragment 的生命周期有三种状态,具体如下:

1)运行状态

当一个Fragment 是可见的,并且它所关联的Activity 正处于运

行状态,那么该Fragment 也处于运行状态。

2)暂停状态

当一个Activity 进入暂停状态(另一个未占满屏幕的Activity 并

添加到了栈顶时),与它相关联的可见Fragment 也会进入暂停状态。

1) 停止状态

当一个Activity 进入停止状态时,与它相关联的Fragment 就会

进入到停止状态。或者通过调用FragmentTransaction 的remove()、

replace()方法将Fragment 从Activity 中移除。如果在事务提交之前

调用addToBackStack()方法,这时的Fragment 也会进入到停止状态。

本文标签: 使用数据广播需要服务