admin 管理员组文章数量: 1184232
2024年3月11日发(作者:gradle下载后放到哪里)
Android移动应用开发习题答案
单元1 Android开发环境搭建与模拟器创建
1.填空题
(1)
2008
(2)
Linux、操作系统
(3)
应用程序层、应用程序框架层、核心类库、Linux内核
(4)
Java C++/C
(5)
应用框架
(6)
应用程序
(7)
模拟器、Android模拟器
(8)
IntelliJ IDEA Android
2.选择题
(1)创建程序的过程中,填写Application Name表示( )。
正确答案:A
(2)Android操作系统的手机可以有以下几个方法进行软件安装( )。(多选题)
ABCD
(3)Android操作系统主要的特点是:( )。(多选题)
正确答案:ABC
(4)以下对Android操作系统描述正确的是:( )。(多选题)
正确答案:ABCD
(5)以下哪些是Android Stuido的优势( )。(多选题)
正确答案:ABCD
(6)以下哪些是Genymotion模拟器的优势( )。(多选题)
正确答案:ABCD
3.简答题
(1)Android的四层架构分别包括哪几层?分别起到什么作用?
参考答案:
Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。
核心类库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提
基于Android Studio的移动应用开发任务驱动教程
供编程接口。
应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形
用户界面组件View、SQLite数据库相关的API、Service组件等。
应用程序层(Applications):包含了Android平台中各式各样的应用程序。
(2)简述Android开发环境安装的步骤。
参考答案:
下载并安装JDK,配置JDK的环境变量;
从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT);
安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设
定Android SDK路径)。
(3)简述Android Studio的优势。
参考答案:略。
(4)简述Genymotion模拟器的优势。
参考答案:略。
(5)简述Android应用程序创建和运行的步骤。
参考答案:
通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。
单击菜单中的运行按钮可以直接运行Android项目(也可以通过菜单配置运行参数,
指定运行的模拟器)。
单元2 Android Studio的组成结构与基本操作
1.填空题
(1)
res/layout
(2)
Activity、Bundle
(3)
XML
(4)
java代码文件
(5)
(6)
打包成.apk文件
2.选择题
(1)如果需要创建一个字符串资源,需要将字符串放在resvalues的哪个文件中?( )
B
(2)新建的Android程序默认的布局方式是相对布局(RelativeLayout),该布局中包
含一个( )控件。
B
(3)要让布局文件或者控件能够显示在界面上,必须要设置RelativeLayout和控件的
2
单元
( )。
C
(4)配置文件中,activity和application里都可以设置android:label
标签,activity的优先级( )application。
C
(5)Android项目启动时最先加载的是文件,如果有多个Activity,
以下哪个属性决定了该Activity最先被加载?( )
A
(6)Android安装软件后缀是( )。
C
3.简答题
(1)如何区分Android Studio中的Project和Module?
参考答案:略。
(2)如何在Android Studio开发环境中打开Android项目文件所在的目录?
参考答案:略。
(3)在Android的布局文件activity_中“@+id/username”与"@id/username"
两者有何区别?
参考答案:略。
(4)Android程序如何获取界面上的控件并在窗口中显示?
参考答案:略。
(5)如何将一个Activity设置成窗口的样式。
参考答案:
在 中定义Activity的地方一句话
android:theme="@android:style/"或
android:theme="@android:style/ucent"就变成半透明的。
(6)简述Android项目中重要的文件夹和文件,它们的作用是什么?
参考答案:
src目录:该目录中存放的是我们需要编辑的Java源代码;
gen目录:目录中存放所有由Android开发工具自动生成的文件,它包含了界面、图
标、常量等各种资源的id;
bin目录:目录中的内容是程序运行后自动生成的,不需要我们编辑,里面包含自动
生成的可执行文件(如);
res目录:该目录中放置程序的重要资源,包括图片、布局、字符串等资源;
文件:该文件非常重要,列出了应用程序许多基本信息(如版本、
应用程序名称、启动图标等),其中还包括了程序使用到的各种服务(如电话服务、互联网
服务、短信服务、GPS服务等),该文件甚至包括了程序中所使用到的各个Activity信息。
03单元3 Android的界面设计与资源应用程序设计
1.填空题
(1)
RelativeLayout、LinearLayout、TableLayout、GirdLayout
3
基于Android Studio的移动应用开发任务驱动教程
(2)
android:layout_alignParentLeft
(3)
水平、竖直
(4)
RelativeLayout
(5)
android:layout_alignRight
(6)
左上角
(7)
findViewById
(8)
XML
(9)
TableRow
(10)
in
2.选择题
(1)Android中有许多控件,这些控件无一例外的都继承自( )类。
D
(2)Android中有许多布局,它们均是用来容纳子控件和子布局的,这些布局均继承
自( )。
B
(3)下列属性中,( )属性可以“在指定控件左边”。
D
(4)相对布局中,“是否跟父布局底部对齐”是属性( )。
C
(5)从下哪一个控件是用来显示图片?( )
A
(6)如果要实现用户单击后触发一定的处理,以下哪一个控件最合适?( )
D
(7)以下哪个控件可以用来显示进度?( )
B
(8)以下哪个方法可以用来获得进度条的当前进度值?( )
A
(9)ListView是常用的( )类型控件。
C
(10)以下哪个属性用来表示引用图片的资源id( )。
D
(11)相对布局中,如果指定一个控件位于引用控件的左侧,应该使用( )属性。
D
(12)表格布局中android:layout_column属性的作用是指定( )。
D
4
单元
3.简答题
(1)简述五种布局的特点和运用场合。
参考答案:
线性布局:控件可以按照水平或者垂直方向进行排列,控件排列方式简单。
相对布局:控件相对于其他控件或者容器决定控件的位置,能够设定控件之间的相对
关系、控件与父容器的相对关系,控件排列方式比较灵活,是常用的布局之一。
表格布局:通过配合使用TableRow可以将控件以表格形式排列。
框架布局:控件按照创建顺序在屏幕的左上角重叠显示,用于制作特别的控件。
绝对布局:通过绝对的坐标控制控件摆放的位置。虽然摆放控件很容易,但是不适合
多种分辨率和尺寸的屏幕,需要慎用。
(2)简述本单元所介绍控件的特点和作用。
参考答案:
TextView:最基础的控件,用做显示文本信息;
Button控件:通过监听器单击事件,可以实现用户单击按钮后触发相应动作;
ImageView控件:用于显示图片的控件,可以通过src属性指定显示的图片,可以通
过调用方法来动态设定图片;
EditText控件:输入文本控件,主要用于让用户输入信息,inputtype属性可以指定输
入文本时的键盘特征;
DatePicker控件和TimePicker控件:日期和时间控件,可以显示日期和时间,也可以
让用户进行日期和时间的选择。
(3)Android的属性、方法如何使用,它们分别起了什么作用?
参考答案:
Android控件的属性,可以通过xml文件设定,通过设定控件的属性能够静态的改变
控件的样式和一些特性;
控件的方法,可以通过编写代码动态调用方法,在程序中调用方法可以动态的修改控
件的样式、也可以获得控件的相关信息;
单元4 Android的事件处理与交互实现程序设计
1.填空题
(1)
activiey,service,broadcast和contentprovide
(2)
运行状态、暂停状态、停止状态
(3)
standarD.singleTop、singleTask
(4)
隐式Intent、显示Intent
(5)
onRestart()
(6)
5
基于Android Studio的移动应用开发任务驱动教程
startActivityForResult() onActivityResult()
(7)
Activity
(8)
对象
(9)
显示一些提示信息
(10)
显示全部信息、显示调试信息、显示一般信息、显示警告信息、显示错误信息
2.选择题
(1)如果需要捕捉某个控件的事件,需要为该控件创建( )。
C
(2)一个Android应用程序默认会包含( )个Activity。
A
(3)下列方法中,Activity从启动到关闭不会执行是( )。
D
(4)下列控件中,不能使用Intent启动的是( )。
D
(5)startActivityForResult方法接收两个参数,第1个是Intent,第2个是( )。
C
(6)下列判刑Activity的描述中,错误的是( )。
C
(7)Android 中下列属于Intent的作用的是( )。
C
(8)在Activity的生命周期中,当Activity处于栈顶时,此时处于哪种状态?( )
A
(9)在Activity的生命周期中,当Activity被某个AlertDialog覆盖掉一部分之后,会
处于哪种状态?( )
A
(10)Action属性ACTION_DIAL代表( )标准动作。
A
(11)如果需要显示id为1的联系人信息,Intent中的Action属性与Data属性应该设
定为什么?( )。
A
(12)Toast创建完毕后,需要显示出来此时需要调用以下哪个方法?( )
B
(13)以下哪个类对应Android中的提示对话框?( )
A
(14)Android中有一个服务用来管理通知,它是( )。
B
3.简答题
(1)简要说明Activity的4种启动模式的区别。
参考答案:
四种启动模式分别是:
6
单元
Standard:每当启动一个新的Activity,它就会进入任务栈,并处于栈顶的位置,对于
使用standard模式的Activity,系统不会判断该Activity在栈中是否存在,每次启动都会创
建一个新的实例。
SingleTop:与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接
使用它不创建新的实例。如果启动的Activity没有位于栈顶时,则创建一个新的实例位于
栈顶。
SingleTask:创建的Activity只存在一个实例。已经存在则直接使用该实例,并将当前
Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例。
singleInstance:启动一个新的任务栈管理Activity
(2)简要说明Activity的3种状态以及不同状态使用的方法。
参考答案:
Activity三种状态分别是:
运行状态:该状态下可以对界面进行操作
暂停状态:界面可见但不具有焦点无法单击
停止状态:界面不可见,一般在停止状态时保存数据以防止程序被系统强制杀死。
(3)Android提供了多种提示方式,简述它们各自的优缺点?
参考答案:
Android提供的常见的提示信息的方式有Toast、Dialog以及Notification。它们各自的
特点如下:
Toast只能给用户提示信息,过一定时间后信息自动消失,用户只能阅读提示的信息,
不能做出交互性动作,也不能修改Toast的界面。
Dialog不仅能给用户提示信息,还可以让用户选择对提示信息的响应方式,更复杂的,
用户可以定制Dialog的界面。
Notification提供了更高级的提示信息的方式,手机界面上有专门用于显示Notification
的区域。用户可以向下滑动拉开通知栏,查看通知的内容,还可以进一步打开相关的Activity
来对通知信息做进一步的处理。
(4)Intent有哪些重要属性,Activity之间是如何进行信息的传递的?
参考答案:
属性:Component(组件)、Action(动作)、Data(数据)、Category(分类)、Type(类
型)、Extra(扩展信息)。
在Android中是通过intent中的属性进行信息的传递的。
(5)Android的监听器如何使用,有什么作用?
参考答案:
控件的监听器,可以通过编码为控件创建、设定监听器,监听器可以监听控件发生的
事件,一旦发生某个监听的事件可以触发相应的处理代码。
(6)简述如何在Android程序使用Toast?
参考答案:
使用Toast可以直接调用Tosast的静态方法:
xt(this, text, duration).show();
也可以创建出Toast对象,如:
Toast toast = new Toast(this);
t("提示信息");
();
7
基于Android Studio的移动应用开发任务驱动教程
单元5 Android的数据存储与数据共享程序设计
1.填空题
(1)
文件、Sharedpreferences、SQLite、ContentProvider
(2)
内存、SD卡
(3)
配置参数
(4)openOrCreateDatabase(String path, Factory factory)、
SQLiteOpenHelper
(5)
Cursor、close
(6)
insert、delete、update、query
(7)
保存、检索
(8)
ContentResolver
(9)
“键-值”
(10)
“sion:WRIT_EXTERNAL_STORAGE”
(11)
Uri
(12)
onCreate()
2.选择题
(1)下列文件操作权限中,指定文件内容可以追加的是( )。
C
(2)下例代码中,用于获取SD卡路径的是( )。
D
(3)下列选项中,关于文件存储数据的说法错误的是( )。
D
(4)如果要将程序中的私有数据分享给其他应用程序,可以使用的是( )。
C
(5)下列命令中,属于SQLite下的命令是( )。
C
(6)以下哪个方法能够实现数据库的数据插入?( )
C
(7)以下哪种数据库操作不能使用execSQL方法执行?( )
C
8
单元
(8)使用SQLite数据库进行查询操作后,必须要做的操作是( )。(多选题)
AC
3.简答题
(1)简述几种Android数据存储的方法和特点。
参考答案:
文件存储:操作文件的方法与Java完全一致,可以将信息存储到应用程序的默认目录、
指定目录、SD卡目录中去,可以存储较大文件,以IO流形式传输数据。但对于结构化数
据的解析比较麻烦。
SharedPreferences:轻量级的数据存储方式,通过该类可以方便的实现数据的存入和读
取,主要用于参数的存储,以键值对的形式存于内存中。
SQLite数据库:支持SQL语句,通过配合使用SQLiteOpenHelper、SQLiteDatabase、
Cursor这几个类,能够轻松的实现结构化数据的存储和读取。占用内存小,所有文件都存
放在单一文件中。
ContentProvider:提供自身暴露的数据给第三方应用使用,统一了数据访问格式,以
数据库形式保存数据。
(2)简要说明SQLite数据库创建的过程。
参考答案:
首先创建一个类继承SQLiteOpenHelper,重写onCreate()方法并在该方法中创建表,
使用创建出的SQLiteOpenHelper的子类对象的getWritableDatabase()方法获得一个可读写
的数据库对象。
(3)简述使用Sharedpreference如何存储数据。
参考答案:
使用Sharedpreference储存数据时因为它本身没有写文件的功能,因此需要使用Editor
对象将数据存入内存,比如:
SharedPreferences sp = getSharedPreferences("config", 0);
Editor editor = ();
ing("a", "a");
();
(4)简要说明ContentProvider对外共享数据的好处。
参考答案:
通过ContentProvider共享数据统一了数据访问方式,使用起来更规范,通过数据库存
储并指定了URI,只有通过特定URI才能访问数据,使数据更安全。
(5)简要说明 ContentProvider、ContenResolver和ContentObserver之间的联系。
参考答案:
ContentProvider可以共享自己的数据给外部应用访问,要访问ContentProvider暴漏的
数据就要用到ContentResolver。而ContentObserver就相当于中间人的角色,它可以事实监
听ContentProvider的数据是否发生变化,如果发生变化就会触发onChange()方法,
Contentresolver可以在onChange()方法中查询的哪些数据发生了变化再对数据进行操作。
单元6 Android的服务(Service)与广播应用程序设计
9
基于Android Studio的移动应用开发任务驱动教程
1.填空题
(1)
Service、onBind()
(2)
startService()、bindService()
(3)
(4)
receiver abortBroadcast()
(5)
有序广播、无序广播
(6)
registerReceiver、unregisterReceiver
2.选择题
(1)每一次启动服务都会调用( )方法。
D
(2)下列方法中,不属于Service生命周期是( )。
A
(3)继承BroadcastReceiver会重写( )方法。
A
(4)关于广播的作用,说法正确的是( )。
A
(5)下列方法中,用于发送一条有序广播的方法是( )。
B
(6)在清单文件中,注册广播时使用的结点是( )。
C
(7)BroadcastReceiver说明错误的是( )。
B
(8)下列选项中,属于绑定服务特点的是( )。(多选题)
ABC
(9)Service与Activity的共同点是( )。(多选题)
AC
(10)关于Service生命周期的onCreate()和onStart()方法,正确的是( )。(多选
题)
BD
3.简答题
(1)简要说明Service的几种启动方式及其特点。
参考答案:
服务两种启动方式,分别是:
Start方式启动:服务与调用者没有绝对关联,当调用者关闭后服务还会一直在后台运
行。
Bind方式启动:服务与调用者的生命周期所关联,当调用者关闭时,服务也会关闭。
(2)简要说明Service常用的生命周期回调方法。
10
单元
参考答案:
onCreate()该方法在服务被创建时调用,该方法只会被调用一次,无论调用多少次
startService()或bindService()方法,服务也只被创建一次。 onDestroy()该方法在服务被终止
时调用。
ervice()启动Service有关的生命周期方法
onStart() 只有采用ervice()方法启动服务时才会回调该方法。该方法在服
务开始运行时被调用。多次调用startService()方法尽管不会多次创建服务,但onStart()方法
会被多次调用。
rvice()启动Service有关的生命周期方法
onBind()只有采用rvice()方法启动服务时才会回调该方法。该方法在调
用者与服务绑定时被调用,当调用者与服务已经绑定,多次调用rvice()方法
并不会导致该方法被多次调用。
onUnbind()只有采用rvice()方法启动服务时才会回调该方法。该方法在
调用者与服务解除绑定时被调用。
(3)简要说明注册广播有几种方式,这些方式各有何优缺点。
参考答案:
注册广播有两种方式。
非常驻型广播:这种广播依赖于注册广播的控件的生命周期,例如,在Activity中注
册广播接收者,当Activity销毁后广播也随之被移除。
常驻型广播:当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该程序
会自动重新启动。但是4.0以上的系统中如果安装了应用但是没有打开过,当有广播发出
时应用也接收不到广播信息。
(4)简要说明接收系统广播时哪些功能需要使用权限。
参考答案:
拨打电话:
发送短信:
设备开机:
电池电量低:
单元7 Android的网络与通信应用程序设计
1.填空题
(1)
Socket通信、HTTP通信、URL通信、WebView。
(2)
HTTP请求
(3)
HttpURLConnection、HttpClient
(4)
GET、POST
(5)
11
基于Android Studio的移动应用开发任务驱动教程
线程间通信
(6)
Java
2.选择题
(1)下列通信方式中,不是Android系统提供的是( )。
D
(2)关于HttpURLConnection访问网络的基本用法,描述错误的是( )。
C
(3)下列选项中,不属于AsyncHttpClient特点的是( )。
D
(4)下列选项中,关于GET和POST请求方式,描述错误的是( )。
B
(5)Hanlder是线程与Activity通信的桥梁,如果线程处理不当,机器就会变得越慢,
线程销毁的方法是( ) 。
A
(6)下列选项中,不属于Handler机制中的关键对象是( )。
A
3.简答题
(1)简述使用HttpURLConnection访问网络的基本步骤。
参考答案:略。
(2)简述使用HttpClient访问网络的基本步骤。
参考答案:
使用HttpClient访问网络的步骤如下:
创建HttpClient对象;
指定访问网络的方式,创建一个HttpPost对象或者HttpGet对象;
如果需要发送请求参数,可调用HttpGet、HttpPost都具有的setParams()方法。对于
HttpPost对象而言,也可调用setEntity()方法来设置请求参数;
调用HttpClient对象的execute()方法访问网络,并获取HttpResponse对象;
调用ity()方法获取HttpEntity对象,该对象包装了服务器的响应内
容。也就是我们所请求的数据。
(3)简述Handler机制四个关键对象的作用。
参考答案:
Handler机制四个关键对象的作用如下:
Message
Message是在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程
之间交换数据。Message的what字段可以用来携带一些整型数据,obj字段可以用来携带
一个Object对象。
Handler
Handler顾名思义就是处理者的意思,它主要用于发送消息和处理消息。一般使用
Handelr对象的sendMessage()方法发送消息,发出的消息经过一系列的辗转处理后,最终
会传递到Handler对象的handlerMessage()方法中。
MessageQueue
MessageQueue是消息队列的意思,它主要用来存放通过Handler发送的消息。通过
Handler发送的消息会存在MessageQueue中等待处理。每个线程中只会有一个
12
单元
MessageQueue对象。
Looper
Looper是每个线程中的MessageQueue的管家。调用Looper的loop()方法后,就会进
入到一个无线循环中。然后每等发现MessageQueue中存在一条消息,就会将它取出,并
传递到Handler的HandlerMessage()方法中。此外每个线程也只会有一个Looper对象。在
主线程中创建Handler对象时,系统已经为我们创建了Looper对象,所以不用手动创建
Looper对象,而在子线程中Handler对象,我们需要调用()方法开启消息循环。
(4)简要说明GET请求与POST请求的主要区别。
参考答案:略。
单元8 Android的图像操作与图形绘制程序设计
1.填空题
(1)
Bitmap、BitmapFactory、Paint、Canvas、cs
(2)
getDrawable(int id)
(3)
getBitmap()
(4)
View
(5)
Paint
(6)
Matrix
2.选择题
(1)Canvas类可以用来实现各种图形的绘制工作,其中可以绘制矩形的方法是( )。
D
(2)进行图形绘制时需要调用Canvas类的方法,以下哪个方法可以用来绘制三角形
的三条边?( )。
B
(3)Paint类用来描述画笔,以下哪个属性Paint不能设定?( )。
B
(4)可以以下哪些方法获取资源中的位图?( )。(多选题)
AB
(5)Bitmap提供了一些静态方法来创建新的Bitmap对象,下列哪些属于其常用静态
方法( )。(多选题)
ABCD
3.简答题
(1)简述Bitmap类常用的方法及其主要功能。
13
基于Android Studio的移动应用开发任务驱动教程
参考答案:略。
(2)简述位图缩放的主要实现方法。
参考答案:略。
(3)简述Canvas类用来实现各种图形绘制工作的方法。
参考答案:略。
(4)简述Pain类的常用属性设置方法。
参考答案:略。
单元9 Android的音频与视频应用程序设计
1.填空题
(1)
MediaPlayer、SoundPool类
(2)
VideoView、SurfaceView、VideoView
(3)
View 双缓冲
(4)
create() setDataSource()
(5)preparing
2.选择题
(1)MediaPlayer播放资源时,需要调用( )方法完成准备工作。
B
(2)Android中MediaPlayer无法播放( )。
D
(3)MediaPlayer对象执行( )之后处于Started状态。
A
(4)调用stop()方法会停止MediaPlayer对象播放,并且还会让一个处于Started,Paused,
Prepared或PlaybackCompleted状态的MediaPlayer进入( )状态。
B
(5)使用MediaPlayer播放保存在SD卡中的mp3文件时( )。(多选题)
BC
3.简答题
(1)说明MediaPlayer要播放的文件的主要来源。
参考答案:略。
(2)简要说明MediaPlayer对象的生命周期。
参考答案:
用new操作符创建一个新的MediaPlayer对象或是对已有对象调用reset()方法之后
MediaPlayer对象处于Idle状态。调用setDataSource()方法会使处于Idle状态的对象转变为
Initialized状态。在开始播放之前,MediaPlayer对象必须要进入Prepared状态,有同步和
异步两种方式可以使MediaPlayer对象进入Prepared状态。要开始播放,必须调用start()
方法。当此方法成功返回时,MediaPlayer的对象处于Started状态。当调用pause()方法并
14
单元
返回时,会使MediaPlayer对象进入Paused状态。调用stop()方法会停止播放,并且还会
让一个处于StarteD.PauseD.Prepared或PlaybackCompleted状态的MediaPlayer进入Stopped
状态。
(3)简述MediaPlayer对象的prepareAsync()方法和prepare()方法的区别及其各自使用
场合。
参考答案:
prepareAsync()方法和prepare()方法分别是异步加载和同步加载,prepareAsync()方法执
行完毕后MediaPlayer进入preparing状态,而prepare()方法执行完毕后MediaPlayer进入
prepared状态。prepareAsync()方法一般用于加载网络音频文件等耗时的场景,而加载本地
音频的时候一般使用prepare()就可以了。
(4)简要说明通过VideoView类播放视频的主要步骤。
参考答案:略。
15
版权声明:本文标题:Android移动应用开发题(含答案) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710114776a558399.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论