《Android移动开发技术(慕课版)习题集题库及答案.docx》由会员分享,可在线阅读,更多相关《Android移动开发技术(慕课版)习题集题库及答案.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Android移动开发技术(慕课版)习题集题库及答案一、填空题1 .在Android开发环境中,SDK组件的作用是用于( 开发 )Android应用。2 .在Android开发环境中,(Dalvik )组件的作用是虚拟机管理。二、判断题L电子邮件客户端属于Android平台体系结构的应用程序框架层。(F )3 . Android中使用AVD Manager工具进行SDK版本控制。(F )4 . Android只能在Windows环境下开发。(F )三、问答题.写出2种当前比拟流行的移动操作系统并介绍其作用和特点。 略1 .简述Android平台体系结构的层次划分,并说明各个层次的作用。第一层L
2、inux内核,提供有操作系统内核管理的底层基础功能;第二层中间层,由 函数库和Android运行时构成;第三层应用程序框架层,提供了 Android平台的管 理功能和组件重用机制;第四层应用程序层,提供了一系列核心应用程序。习题一、填空题1 . Android工程打包后生成一个(apk )文件。2 .Logcat日志信息按照等级由低到高划分为五个等级,分别是(verbose )、 debug )、( infb )、( warn )、( error )。3 .如果想根据志信息的标签进行口志信息的过滤,需要添加的过滤条件是 tag )o二、问答题1 .简述签名的意义。a)为了保证每个应用程序开发商
3、合法IDb)防止局部开发商可能通过使用相同的Package Name来混淆替换已经安装的程序 c)保证我们每次发布版本的一致性(如自动更新不会因为版本不一致而无法安装)2 .简述Release版本和Debug版本打包生成的文件的区别。debug模式:系统自动生成debug签名;debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的 签名;Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)自从它创立之日起, 1年后就会失效。debug.keystore在不同的机器上所生成的可能都不一样,就意味着如果你换了机 android:1ayout_m
4、arginR i ght=10dp android: 1 ayout_wi dth=/wrap_cont ent android: layout_height=*wrap_contentyr /+id/btn_cancelz android: 1 ayout_al i gnTop=z+ i d/b tn_cance 1 android: layout_width=z,wrap_contentz, android: 1 ayout_he ight=/,wrap_content/习题一、填空题1 . Activity的生命周期包括运行状态、暂停状态、停止状态和(死亡状态)。2 .当处于暂停状态(P
5、aused)的Activity由被莅盖状态回到前台或解锁屏时,系统会调 用(restart )方法,再次进入(onResume )。3 . Intent常用属性主要有(组件)、动作、动作的类别、数据、数据MIME类型以 及附加信息等。4 .启动一个Activity并从新的组件获得返回值所需方法为(onActivityResult()。5 . Intent调用可以分为(显式)和(隐式)两种类型。6 .广播接收端使用(OnReceive )告知系统其可以接收的广播类型。7 .在Intent的Action属性中,用来标识应用程序入口的是(ACTION_MAIN )。8 . Android组件中运行于
6、后台,没有界面交互的是(Service9 .使用 Context 的(startActivity )方法可以启动 Activity。10 .在Android提供的通讯录数据库contact2.db中,用于存储联系人详细信息的表是 (contacts )。二、选择题1.关于Activity生.命周期的onCreate。和onStart()方法说法正确的选项是(D )。A.当第一次启动的时候先后调用onStart()和onCreate()方法B.当第一次启动的时候只会调用onCreate。方法C.如果Activity已经启动,将先后调用onCreate()和onStart()方法D.如果Activ
7、ity已经启动,将只调用onStart()方法2 .下面不是退出Activity方法的是(C )。A. finishf) B. System.exit() C. onStop() D.异常强制退出3 .下面在AndroidManifest.xml文件中设置访问网络权限正确的选项是(A )。A. B. C. D. 4 .对一些资源以及状态的操作保存,最好是保存在生命周期的(A )函数中进行。A. onPause() B. onCreate() C. onResume() D. onStart()5. Android中属于Intent的作用的是(C )。A.实现应用程序间的数据共享Intent是一
8、段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而 不会因为切换页面而消失C.可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D.处理一个应用程序整体性的工作6. ( A )通常就是一个单独的窗口界面。A. Activity B. IntentC. ServiceD. Content Provider7 .关于Service生命周期的onCreate()和onStart(),说法正确的选项是(D )。A.当第一次启动的时候先后调用onStart。和onCreate。方法8 .当第一次启动的时候只会调用onCreate()方法C.如果Service已经启动,将先后调用
9、onCreate()和onStart()方法D.如果Service已经启动,只会执行onStart()方法,不在执行onCreate()方法9 .以下关于ContentProvider,说法错误的选项是(C )。A. Contentprovider的作用是实现数据共享和交换B.要访问Contentprovider,只需调用Contentprovider增、删、改、查的相关方法C. Content Provider 提供的 URI 必须以content: 开头D. Android对于系统里的音视频、图像、通讯录提供了内置的ContentProvider三、简装题描述 Android 中 Cont
10、entProvider 的作用。内容提供者组件通过请求从一个应用程序向其他的应用程序提供数据。这些请求由类 ContentResolver的方法来处理。内容提供者可以使用不同的方式来存储数据。数据可以 被存放在数据库,文件,甚至是网络。有时候需要在应用程序之间共享数据。这时内容提供者变得非常有用。内容提供者可以让内容集中,必要时可以有多个不同的应用程序来访问。内容提供者 的行为和数据库很像。你可以查询,编辑它的内容,使用insert(), updated, delete()和 query()来添加或者删除内容。多数情况下数据被存储在SQLite数据库。四、程序设计设计一个应用,界面中有一个Ed
11、itText控件和一个Button控件,当点击按钮时,能够打 开在EditText中输入的网址。略习题一、填空题1 . SharedPreferences最终的存储形式是( xml )文件。2 .使用SharedPreferences方式操作数据时,首先要通过Context的( getDefaultSharedPreferences() )函数获得 SharedPreferences 类对象。二、选择题1 .下面关于SharedPreferences的表述正确的选项是(D )。A. SharedPreferences pref=new SharedPreferences()B. Editor
12、editor=new Editor()C. SharedPreferences.apply()操作会马上将数据写入磁盘文件D. Editor对象存储数据最后都要调用commit。方法2 .下面关于Android数据存储方式描述错误的选项是(BA. Android 可以采用 SharedPreferences 数据存储B. Android文件存储形式中,用户只能访问外部存储C. Android可以使用数据库存储D. Android可以采用ContentProvider存储数据3 .关于Android中文件操作描述正确的选项是(C )。A. Android应用只能访问本应用程序的文件B. Andr
13、oid应用可以获得图片、音频等公共存储空间中的文件C. Android应用能够读取其他应用程序空间中的文件D. Android应用能够修改其他应用程序空间中的文件三、编程题根据所学的Android文件操作知识,实现一个记事本功能的Appt.略习题一、填空题1 . SQLite数据库中用于获取帮助的命令是(.help2 .在用游标操作SQLite数据表时,获取数据表中记录数的方法是(queryf)。3 .用SQLiteOpenHelper类操作数据库时,数据库表建立语句一,般在(onCreate() 方法中执行。4 . SQLiteOpenHelper类操作数据库时,当数据库版本发生改变时,会自
14、动调用 (onUpdate()方法。二、选择题1 .下面关于SQLite数据库描述正确的选项是(D )。A. SQLite数据库中数据类型是强数据类型B. SQLite数据库操作时,如果插入的数据类型与字段数据类型不一致,那么一定不能插C. SQLite数据库只能应用在Android系统中D. SQLite中能够使用事务操作2 .下面关于SQLite操作描述不正确的选项是(C )。A. SqliteOpenHelper类主要用来创立数据库和更新数据库B. SqliteDatabase类可以用来操作数据库C.在每次调用 SqliteDatabase 类的 getWritableDatabase(
15、)方法时,会执行 SqliteOpenHelper 类的onCreate()方法D.当数据库版本发生变化时,可以自动更新数据库结构三、论述题简要论述在Android工程中,用MVC开发数据库系统的基本操作步骤。视图层(View)对应于xml布局文件和java代码动态view局部。控制层(Controller) MVC中Android的控制层是由Activity来承当的,Activity本来主要 是作为初始化页面,展示数据的操作,但是因为XML视图功能太弱,所以Activity既要负 责视图的显示又要加入控制逻辑,承当的功能过多。模型层(Model)针对业务模型,建立的数据结构和相关的类,它主要
16、负责网络请求, 数据库处理,I/O的操作。习题一、简答题简述android:visibility属性对应的属性值及区别。可见(visible)XML 文件:android:visibility= visible”Java 代码:view.setVisibility(View.VISIBLE);不可见(invisible)XML 文件:android:visibility= invisible”Java 代码:view.setVisibility(View.lNVISIBLE);隐藏(GONE)XML 文件:android:visibility= gone”Java 代码:view.setVis
17、ibility(View.GONE)二、编程题编程实现图12.9所示的效果。当点击第1个按钮时,实现图12.10所示的效果;当点击 第3个按钮时,实现图12.11所示的效果。疆即值 8:17 AM8:17 AM IDomevisibilityTextViewl TextView2图12.9实现效果1DomevisibilityTextViewlidlOg 8:18 AMDomevisibilityTextViewlTex【View2 为 VISIBLETextView2 INVISIBLETexlView2 为 GONE图12.11实现效果3代码如下:Java代码: public class
18、MainActivity extends Activity private TextView txt222 = null;Overrideprotected void onCreate(Bundle savedlnstanceState) super.onCreate(savedlnstanceState);setContentView(R.layout.main);txt222 = (TextView)findViewByld(R.id.txt2222);findViewByld(R.id.btnl).setOnClickListener(listener);findViewByld(R.i
19、d.btn2).setOnClickListener(listener);findViewByld(R.id.btn3).setOnClickListener(listener);)View.OnClickListener listener = new View.OnClickListener() (Overridepublic void onClick(View v) switch (v.getld() case R.id.btnl:txt222.setVisibility(View.VISIBLE);break;case R.id.btn2:txt222.setVisibility(Vie
20、w.lNVISIBLE);break;case R.id.btn3:txt222.setVisibility(View.GONE);break;);)Xml代码:器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题,相当于软件 不具备升级功能通过在Android studio上运行直接在模拟机或手机上启动程序,只是调试程序而 已;release模式:用自己生成的key文件来签名;release通常被称为发布版本。3 .简述APK文件反编译得到的几个文件的作用。AndroidManifest全局配置文件;Classes.dexjava核心代码文件;Resource记录了资源文件的位置
21、和id之间的映射关系;Res文件夹资源文件;META-INF文件夹 用于保证apk文件的完整性和平安性;Mf包含所有文件的文件名的编码值,保证apk的完整性;Rsa非对称加密,被称为公钥加密标准;算法自己看;公钥加密;Sf同manifest的结构,私钥加密;习题一、选择题通过特定的接口类进行事件处理的是(C )。A.事件B.事件源C.事件监听器D.事件处理器二、填空题Android的事件处理模型常用的有(基于监听接口)和(基于回调接口三、问答题.简述基于监听接口的事件处理模型的编程步骤。1)获取普通界面组件;2)实现事件监听类,该监听类是一个特殊的java类,必须实现一个XXXListener
22、接口;3)调用事件源的setXXXListener方法注册事件监听器.简述Android中点击事件、长按事件、键盘事件、触摸事件、焦点改变事件、选择改变 事件对应的事件监听接口。单击事件:onCIickListener;长按事件:onLongClickListener;键盘事件:onKeyListener;触摸事件:onTouchListener;焦点改变事件:onFocusChangeListener;选择改变事件:onCheckedChangeListener.哪些监听方法的返回值为布尔值?其意义有何不同?布尔值用来表示您是否已经处理完事件,以及是否应该将他继续传下去。也就是说,返 回tr
23、ue表示已经处理事件并且事件应该就此停止;如果返回值为false表示您尚未处理事件 或者事件应该继续传递给其他任何点击监听器。四、编程题写一个输入框,当对输入框进行触摸操作时可以获取触控行为的抬起、滑动、按下的状态, 以及触摸操作的位置坐标。页面代码如下:其中,在输入框中显示当前坐标,在文本框中显示当前的鼠标状态值。public class OnTouchActivity extends Activity EditText et_touch:TextView tv_action:Overrideprotected void onCreate(Bundle savedlnstanceState)
24、 super.onCreate(savedlnstanceState);setContentView(R. layout, ontouch_layout);et_touch = (EditText) findViewById(R. id. et_touch);tv_action = (TextView)findViewById(R. id. tv_action);et_touch. setOnTouchListener(new View. OnTouchListenerO (Overridepublic boolean onTouch(View v, MotionEvent event)(in
25、t i Act ion = event. getActionO ;switch (iAction)case MotionEvent. ACTION_DOWNLog.i(tag按下);break;case MotionEvent. ACTION_MOVEbreak;case Mot ionEvent. ACTION_UP)double x = event. getXO ;double y = event. getY();et_touch. setText (点的坐标为:(+x+, +y+);tv_action.setText(*action=*+iAction);return true;);习题
26、一、填空题1 .设置Toast消息居中显示的方法是(setGravity (Gravity.CENTER)。2 .创立Notification对象需要使用的是( NotificationManagcr ),发送通知栏信 息使用的方法是( notify (),取消发送通知栏信息的方法是( cancel ()。3 .创立一个AlertDialog对话框需要使用的对象类是( AleitDialog.Builder )。二、简答题1 .简述Toast消息提示框的特点。一种快速的即时消息。消息内容简短。悬浮于应用程序的最上方不获得焦点用于提示任务是否完成的消息提示机制2 .简述Notification通
27、知栏的适用情况。某些信息不需要用户马上处理,可以利用通知。即延迟消息,比方软件的更新、短信、 新闻之类的。3 .简述一个对话框包含的内容。图标、标题、内容、选择按钮三、编程题编写Android程序,模拟实现用户注册功能。如果用户名是张三,密码是123点击登 录”按钮,触发点击事件,使用Toast提示“登录成功”,否那么提示“登录失败二效果如图 5.8所示。张三99.图5.8显示效果activity_main.xml 彳弋码如卜。(1 )请补全代码EditTextandroid: layout_wi(2 )请补全代码/LinearLayoutMainActivity 代码如下。public cl
28、ass MainActivity extends AppCompatActivity /声明(3 )请补全代码Overrideprotected void onCreate(Bundle savedinstanceState) super.onCreate(savedlnstanceState);(4 )请补全代码代码如下:(1) (2分) (2 分)(2) private EditText et_name,et_pass; (0.5 分)private Button btn_login; (0.5 分)(4) setContentView(R.layout.activity_main); (
29、1 分)初始化et_name=(EditText) findViewById(R.id.login_username); (0.5,)et_pass=(EditText) findViewById(R.id.login_password); (0.5 分)btn_login=(Button) findVicwById(R.id.login); (1 分)创立适配器btn_login.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View v) (1 分)String name二 et_name
30、.getText().toString();String pass=et_pass.getText().toString(); (2 分)if(张三.equals(name)&123”.equals(pass)Toast.makeText(MainActivity.this,登录成功”,Toast.LENGTH_SHORT).show(); (2 分)else Toasl.makeTexl(MainAclivity.lhis,登录失败,Toast.LENGTH_SHORT).show(); (2 分);习题一、填空题.图片资源的存放路径(res/drawable )、字符串资源的存放路径(re
31、s/scrings )、 颜色资源的存放路径(res/colors )、尺寸资源的存放路径(res/dimens1 .资源文件一般存放在(xml )格式的文件中。2 .引用一个自定义的颜色资源,通过什么属性进行引用(name )。3 .常用的数组资源中包含的子元素有(array )、( integer-array )(string-array)二、简答题简述资源文件的引用方式。自定义资源文件:pachagetype/name系统资源文件:android:type/nameR.java文件访问资源文件:三、编程题使用StateListDrawable资源编写一个资源文件,要求输入框在获得焦点和失
32、去焦点时输 入框中的字体分别呈现不同的颜色状态。3cml version=L 0 encoding=utf-8”少!失去焦点时的颜色一)习题一、选择题如果将一个TextView的android:layout_height属性值设置为wrap_content,那么该组件 的展示效果为(D )。A.该文本域的宽度将填充就容器的宽度B.该文本域的宽度仅占该控件的实际宽度C.该文本域的高度将填充仪容器的宽度D.该文本域的高度仅占该控件的实际高度二、简答题简述TextView组件和EditText组件的区别。TextView是一种用于显示字符串的控件EditText那么是用来输入和编辑字符串的控件Edi
33、tText是一个具有编辑功能的TextView三、编程题编写Android程序,利用ArrayAdapter数组适配器实现图7.15的效果(注意:列表项布 局使用 android.R.layout.simple_list_item_l)o 7:00itemitem2item3item4图7.15利用ArrayAdapter数组适配器实现的效果activity_main.xml 代码如下。(1)请补全代码MainActivity 代码如下。public class MainActivity extends AppCompatActivity 声明(2 )请补全代码0Overrideprotect
34、ed void onCreate(Bundle savedlnstanceState)( super.onCreate(savedlnstanceState);(3 )请补全代码)代码如下:(1)(2)ListView listView;ArrayAdapter arrayAdapter;(3)setContentVicw(R. layout. activity_main);listView = (ListView)findViewById(R. id. listView);String arr_data = iteml”,item3, item4;arrayAdapter=newArrayA
35、dapter(MainActivity. this, android. R. layout, simple 1 ist itern 1, ar r_data);1istView. setAdapter(arrayAdapter);习题一、填空题1 .通过( TableRow )标签划分TableLayout中的行。2 .通常使用( layout_height )和(layout_weight )常量来设置宽度或 高度。3 .布局中的所有元素均使用( View )和(View Group )对象的层次 结构进行构建。二、简答题简述Android开发过程中常用的五种布局的特点。线性布局(Linea
36、rLayout),实现垂直或水平布局;相对布局(RelativeLayoul),根据控件之间的相对位置进行布局;表格布局(TableLayout),将整个页面划分为行列表格进行布局;帧布局(FranioLayout)控件只能放在页面的左上角,新添加的控件会覆盖已存在的 控件;绝对布局(AbsoluteLayout),控件的位置根据x, y坐标进行设定。三、编程题使用RelativeLayout实现图8.16所示的布局。图8.16要求实现的布局代码如下:/ml version=1. 0 encoding=utf-8”力 +i d/1 v_name ”android: text=用户名android: 1 ayout_wi dth=*wrap_cont entandro i d: 1 ayou t_he i gh t=r wrap_con t ent * /Buttonandroid: id=/z+id/btn_cancel*android:text=cacel”android: