《2022年Android移动开发技术(慕课版)习题集题库及答案.docx》由会员分享,可在线阅读,更多相关《2022年Android移动开发技术(慕课版)习题集题库及答案.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Android移动开发技术(慕课版)习题集题库及答案一、填空题1 .在Android开发环境中,SDK组件的作用是用于(开发)Android应 用。2 .在Android开发环境中,(Dalvik)组件的作用是虚拟机治理。二、推断题电子邮件客户端属于Android平台体系结构的应用程序框架层。(F)1. Android中使用AVD Manager工具进行SDK版本操纵。(F)Android只能在Windows环境下开发。(F)三、问答题写出2种当前比较流行的移动操作系统并介绍其作用和特点。略简述Android平台体系结构的层次划分,并说明各个层次的作用。第一层Linux内核,提供有操作系统内核
2、治理的底层根底功能;第二层中 间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了 Android平台的治理功能和组件重用机制;第四层应用程序层,提供了一系列 核心应用程序。习题一、填空题1. Android工程打包后生成一个(apk )文件。2. Logcat日志信息按照等级由低到高划分为五个等级,分别是(verbose)、 debug) ( info、 ( warn) ( error )。3. 如果想依据日志信息的标签进行日志信息的过滤,需要添加的过滤条 件是(tag )0二、问答题习题一、选择题如果将一个TextView的android: layout_height属性
3、值设置为 wrap_content,那么该组件的展示效果为(D。A.该文本域的宽度将填充父容器的宽度B.该文本域的宽度仅占该控件的实际宽度C.该文本域的高度将填充父容器的宽度D.该文本域的高度仅占该控件的实际高度二、简答题简述TextView组件和EditText组件的区别。TextView是一种用于显示字符串的控件EditText那么是用来输入和编辑字符串的控件EditText是一个具有编辑功能的TextView三、编程题编写Android程序,利用ArrayAdapter数组适配器完成图7. 15的效果注意:列表项布局使用 android. R. layout, simpleist_ite
4、m_l)。图7. 15利用ArrayAdapter数组适配器完成的效果 activity_main. xml 代码如下。:/schemas, androidMainActivity 代码如下。public class MainActivity extends AppCompatActivity (声明2请补全代码Overrideprotected void onCreate (Bundle savedlnstanceState) ( super.onCreate(savedlnstanceState);3请补全代码)代码如下:1)ListView listView;ArrayAdapter a
5、rrayAdapter;setContentView(R. layout. activity_main);listView = (ListView)findViewById(R. id. listView);Stringarr_data = (iteml,item2,item3,item4);arrayAdapter=newArrayAdapter(MainActivity. this, android. R. layout. simple_list_item_l, arr_data);listView. setAdapter(arrayAdapter);习题一、填空题.通过(TableRow
6、)标签划分Tabi eLayout中的行。1 .通常使用layout_height)和( layout_weight )常量来设置宽度 或高度。2 .布局中的全部元素均使用(View)和(View Group )对象的层次结 构进行构建。二、简答题简述Android开发过程中常用的五种布局的特点。线性布局(LinearLayout),完成垂直或水平布局;相对布局(RelativeLayout),依据控件之间的相对位置进行布局;表格布局(TabieLayout),将整个页面划分为行列表格进行布局;帧布局(FrameLayout)控件只能放在页面的左上角,新添加的控件会覆盖已存在的控件;绝对布局(
7、AbsoluteLayout),控件的位置依据x, y坐标进行设定。三、编程题使用RelativeLayout完成图8. 16所示的布局。图8. 16要求完成的布局代码如下:xml version=1.0 encoding=utf-8习题一、填空题1 . Activity的生命周期包含运行状态、暂停状态、停止状态和死亡状 态2 .当处于暂停状态(Paused)的Activity由被覆盖状态回到前台或解锁 屏时,系统会调用restart)方法,再次进入onResume )。3 . Intent常用属性主要有(组件)、动作、动作的类别、数据、数据MIME 类型以及附加信息等。4 .启动一个Acti
8、vity并从新的组件获得返回值所需方法为 onActivityResult)。5 . Intent调用可以分为(显式)和1隐式)两种类型。6 .播送接收端使用(OnReceive)告知系统其可以接收的播送类型。7 .在Intent的Action属性中,用来标识应用程序入口的是CACTION_MAIN)。8 . Android组件中运行于后台,没有界面交互的是Service)。9 .使用 Context 的(startActivity)方法可以启动 Activity。10 .在Android提供的数据库contact2. db中,用于存储详细信息的表是 contacts)。二、选择题11 关于A
9、ctivity生命周期的onCreate和onStart方法说法正确的选项 是(D )。A.当第一次启动的时候先后调用onStart和onCreate方法B.当第一次启动的时候只会调用onCreate方法C.如果Activity已经启动,将先后调用onCreate和onStart方法D.如果Activity已经启动,将只调用onStart方法12 下面不是退出Activity方法的是(C)。A. finish B. System, exit C. onStop D.异常强制退出13 下面在AndroidManifest. xml文件中设置访问网络权限正确的选项是 A。A. usespermis
10、sion android:name=/android. permission. INTERNET”usespermission name=/android. permission. INTERNET”B. uses-permission android: id=z,android. permission. INTERNET”14 对一些资源以及状态的操作保存,最好是保存在生命周期的A)函数 中进行。A. onPause B. onCreate C. onResume D. onStartAndroid中属于Intent的作用的是C)。A.完成应用程序间的数据共享Intent是一段长的生命周期,
11、没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消逝C.可以完成界面间的切换,可以包含动作和动作数据,连接四大组件的 纽带D.处理一个应用程序整体性的工作6 .A通常就是一个单独的窗口界面。A. Activity B. Intent C. Service D. Content Provider7 .关于Service生命周期的onCreate和onStart,说法正确的选项是 。A.当第一次启动的时候先后调用onStart和onCreate方法8 .当第一次启动的时候只会调用onCreate方法C.如果Service已经启动,将先后调用onCreate和onStart方法D.如
12、果Service已经启动,只会执行onStart方法,不在执行onCreate 方法9 .以下关于ContentProvider,说法错误的选项是C)。A. ContentProvider的作用是完成数据共享和交换B.要访问 ContentProvider,只需调用 ContentProvider 增、册!J、改、查 的相关方法C. Content Provider 提供的 URI 必须以content :开头D. Android对于系统里的音视频、图像、提供了内置的ContentProvider 三、简装题描述 Android 中 ContentProvider 的作用。内容提供者组件通过请
13、求从一个应用程序向其他的应用程序提供数据。这 些请求由类ContentResolver的方法来处理。内容提供者可以使用不同的方 法来存储数据。数据可以被存放在数据库,文件,甚至是网络。有时候需要在应用程序之间共享数据。这时内容提供者变得非常有用。内容提供者可以让内容集中,必要时可以有多个不同的应用程序来访问。 内容提供者的行为和数据库很像。你可以查询,编辑它的内容,使用insert, update, delete和query来添加或者删除内容。多数情况下数据被存储在 SQLite数据库。四、程序设计设计一个应用,界面中有一个EditText控件和一个Button控件,当点击 按钮时,能够翻开在
14、EditText中输入的Xo略习题一、填空题1 . SharedPreferences最终的存储形式是(xml)文件。2 .使用SharedPreferences方法操作数据时,首先要通过Context的 getDefaultSharedPreferences )函数获得 SharedPreferences 类对象。二、选择题1 .下面关于SharedPreferences的表述正确的选项是)。A. SharedPreferences pref=new SharedPreferencesB. Editor editor=new EditorC. SharedPreferences. apply
15、操作会马上将数据写入磁盘文件D. Editor对象存储数据最后都要调用commit方法2 .下面关于Android数据存储方法描述错误的选项是(B)。A. Android 可以采纳 SharedPreferences 数据存储B. Android文件存储形式中,用户只能访问外部存储C. Android可以使用数据库存储D. Android可以采纳ContentProvider存储数据3 .关于Android中文件操作描述正确的选项是(C)。A. Andro id应用只能访问本应用程序的文件B. Android应用可以获得图片、音频等公共存储空间中的文件C. Android应用能够读取其他应用程
16、序空间中的文件D. Android应用能够修改其他应用程序空间中的文件三、编程题依据所学的Android文件操作知识,完成一个记事本功能的App。略习题一、填空题1 . SQLite数据库中用于猎取援助的命令是.help )。2 .在用游标操作SQLite数据表时,猎取数据表中记录数的方法是(query)。3 .用SQLiteOpenHelper类操作数据库时,数据库表建立语句一般在 (onCreate)方法中执行。4 . SQLiteOpenHelper类操作数据库时,当数据库版本发生改变时,会自 动调用(onUpdate )方法。二、选择题1 .下面关于SQLite数据库描述正确的选项是
17、)。A. SQLite数据库中数据类型是强数据类型B. SQLite数据库操作时,如果插入的数据类型与字段数据类型不一致, 那么肯定不能插入C. SQLite数据库只能应用在Android系统中D. SQLite中能够使用事务操作2 .下面关于SQLite操作描述不正确的选项是(C)。A. SqliteOpenHelper类主要用来创立数据库和更新数据库B. SqliteDatabase类可以用来操作数据库C.在每次调用SqliteDatabase类的getWri tabi eDatabase方法时,会执 行 SqliteOpenHelper 类的 onCreate 方法D.当数据库版本发生变
18、化时,可以自动更新数据库结构三、论述题简要论述在Android工程中,用MVC开发数据库系统的根本操作步骤。视图层(View)对应于xml布局文件和java代码动态view局部。操纵层(Controller) MVC中Android的操纵层是由Activity来承担的, Activity本来主要是作为初始化页面,展示数据的操作,但是因为XML视图 功能太弱,所以Activity既要负责视图的显示又要参加操纵逻辑,承担的功 能过多。模型层(Model)针对业务模型,建立的数据结构和相关的类,它主要负责 网络请求,数据库处理,I/O的操作。习题一、简答题简述android:visibility属性
19、对应的属性值及区别。可见visible)XML 文件:android: visibility= visible”Java 代码:view, setvisibility (View. VISIBLE);不可见invisible)XML 文件:android:visibility= invisibleJava 代码:view, setvisibility (View. INVISIBLE);隐藏(GONE)XML 文件:android: visibility= goneJava 代码:view, setvisibility (View. GONE)二、编程题1 .简述签名的意义。a)为了保证每个应
20、用程序开发商合法IDb)预防局部开发商可能通过使用相同的Package Name来混淆替换已经 安装的程序c)保证我们每次公布版本的一致性(如自动更新不会因为版本不一致而 无法安装)2 .简述Release版本和Debug版本打包生成的文件的区别。debug模式:系统自动生成debug签名;debug签名的应用程序不能在Android Market上架销售,它会强制你使 用自己的签名;Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译) 自从它创立之日起,1年后就会失效。debug, keystore在不同的机器上所生成的可能都不一样,就意味着如果 你换了机器进行apk版本
21、升级,那么将会出现上面那种程序不能覆盖安装的 问题,相当于软件不具备升级功能通过在Android studio上运行直接在模拟机或上启动程序,只是调试程序而已;release模式:用自己生成的key文件来签名;release通常被称为公布版本。3.简述APK文件反编译得到的几个文件的作用。AndroidManifest全局配置文件;Classes, dex java核心代码文件;Resource记录了资源文件的位置和id之间的映射关系;Res文件夹资源文件;META-INF文件夹用于保证apk文件的完整性和平安性;Mf包含全部文件的文件名的编码值,保证apk的完整性;编程完成图12. 9所示的
22、效果。当点击第1个按钮时,完成图12.10所示 的效果;当点击第3个按钮时,完成图12. 11所示的效果。图12. 9完成效果1图12. 10完成效果2图12. 11完成效果3代码如下:Java代码:public class MainActivity extends Activity (private TextView txt222 = null;Overrideprotected void onCreate (Bundle savedinstanceState) (super. onCreate (savedlnstanceState);setContentView(R. layout, m
23、ain);txt222 = (TextView)findViewById(R. id. txt2222);findViewByld(R. id. btnl). setOnClickListener(listener);findViewById(R. id. btn2). setOnClickListener (listener);findViewById(R. id. btn3). setOnClickListener(listener); )View. OnClickListener listener = new View. OnClickListener ( Overridepublic
24、void onClick(View v) (switch (v.getld) (case R. id. btnl:txt222, setvisibility(View. VISIBLE);break;case R. id. btn2:txt222.setVisibility(View. INVISIBLE); break;case R. id. btn3:txt222.setVisibility(View. GONE);break;);)Xml代码:1 xml version=1.0 encoding=utf-8:/schemas, android:/schemas, androidRsa非对
25、称加密,被称为公钥加密标准;算法自己看;公钥加密;Sf同manifest的结构,私钥加密;习题一、选择题通过特定的接口类进行事件处理的是(CA.事件B.事件源C.事件监听器D.事件处理器二、填空题Android的事件处理模型常用的有基于监听接口)和(基于回调接 口 )o三、问答题2 .简述基于监听接口的事件处理模型的编程步骤。1)猎取一般界面组件;2)完成事件监听类,该监听类是一个特别的java类,必须完成一个 XListener 接口 ;3)调用事件源的setXListener方法注册事件监听器3 .简述Android中点击事件、长按事件、键盘事件、触摸事件、焦点改 变事件、选择改变事件对应
26、的事件监听接口。单击事件:onClickListener;长按事件:onLongClickListener;键盘事件:onKeyListener;触摸事件:onTouchListener;焦点改变事件:onFocusChangeListener;选择改变事件:onCheckedChangeListener4 .哪些监听方法的返回值为布尔值?其意义有何不同?布尔值用来表示您是否已经处理完事件,以及是否应该将他继续传下去。也就是说,返回true表示已经处理事件并且事件应该就此停止;如果返回值 为false表示您尚未处理事件或者事件应该继续传递给其他任何点击监听器。四、编程题写一个输入框,当对输入框
27、进行触摸操作时可以猎取触控行为的抬起、滑 动、按下的状态,以及触摸操作的位置坐标。页面代码如下:其中,在输入框中显示当前坐标,在文本框中显示当前的鼠标状态值。public class OnTouchActivity extends Activity (EditText et_touch;TextView tvaction;Overrideprotected void onCreate(Bundle savedlnstanceState) (super. onCreate(savedlnstanceState);setContentView(R. layout. ontouch_layout);
28、et touch =(EditText) findViewByld(R. id. et_touch);tvaction = (TextView)findViewByld(R. id. tvaction);et touch. setOnTouchListener(new View. OnTouchListener (Overridepublic boolean onTouch(View v, MotionEvent event) (int iAction = event.getAction;switch (iAction)(case MotionEvent. ACTION DOWN:Log. i
29、 (tag, 按下);break;case MotionEvent. ACTION_MOVE:Log.i (tag, 滑动);break;case MotionEvent. ACTI0N_UP:Log. i (tag,抬起);)double x = event. getX;double y = event.getY;et_touch. setText (点的坐标为:(+x+,+y+)“);tv_action. setText (z/action=/+iAction);return true;);习题一、填空题1 .设置Toast消息居中显示的方法是setGravityGravity. CENT
30、ER)。2 .创立Notification对象需要使用的是(NotificationManager J,发送 通知栏信息使用的方法是(notify (),取消发送通知栏信息的方法是cancel()。3 .创立一个AlertDialog对话框需要使用的对象类是 (AlertDialog. Builder)。二、简答题.简述Toast消息提示框的特点。一种快速的即时消息。消息内容简短。悬浮于应用程序的最上方不获得焦点用于提示任务是否完成的消息提示机制.简述Notification通知栏的适用情况。某些信息不需要用户马上处理,可以利用通知。即延迟消息,比方软件的 更新、短信、新闻之类的。1 .简述一
31、个对话框包含的内容。图标、标题、内容、选择按钮三、编程题编写Android程序,模拟完成用户注册功能。如果用户名是张三,密码是 123,点击“登录按钮,触发点击事件,使用Toast提示“登录成功,否 那么提示“登录失败。效果如图5. 8所示。图5. 8显示效果activity_main. xml 代码如下。(1)请补全代码EditTextandroid:layoutwidth=match parent”android: layout_height=,/wrap_content/zandroid: id=/z+id/login_passwordz/android: hint=请输入您的密码/(2
32、)请补全代码MainActivity 代码如下。public class MainActivity extends AppCompatActivity声明(3)请补全代码Overrideprotected void onCreate (Bundle savedinstanceState) super. onCreate(savedlnstanceState);(4)请补全代码)代码如下:EditTextandroid: layout_width=,/match_parent/android:layoutheight=wrapcontent”android:id=+id/login_userna
33、meandroid:hint=请输入您的用户名/2分2 分) private EditText et_name, et_pass;0.5 分)private Button btn_login;0.5 分(4)setContentView(R. layout. activity_main) ; 1 分)初始化et_name= (EditText) findViewById(R. id. login_username) ; 0. 5 分et_pass= (EditText) findViewById(R. id. login_password) ; 0. 5 分btn_login= (Button
34、) findViewById(R. id. login) ; 1 分创立适配器btn_login. setOnClickListener(new View. OnClickListener ( Overridepublic void onClick(View v) 11 分String name= et_name. getText. toString;String pass=et_pass. getText. toString; (2 分)if (张三.equals (name) 123 equals (pass)(Toast. makeText(MainActivity. this, 登 录
35、 成 功Toast. LENGTH_SHORT). show; 2 分)else (Toast. makeText(MainActivity. this, 登 录 失 败, Toast. LENGTHSHORT). show; (2 分);习题一、填空题图片资源的存放路径(res/drawable )、字符串资源的存放路径 res/strings、颜色资源的存放路径res/colors )、尺寸资源的存放路 径 res/dimens)o.资源文件一般存放在1 xml )格式的文件中。2 .引用一个自定义的颜色资源,通过什么属性进行引用(name)。3 .常用的数组资源中包含的子元素有(array)、( integer-arrayk(string-array)二、简答题简述资源文件的引用方法。自定义资源文件:pachage type/name系统资源文件:android: type/nameR. java文件访问资源文件:R. type, name三、编程题使用StateListDrawable资源编写一个资源文件,要求输入框在获得焦点 和失去焦点时输入框中的字体分别呈现不同的颜色状态。