Android应用开发基础习题集文档格式.docx
《Android应用开发基础习题集文档格式.docx》由会员分享,可在线阅读,更多相关《Android应用开发基础习题集文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
三、简答题
1、简述Android开发环境安装的步骤、
答:
下载并安装JDK,配置JDK的环境变量;
ﻩ从Anroid官网上下载Android开发组件(包罗Eclipse与AndroidSDK、ADT);
ﻩ安装Android开发环境(包括配置AndroidSDK的环境变量、打开Eclipse通过菜单设定AndroidSDK路径)。
2、简述Android应用程序创建与运行的步骤、
答:
通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。
点击菜单中的运行按钮能够直截了当运行Android项目(也能够通过菜单配置运行参数,指定运行的模拟器)。
任务二 星座查询工具的设计与实现
第一部分 知识回顾与考虑
1、Android的属性、方法、监听器如何使用,它们分不起了什么作用?
Android控件的属性,能够通过xml文件设定,通过设定控件的属性能够静态的改变控件的样式与一些特性;
控件的方法,能够通过编写代码动态调用方法,在程序中调用方法能够动态的修改控件的样式、也能够获得控件的相关信息;
控件的监听器,能够通过编码为控件创建、设定监听器,监听器能够监听控件发生的事件,一旦发生某个监听的事件能够触发相应的处理代码。
2、回顾一下Android工程中重要的目录与文件,它们的作用是什么?
src目录:
该目录中存放的是我们需要编辑的Java源代码;
ﻩgen目录:
目录中存放所有由Android开发工具自动生成的文件,它包罗了界面、图标、常量等各种资源的id;
ﻩbin目录:
目录中的内容是程序运行后自动生成的,不需要我们编辑,里面包罗自动生成的可执行文件(如HelloAndroid、apk);
res目录:
该目录中放置程序的重要资源,包括图片、布局、字符串等资源;
ﻩAndroidManifest、xml文件:
该文件特不重要,列出了应用程序许多基本信息(如版本、应用程序名称、启动图标等),其中还包括了程序使用到的各种服务(如电话服务、互联网服务、短信服务、GPS服务等),该文件甚至包括了程序中所使用到的各个Activity信息、
1、以下哪个控件用来显示图片?
(A )
A、ImageView B、TextViewC、EditText D、Button
2、假如要实现用户单击后触发一定的处理,以下哪个控件最合适?
( D )
A、ImageView B、TextView C、EditText D、Button
3、假如我们需要捕捉某个控件的事件,我们需要为该控件创建( C )。
A、属性 B、方法 C、监听器 D、工程
4、以下的哪个属性是用来表示引用图片的资源ID?
( D)
A、text B、imgC、id D、src
5、以下的哪个属性是用来控制虚拟键盘输入类型?
( B )
A、keyboard B、inputType C、text D、src
6、Android工程启动是最先加载的是AndroidManifest、xml,假如有多个Activity,以下哪个属性决定了该Activity最先被加载?
(A )
A、android、intent、action、MAIN B、android、intent、action、LAUNCHER
C、android、intent、action、ACTIVITYD、android、intent、action、ICON
7、假如我们需要导入一张图片资源,我们需要将图片放在哪个工程目录中(A)。
A、res\drawableB、res\string C、res\pictureD、res\icon
8、假如我们需要创建一个字符串资源,我们需要将字符串放在res\values的哪个文件中?
A、value、xml B、strings、xml C、dimens、xml D、styles、xml
9、以下哪个布局最不适合在多种移动终端上使用?
(C )
A、相对布局 B、线性布局C、绝对布局 D、表格布局
10、相对布局中,假如指定一个控件位于引用控件的左侧,应该使用( D )属性、
A、android:
layout_toParentLeftOfB、android:
layout_alignParentLeft
C、android:
layout_alignLeftD、android:
layout_toLeftOf
1、在Android控件使用过程中,经常需要依照控件的ID获取控件的对象,我们能够使用( findViewById )方法。
2、导入图片时,需要特不注意图片的名称不能够包罗(大写字母、特不符号)、
3、在创建控件的时候,能够在布局文件的界面视图中拖拉控件,但本质上依然编辑的(XML)文件。
4、表格布局能够包罗多行,( TableRow)代表是一行。
5、假如创建了一个字符串资源为hello,那么它的ID应该是( R、String、hello )、
1、简述五种布局的特点与运用场合。
框架布局:
所有控件排列在左上角,用于制作特不的控件,初学者使用较少;
线性布局:
控件能够依照水平或者垂直方向进行排列,控件排列方式简单;
绝对布局:
能够指定控件摆放的位置,尽管摆放控件特不容易,然而不适合多种分辨率与尺寸的屏幕,需要慎用;
相对布局:
能够设定控件之间的相对关系、控件与父容器的相对关系,控件排列方式比较灵活,是常用的布局之一;
表格布局:
通过配合使用TableRow能够将控件以表格形式排列。
2、简述本节课程所学控件的特点与作用、
TextView:
最基础的控件,用做显示文本信息;
Button控件:
通过监听器单击事件,能够实现用户点击按钮后触发相应动作;
ImageView控件:
用于显示图片的控件,能够通过src属性指定显示的图片,能够通过调用方法来动态设定图片;
EditText控件:
输入文本控件,主要用于让用户输入信息,inputtype属性能够指定输入文本时的键盘特征;
DatePicker控件与TimePicker控件:
日期与时间控件,能够显示日期与时间,也能够让用户进行日期与时间的选择、
ﻬ
任务三计算器的设计与实现
1、Android提供了多种提示方式,考虑一下它们各自的优缺点?
Android提供的常见的提示信息的方式有Toast、Dialog以及Notification。
它们各自的特点如下:
(1)Toast只能给用户提示信息,过一定时间后信息自动消失,用户只能阅读提示的信息,不能做出交互性动作,也不能修改Toast的界面。
(2)Dialog不仅能给用户提示信息,还能够让用户选择对提示信息的响应方式,更复杂的,用户能够定制Dialog的界面、
(3)Notification提供了更高级的提示信息的方式,手机界面上有专门用于显示Notification的区域。
用户能够向下滑动拉开通知栏,查看通知的内容,还能够进一步打开相关的Activity来对通知信息做进一步的处理。
2、回顾一下Android的调试流程,在您的程序遇到问题的时候,您应该如何去定位解决问题?
当程序运行遇到问题时,我们应按如下的步骤去推测问题所在与调试程序:
(1)推理Bug出现时所发生的动作
(2)该动作所对应的程序代码
(3)在该行代码处设置断点
(4)启动程序调试,重复刚才的操作
(5)程序运行至断点时停止,然后单步执行程序
(6)单步执行时注意所涉及变量值的变化
(7)发现变量值异常或处理错误
(8)修改代码再次运行
1、Toast创建完毕后,需要显示出来此时需要调用以下哪个方法?
A、makeText B、showC、create D、view
2、以下哪个类对应Android中的提示对话框?
(A)
A、AlertDialog B、Dialog C、ShowDialog D、Alert
3、对话框中有几个默认Button,( A)代表是确定按钮。
A、PositiveButton B、NegativeButtonC、NeutralButton D、OKButton
4、Android中有一个服务用来管理通知,它是( B )、
A、Service B、NotificationManagerC、NoticeD、DialogBuilder
5、我们单击模拟器上的菜单键所产生的菜单,称为(D )。
A、ContextMenu B、KeyMenu C、PopupMenu D、OptionMenu
6、以下的哪个方法会在菜单创建时被调用?
( A)
A、onCreateOptionsMenu B、onCreateMenu C、onCreateContextMenu D、onCreate
7、以下的哪个方法会在菜单项被单击时被调用?
( C)
A、onContextItemSelectedB、onCreateOptionsMenu C、onOptionsItemSelected D、onItemSelected
8、以下哪个类用于构造数组类型数据的适配器?
(D)
A、Adapter B、CursorAdapter C、SimpleAdapterD、ArrayAdapter
9、Spinner控件的子项被选中所对应的监听器为( A)、
A、setOnItemSelectedListenerB、OnClickListener C、OnLongClickListener D、setOnItemListener
10、以下哪个日志级不最高?
( D)
A、WARN B、INFOC、DEBUG D、ERROR
1、创建Toast使用makeText方法的第一个参数代表Activity的( 对象 )、
2、用户单击移动终端的(Menu )按钮,会触发创建OptionMenu、
3、Spinner的父类是(AdapterView ),如何希望将数据显示到如此的控件上,一般都需要使用(Adapter)进行数据与控件的绑定。
4、调试是为了让程序执行到某行代码时停顿,我们需要在这一行设置( 端点 )。
5、在Eclipse中有一个窗口用于管理日志,该窗口是(LogCat )。
1、假如程序在运行时就发生了崩溃,您会如何进行推测与调试?
程序运行发生崩溃时,我们应按如下的步骤去推测问题所在与调试程序:
(1)推理Bug出现时所发生的动作
(2)该动作所对应的程序代码
(3)在该行代码处设置断点
(4)启动程序调试,重复刚才的操作
(5)程序运行至断点时停止,然后单步执行程序
(7)发现变量值异常或处理错误
2、简述两种OptionMenu创建方法的相同点与不同点。
不同点:
第一种方法完全通过代码的方式来创建菜单,即通过重写Activity类的onCreateOptionsMenu方法来创建菜单;
而第二种方法则是通过定义布局文件的方式来创建菜单,即通过定义res\menu\main、xml菜单布局文件来创建菜单。
相比较来讲,第二种方法特不行地实现了逻辑代码与表现样式的分离,特不是在需要修改菜单样式时,第二种方法能够更少地修改代码而专注于XML布局文件,是目前更为推崇的架构方式。
相同点:
关于两种方法创建的菜单,响应其事件的方法是一样的,即都是通过重写Activity类的onOptionsItemSelected方法来实现其事件响应的。
ﻬ任务四 “我的日记”的设计与实现
1.Android中的生命周期中有哪几种状态?
答:
活动状态、暂停状态、停止状态、销毁状态、
2、Intent有哪些重要属性,Activity之间是如何进行信息的传递的?
属性:
ponent(组件)、Action(动作)、Data(数据)、Category(分类)、Type(类型)、Extra(扩展信息)、
在Android中是通过intent中的属性进行信息的传递的、
1、以下哪个控件能够用来显示进度?
( B )
A、EditText B、ProgressBar C、TextView D、Button
2、以下哪个方法能够用来获得进度条的当前进度值?
A、publicsynchronizedint getProgress()
B、publicsynchronizedvoid setIndeterminate (booleanindeterminate)
C、publicsynchronizedvoidsetProgress(int progress)
D、PublicfinalsynchronizedvoidincrementProgressBy(int diff)
3、在Activity的生命周期中,当Activity处于栈顶时,此时处于哪种状态?
(A )
A、活动 B、暂停 C、停止 D、销毁
4、在Activity的生命周期中,当Activity被某个AlertDialog覆盖掉一部分之后,会处于哪种状态?
( A )
A、活动 B、暂停 C、停止D、销毁。
5、Action属性ACTION_DIAL代表(A )标准动作、
A、显示电话拨号面板 B、显示直截了当打电话的界面
C、向用户显示数据 D、提供编辑数据的途径
6、假如需要显示id为1的联系人信息,Intent中的Action属性与Data属性应该设定什么缘故?
(A)、
A、ACTION_VIEWcontent:
//contacts/people/1
B、ACTION_DIAL content:
//contacts/people/1
C、ACITON_EDITcontent:
//contacts/people/1
D、ACTION_CALL content:
//contacts/people/1
7、在文件存储中,若要获得SD卡的存储路径,需要调用( A )。
A、Environment、getExternalStorageDirectory()
B、 open(Stringname,intmode)
C、File
(,
String
name)
D、 Environment、getDataDirectory()
8、Android中Environment、MEDIA_MOUNTED代表SD的(A)状态。
A、手机已插上SD卡,同时应用程序对SD卡具有读写权限、
B、手机已插上SD卡,然而应用程序对SD卡只具有读权限。
C、手机上没有SD卡
D、SD存在然而没有被安装,能够通过USB大容量存储器共享
9、category为( A )的Activity会在Android系统的主屏幕(Home)显示。
。
A、CATEGORY_HOME
B、CATEGORY_PREFERENCE
C、ACTION_MAIN
D、CATEGORY_BROWSABLE
10、activity生命周期中调用的第一个回调函数是( A)、
A、onCreated()
B、onStart()
C、onResume()
D、onRestart()
1、若用DDMS查看,存储在手机SD卡上的文件的路径为( /mnt/sdcard/ )。
2、SharedPreferences所存储的数据是以( “键-值” )的格式保存在xml文件中、
3、当android:
indeterminate取值为( true )时,开启了进度条的“不确定模式”、
4、Android中提供了标准的Java文件输入输出流,分不为(File )InputStream、(、
5、category类不为(CATEGORY_LAUNCHER)的Activity会在Android系统启动的时候最优先启动起来。
1、简述ProgressBar如何与Handler结合在一起使用、
在布局文件写入进度条控件;
在源程序文件中申明Handler对象handler、Progressbar类对象progressbar、int型对象progress表示当前进度,以及两个常量STOP与CONTINUE分不代表停止、接着两种消息;
实例化Handler对象handler,在handleMessage方法,更新进度条UI界面;
重写onCreate()方法,开启了一个子线程,该线程的run()方法中利用handler发送消息、
2、简述Android中如何利用文件存储来读写SD卡上的TXT文件。
改写AndroidManifest、xml文件,为SD卡设置创建与删除文件权限、写入数据的权限:
设置读写模式:
利用Environment、getExternalStorageState()、equals(Environment、MEDIA_MOUNTED)判断SD卡是否正常安装在手机上;
在SD卡安装正常的情况下,利用= new(),)获得该文件对应的File对象;
利用outputStream= new (file, append);
获得该文件的输出流、inputStream=new(file);
获得该文件的输入流;
利用输入流inputstream、输出流outputstream对文件进行标准的java读写、
任务五 音乐播放器的设计与实现
1.ListView如何与数据进行绑定?
最简单的方式,能够在布局文件中为ListView指定一个字符串数组、其次,能够使用Adapter将ListView与数组进行绑定,依照不同的数据源需要使用与其对应的Adapter。
2.ArrayAdapter、SimpleAdatper、SimpleCursorAdapter的作用分不是什么?
如何使用它们?
ArrayAdapter:
可用于与数组进行数据绑定;
SimpleAdapter:
可用于与List集合的多个对象进行数据绑定;
SimpleCursorAdapter:
用于与Cursor提供的数据进行绑定、 具体使用方式参考本任务支撑知识三、四、五小节、
3.MediaPlayer对象的生命周期是如何的?
用new操作符创建一个新的MediaPlayer对象或是对已有对象调用reset()方法之后MediaPlayer对象处于Idle状态、调用setDataSource()方法会使处于Idle状态的对象转变为Initialized状态、在开始播放之前,MediaPlayer对象必须要进入Prepared状态,有同步与异步两种方式能够使MediaPlayer对象进入Prepared状态。
要开始播放,必须调用start()方法。
当此方法成功返回时,MediaPlayer的对象处于Started状态、当调用pause()方法并返回时,会使MediaPlayer对象进入Paused状态。
调用stop()方法会停止播放,同时还会让一个处于Started、Paused、Prepared或Playbackpleted状态的MediaPlayer进入Stopped状态。
具体参考本任务支撑知识第六节。
4.回顾一下定时器所涉及几个类的作用以及这几个类之间的关系(Timer、TimerTask、Handle、Message)。
Timer启动后会周期性的触发TimerTask类的run方法,在run方法中会向UI线程的Handle对象发送Message,从而触发Handle对象的handleMessage方法,在该方法中能够进行UI线程中控件更新等操作。
第二部分 职业能力训练
1、ListView是常用的( C )类型控件、
A、按钮 B、图片C、列表 D、下拉列表
2、ListView与数组或List集合的多个值进行数据绑定时使用(A)。
A、ArrayAdapter B、SimpleAdapter C、SimpleCursorAdapter D、BaseAdapter
3、ListView与List集合的多个对象进行数据绑定时使用( B )。
A、ArrayAdapterB、SimpleAdapterC、SimpleCursorAdapter D、BaseAdapter
4、ListView与Cursor提供的数据进行绑定时使用(C )。
A、ArrayAdapter B、SimpleAdapter C、SimpleCursorAdapter D、Bas