Android应用开发基础习题.doc_第1页
Android应用开发基础习题.doc_第2页
Android应用开发基础习题.doc_第3页
Android应用开发基础习题.doc_第4页
Android应用开发基础习题.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-任务一Android 开发环境的搭建第一部分知识回顾与思考1 Android 的四层架构分别包括哪几层?分别起到什么作用?答: Linux 内核层( Linux Kernel ):基于Linux 内核,内核为上层系统提供了系统服务。系统库层( Libraries ):系统库基于C/C+ 语言实现,通过接口向应用程序框架层提供编程接口。应用框架层 ( Application Framework ):为开发者提供了一系列的Java API,包括图形用户界面组件View 、 SQLite 数据库相关的API 、 Service 组件等。应用程序层( Applications ):包含了Android 平台中各式各样的应用程序。第二部分职业能力训练一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)1 Android 四层架构中,应用框架层使用的是什么语法?(C)A CB C+C JavaD Android2 Android 四层架构中,系统库层使用的是什么语法?(B)A VBB C /C+C JavaD Android3应用程序员编写的Android 应用程序,主要是调用(B)提供的接口进行实现。A 应用程序层B应用框架层C应用视图层D系统库层二、填空题(请在括号内填空)1在 Android 智能终端中,有很多应用如拍照软件、联系人管理软件,它们都属于Android 的(应用程序)层。2为了让程序员更加方便的运行调试程序,Android 提供了(模拟器),可以方便的将程序运行其上,而不要实际的移动终端。3为了支持Java 程序运行,我们需要安装(JDK )。三、简答题1简述 Android 开发环境安装的步骤。答:下载并安装JDK ,配置 JDK 的环境变量;从 Anroid 官网上下载Android 开发组件(包含Eclipse 和 Android SDK 、 ADT );安装 Android 开发环境(包括配置Android SDK 的环境变量、 打开 Eclipse 通过菜单设定Android SDK路径)。2简述 Android 应用程序创建和运行的步骤。-1答:通过菜单创建Android 应用程序,设置应用程序名、Android 版本等基本信息。点击菜单中的运行按钮可以直接运行Android 项目(也可以通过菜单配置运行参数,指定运行的模拟器) 。2任务二星座查询工具的设计与实现第一部分知识回顾与思考1 Android 的属性、方法、监听器如何使用,它们分别起了什么作用?答 :Android 控件的属性,可以通过 xml 文件设定,通过设定控件的属性能够静态的改变控件的样式和一些特性;控件的方法,可以通过编写代码动态调用方法,在程序中调用方法可以动态的修改控件的样式、也可以获得控件的相关信息;控件的监听器,可以通过编码为控件创建、设定监听器,监听器可以监听控件发生的事件,一旦发生某个监听的事件可以触发相应的处理代码。2回顾一下Android 工程中重要的目录和文件,它们的作用是什么?答:src 目录:该目录中存放的是我们需要编辑的Java 源代码;gen 目录:目录中存放所有由 Android 开发工具自动生成的文件,它包含了界面、图标、常量等各种资源的 id;bin 目录:目录中的内容是程序运行后自动生成的,不需要我们编辑,里面包含自动生成的可执行文件(如 HelloAndroid.apk );res 目录:该目录中放置程序的重要资源,包括图片、布局、字符串等资源;AndroidManifest.xml文件:该文件非常重要,列出了应用程序许多基本信息(如版本、应用程序名称、启动图标等),其中还包括了程序使用到的各种服务(如电话服务、互联网服务、短信服务、GPS服务等),该文件甚至包括了程序中所使用到的各个Activity信息。第二部分职业能力训练一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)1以下哪个控件用来显示图片?( A )A ImageViewB TextViewC EditTextD Button2如果要实现用户单击后触发一定的处理,以下哪个控件最合适?(D)A ImageViewB TextViewC EditTextD Button3如果我们需要捕捉某个控件的事件,我们需要为该控件创建(C)。A 属性B方法C监听器D工程4以下的哪个属性是用来表示引用图片的资源ID ?(D)3A textB imgC idD src5以下的哪个属性是用来控制虚拟键盘输入类型?(B)A keyboardB inputTypeC textD src6 Android工程启动是最先加载的是AndroidManifest.xml ,如果有多个Activity ,以下哪个属性决定了该 Activity最先被加载?(A)A ent.action.MAINB ent.action.LAUNCHERC ent.action.ACTIVITYD ent.action.ICON7如果我们需要导入一张图片资源,我们需要将图片放在哪个工程目录中(A )。A resdrawableB resstringC respictureD resicon8如果我们需要创建一个字符串资源,我们需要将字符串放在resvalues 的哪个文件中?(B)A value.xmlB strings.xmlC dimens.xmlD styles.xml9以下哪个布局最不适合在多种移动终端上使用?(C)A 相对布局B线性布局C绝对布局D表格布局10相对布局中,如果指定一个控件位于引用控件的左侧,应该使用(D)属性。A android:layout_toParentLeftOfB android:layout_alignParentLeftC android:layout_alignLeftD android:layout_toLeftOf二、填空题(请在括号内填空)1在 Android 控件使用过程中, 经常需要根据控件的ID 获取控件的对象, 我们可以使用 ( findViewById)方法。2导入图片时,需要特别注意图片的名称不可以包含(大写字母、特殊符号)。3在创建控件的时候,可以在布局文件的界面视图中拖拉控件,但本质上还是编辑的(XML)文件。4表格布局可以包含多行,(TableRow )代表是一行。5如果创建了一个字符串资源为hello,那么它的ID 应该是(R.String.hello)。三、简答题1简述五种布局的特点和运用场合。框架布局:所有控件排列在左上角,用于制作特别的控件,初学者使用较少;线性布局:控件可以按照水平或者垂直方向进行排列,控件排列方式简单;绝对布局:可以指定控件摆放的位置,虽然摆放控件很容易,但是不适合多种分辨率和尺寸的屏幕,需要慎用;相对布局:能够设定控件之间的相对关系、控件与父容器的相对关系,控件排列方式比较灵活,是常用4的布局之一;表格布局:通过配合使用TableRow 可以将控件以表格形式排列。2简述本节课程所学控件的特点和作用。TextView :最基础的控件,用做显示文本信息;Button 控件:通过监听器单击事件,可以实现用户点击按钮后触发相应动作;ImageView 控件:用于显示图片的控件,可以通过src 属性指定显示的图片,可以通过调用方法来动态设定图片;EditText 控件:输入文本控件,主要用于让用户输入信息,inputtype 属性可以指定输入文本时的键盘特征;DatePicker 控件和 TimePicker 控件:日期和时间控件,可以显示日期和时间,也可以让用户进行日期和时间的选择。5任务三计算器的设计与实现第一部分知识回顾与思考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 创建完毕后,需要显示出来此时需要调用以下哪个方法?(B)A makeTextB showCcreateD view2以下哪个类对应Android 中的提示对话框?(A)A AlertDialogB DialogCShowDialogD Alert3对话框中有几个默认Button ,(A)代表是确定按钮。6A PositiveButtonBNegativeButtonC NeutralButtonD OKButton4 Android中有一个服务用来管理通知,它是(B)。A ServiceB NotificationManagerC NoticeD DialogBuilder5我们单击模拟器上的菜单键所产生的菜单,称为(D)。A ContextMenuB KeyMenuC PopupMenuD OptionMenu6以下的哪个方法会在菜单创建时被调用?(A)A onCreateOptionsMenuB onCreateMenuC onCreateContextMenuD onCreate7以下的哪个方法会在菜单项被单击时被调用?(C)A onContextItemSelectedB onCreateOptionsMenuC onOptionsItemSelectedD onItemSelected8以下哪个类用于构造数组类型数据的适配器?(D)A AdapterB CursorAdapterCSimpleAdapterD ArrayAdapter9 Spinner 控件的子项被选中所对应的监听器为(A)。A setOnItemSelectedListenerB OnClickListenerCOnLongClickListenerD setOnItemListener10以下哪个日志级别最高?(D)A WARNBINFOC DEBUGD ERROR二、填空题(请在括号内填空)1创建 Toast 使用 makeText 方法的第一个参数代表Activity的(对象)。2用户单击移动终端的(Menu)按钮,会触发创建Option Menu 。3Spinner 的父类是( AdapterView),如何希望将数据显示到这样的控件上,一般都需要使用 ( Adapter )进行数据与控件的绑定。4调试是为了让程序执行到某行代码时停顿,我们需要在这一行设置(端点)。5在 Eclipse 中有一个窗口用于管理日志,该窗口是(LogCat)。三、简答题1如果程序在运行时就发生了崩溃,你会如何进行推测和调试?答:程序运行发生崩溃时,我们应按如下的步骤去推测问题所在和调试程序:( 1)推理 Bug 出现时所发生的动作( 2)该动作所对应的程序代码( 3)在该行代码处设置断点( 4)启动程序调试,重复刚才的操作( 5)程序运行至断点时停止,然后单步执行程序7( 6)单步执行时注意所涉及变量值的变化( 7)发现变量值异常或处理错误( 8)修改代码再次运行2简述两种OptionMenu 创建方法的相同点和不同点。答: 不同点:第一种方法完全通过代码的方式来创建菜单,即通过重写Activity类的 onCreateOptionsMenu方法来创建菜单; 而第二种方法则是通过定义布局文件的方式来创建菜单,即通过定义resmenumain.xml菜单布局文件来创建菜单。相比较来说,第二种方法非常好地实现了逻辑代码和表现样式的分离,特别是在需要修改菜单样式时,第二种方法能够更少地修改代码而专注于XML布局文件,是目前更为推崇的架构方式。相同点:对于两种方法创建的菜单,响应其事件的方法是一样的,即都是通过重写Activity类的onOptionsItemSelected 方法来实现其事件响应的。8任务四“我的日记”的设计与实现第一部分知识回顾与思考1. Android 中的生命周期中有哪几种状态?答:活动状态、暂停状态、停止状态、销毁状态。2 Intent 有哪些重要属性,Activity之间是如何进行信息的传递的?答:属性: Component (组件)、 Action (动作)、 Data(数据)、 Category(分类)、 Type(类型)、 Extra (扩展信息)。在 Android 中是通过intent 中的属性进行信息的传递的。第二部分职业能力训练一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)1以下哪个控件可以用来显示进度?(B)A EditTextB ProgressBarC TextViewD Button2以下哪个方法可以用来获得进度条的当前进度值?(A)A public synchronized int getProgress()B public synchronized void setIndeterminate (boolean indeterminate)C public synchronized void setProgress(int progress)D Public final synchronized void incrementProgressBy(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_VIEW content:/contacts/people/1B ACTION_DIAL content:/contacts/people/19C ACITON_EDIT content:/contacts/people/1D ACTION_CALL content:/contacts/people/17在文件存储中,若要获得SD 卡的存储路径,需要调用(A)。A Environment.getExternalStorageDirectory()B openFileOutput(String name,int mode)C File (File dir, 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_HOMEB CATEGORY_PREFERENCEC ACTION_MAIND CATEGORY_BROWSABLE10 activity 生命周期中调用的第一个回调函数是(A)。A onCreated()B onStart()C onResume()D onRestart()二、填空题(请在括号内填空)1若用 DDMS 查看,存储在手机 SD 卡上的文件的路径为(/mnt/sdcard/)。2 SharedPreferences所存储的数据是以(“键 -值”)的格式保存在 xml文件中。3当 android: indeterminate 取值为(true)时,开启了进度条的“不确定模式”。4Android 中提供了标准的Java 文件输入输出流,分别为(File )InputStream、( File )OutputStream 。5 category 类别为( CATEGORY_LAUNCHER)的 Activity会在 Android 系统启动的时候最优先启动起来。三、简答题101简述 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 卡安装正常的情况下, 利用 File file = new File(Environment.getExternalStorageDirectory(), filename)获得该文件对应的File 对象;利用outputStream = new FileOutputStream(file,append);获得该文件的输出流、inputStream = newFileInputStream(file); 获得该文件的输入流;利用输入流inputstream、输出流outputstream 对文件进行标准的java 读写。11任务五音乐播放器的设计与实现第一部分知识回顾与思考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 或 PlaybackCompleted 状态的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 ArrayAdapterB SimpleAdapterC SimpleCursorAdapterD BaseAdapter3 ListView与 List 集合的多个对象进行数据绑定时使用(B)。12A ArrayAdapterB SimpleAdapterC SimpleCursorAdapterD BaseAdapter4 ListView 与 Cursor 提供的数据进行绑定时使用(C)。A ArrayAdapterB SimpleAdapterC SimpleCursorAdapterD BaseAdapter5 Android 中 MediaPlayer 无法播放( D)。A 程序资源文件B网络上的文件C SD 卡上的文件D 其他程序资源文件6以下表示系统自定义的只显示一行文字的布局文件是(B)。A android.R.layout.simple_list_item_0B android.R.layout.simple_list_item_1C android.layout.simple_list_item_0D android.layout.simple_list_item_17 MediaPlayer 对象执行(D)之后处于Idle 状态。A start()B stop()C pause()D reset()8下列说法错误的是(D)。A prepare()是同步加载B prepare()方法返回时已加载完毕C prepareAsync() 是异步加载D prepareAsync()方法返回时已加载完毕9如果希望启动定时器后5s 执行第一次执行定时器任务,然后每隔3s 执行定时器任务,schedule 方法的后两个参数需要设定为(D)。A 5,2B 5, 3C 5000, 2000D 5000, 3000二、填空题(请在括号内填空)1创建 ListView 有两种方式包括直接使用ListView 控件和(让 Acitivity继承 ListActivity)。2 ListView继承自(AdapterView)。3 Adapter 配置好以后,需要用(setAdapter)函数将ListView 和 Adapter 绑定。为 MediaPlayer 指定加载的音频文件时可以使用MediaPlayer 提供的静态方法 ( create() )和非静态方法(setDataSource() )。4调用 prepareAsync()方法会使MediaPlayer 对象进入(preparing )状态并返回。5如果定时器子线程试图更新TextView 的文本显示,将会(抛出异常)。三、简答题1简述构造SimpleCursorAdapter 时各个参数的作用。答:参数table:数据库中表格的名称;参数columns:需要查询的列名的数组;参数selection:数据库查询条件,相当于SQL 语句中 where 后面的条件;参数selectionArgs : selection 语句中可以使用“?”来指定数值,数据库where 条件后面经常会带?号,这个参数就是?号的替代者;参数groupBy :查询数据时分组的规则;参数having :聚合操作;参数orderBy :查询数据时排序的规则。132简述 MediaPlayer 对象的 prepareAsync() 方法和 prepare()方法的区别及其各自使用场景。答: prepareAsync() 方法和 prepare()方法分别是异步加载和同步加载,prepareAsync() 方法执行完毕后MediaPlayer 进入 preparing 状态,而prepare()方法执行完毕后MediaPlayer 进入 prepared 状态。prepareAsync() 方法一般用于加载网络音频文件等耗时的场景,而加载本地音频的时候一般使用prepare()就可以了。1415任务六贪吃蛇游戏的设计与实现第一部分知识回顾与思考1回顾一下操作SQLite 数据库的几个类的作用和之间的关系(SQLiteOpenHelper 、 SQLiteDatabase、Cursor )。答: SQLiteOpenHelper 类:需要进行数据操作,需要创建一个类继承自该类,通过该类实现数据库的创建和升级;SQLiteDatabase 类:通过 SQLiteOpenHelper 类可以获得SQLiteDatabase 对象,通过该对象可以进行数据库的增加、删除、修改、查询;Cursor 类:查询数据库后返回Cursor 对象,通过操作该对象可以对返回的数据集从行的移动,并且获取当前行指定列的数据。2回顾一下自定义控件的方法和监听器的作用。答:自定义控件的共有方法:通过编写自定义控件的方法,可以返回当前控件的状态,也可以设定控件的参数,本质上是控件外影响控件内部的途径;自定义控件的监听器:通过提供监听器,可以让控件外部监视控件内部发生的事件,通过方法的回调触发控件外部的处理,本质上是控件内部通知控件外部的途径。第二部分职业能力训练一、单项选择题(下列答案中有一项是正确的,将正确答案填入括号内)1 Android中有许多控件,这些控件无一例外的都继承自(D)类。A ControlB WindowC TextViewD View2 Android中有许多布局,它们均是用来容纳子控件和子布局的,这些布局均继承自(B)。A LayoutB ViewGroupC ContainerD LinerLayout3自定义控件时需要重写View 类的很多方法,以下哪个方法是与焦点相关?(B)A onTouchEvent BonFocusChangedC onAttachedToWindowD onDraw4以下哪个方法是在控件尺寸发生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论