2022年Android移动开发技术(慕课版)习题集题库及答案_第1页
2022年Android移动开发技术(慕课版)习题集题库及答案_第2页
2022年Android移动开发技术(慕课版)习题集题库及答案_第3页
2022年Android移动开发技术(慕课版)习题集题库及答案_第4页
2022年Android移动开发技术(慕课版)习题集题库及答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

Android移动开发技术(慕课版)习题集题库及答案

一、填空题

1.在Android开发环境中,SDK组件的作用是用于〔开发)Android应

用。

2.在Android开发环境中,(Dalvik)组件的作用是虚拟机治理。

二、推断题

1.电子邮件客户端属于Android平台体系结构的应用程序框架层。[F)

2.Android中使用AVDManager工具进行SDK版本操纵。(F〕

3.Android只能在Windows环境下开发。(F)

三、问答题

写出2种当前比拟流行的移动操作系统并介绍其作用和特点。

简述Android平台体系结构的层次划分,并说明各个层次的作用。

第一层Linux内核,提供有操作系统内核治理的底层根底功能;第二层中

间层,由函数库和Android运行时构成;第三层应用程序框架层,提供了

Android平台的治理功能和组件重用机制;第四层应用程序层,提供了一系列

核心应用程序。

习题

一、填空题

1.Android工程打包后生成一个(apk)文件。

2.Logcat日志信息按照等级由低到高划分为五个等级,分别是(verbose)、

(debug)、(info)、(warn)、(error)。

3.如果想依据日志信息的标签进行日志信息的过滤,需要添加的过滤条

件是(tag

二、问答题

1.简述签名的意义。

a)为了保证每个应用程序开发商合法ID

b)预防局部开发商可能通过使用相同的PackageName来混淆替换已经

安装的程序

c)保证我们每次公布版本的一致性(如自动更新不会因为版本不一致而

无法安装)

2.简述Release版本和Debug版本打包生成的文件的区别。

debug模式:系统自动生成debug签名;

debug签名的应用程序不能在AndroidMarket上架销售,它会强制你使

用自己的签名;Debug模式下签名用的证书(默认是Eclipse/ADT和Ant编译)

自从它创立之日起,1年后就会失效。

debug,keystore在不同的机器上所生成的可能都不一样,就意味着如果

你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的

问题,相当于软件不具备升级功能

通过在Androidstudio上运行直接在模拟机或上启动程序,只是调

试程序而已;

release模式:用自己生成的key文件来签名;

release通常被称为公布版本。

3.简述APK文件反编译得到的几个文件的作用。

AndroidManifest全局配置文件;

Classes,dexjava核心代码文件;

Resource记录了资源文件的位置和id之间的映射关系;

Res文件夹资源文件;

META-INF文件夹用于保证apk文件的完整性和安全性;

Mf包含全部文件的文件名的编码值,保证apk的完整性;

Rsa非对称加密,被称为公钥加密标准;算法自己看;公钥加密;

Sf同manifest的结构,私钥加密;

习题

一、选择题

通过特定的接口类进行事件处理的是(C)。

A.事件B.事件源C.事件监听器D.事件处理器

二、填空题

Android的事件处理模型常用的有〔基于监听接口〕和(基于回调接

口)o

三、问答题

1.简述基于监听接口的事件处理模型的编程步骤。

1)猎取一般界面组件;

2)完成事件监听类,该监听类是一个特别的java类,必须完成一个

XListener接口;

3)调用事件源的setXListener方法注册事件监听器

2.简述Android中点击事件、长按事件、键盘事件、触摸事件、焦点改

变事件、选择改变事件对应的事件监听接口。

单击事件:onClickListener;

长按事件:onLongClickListener;

键盘事件:onKeyListener;

触摸事件:onTouchListener;

焦点改变事件:onFocusChangeListener;

选择改变事件:onCheckedChangeListener

3.哪些监听方法的返回值为布尔值?其意义有何不同?

布尔值用来表示您是否已经处理完事件,以及是否应该将他继续传下去。

也就是说,返回true表示已经处理事件并且事件应该就此停止;如果返回值

为false表示您尚未处理事件或者事件应该继续传递给其他任何点击监听器。

四、编程题

写一个输入框,当对输入框进行触摸操作时可以猎取触控行为的抬起、滑

动、按下的状态,以及触摸操作的位置坐标。

页面代码如下:

<EditText

android:id=〃@+id/et_touch〃

android:layout_width二〃wrap_content〃

android:layout_height=〃wrap_content〃/>

<TextView

android:id=,/@+id/tv_action〃

android:layout_width=z,wrap_contentz,

android:layout_height二〃wrap_content〃/>

其中,在输入框中显示当前坐标,在文本框中显示当前的鼠标状态值。

publicclassOnTouchActivityextendsActivity(

EditTextet_touch;

TextViewtv_action;

©Override

protectedvoidonCreate(BundlesavedlnstanceState)(

super.onCreate(savedlnstanceState);

setContentView(R.layout.ontouch_layout);

et_touch=(EditText)findViewByld(R.id.et_touch);

tv_action=(TextView)findViewById(R.id.tv_action);

et_touch.setOnTouchListener(newView.OnTouchListener(

©Override

publicbooleanonTouch(Viewv,MotionEventevent)(

intiAction=event.getAction;

switch(iAction)(

caseMotionEvent.ACTIONDOWN:

Log.i("tag","按下");

break;

caseMotionEvent.ACTIONMOVE:

break;

caseMotionEvent.ACTI0N_UP:

Log.i("tag","抬起");

)

doublex=event.getX;

doubley=event.getY;

et_touch.setText("点的坐标为:(“+x+”,"+y+")");

tv_action.setText("action=="+iAction);

returntrue;

)

));

习题

一、填空题

1.设置Toast消息居中显示的方法是(setGravity(Gravity.CENTER)

2.创立Notification对象需要使用的是(NotificationManager),发送

通知栏信息使用的方法是(notify〔)),取消发送通知栏信息的方法是(cancel

())。

3.创立一•个AlertDialog对话框需要使用的对象类是

(AlertDialog.Builder)。

二、简答题

1.简述Toast消息提示框的特点。

一种快速的即时消息。

消息内容简短。

悬浮于应用程序的最上方

不获得焦点

用于提示任务是否完成的消息提示机制

2.简述Notification通知栏的适用情况。

某些信息不需要用户马上处理,可以利用通知。即延迟消息,比方软件的

更新、短信、新闻之类的。

3.简述一个对话框包含的内容。

图标、标题、内容、选择按钮

三、编程题

编写Android程序,模拟完成用户注册功能。如果用户名是张三,密码是

123,点击“登录”按钮,触发点击事件,使用Toast提示"登录成功",否

则提示“登录失败〃。效果如图5.8所示。

图5.8显示效果

activity_main.xml代码如下。

<xmlversion="l.0"encoding="utf_8'>

<LinearLayoutxmlns:android="://schemas,android

/apk/res/android”

android:layout_width="match_parent”

android:layout_height=,/match_parent,/

android:orientation-vertical”〉

(1)请补全代码

<EditText

android:1ayout_width="match_parent”

android:1ayoutheight=,,wrap_content”

android:id="@+id/login_password”

android:hint="请输入您的密码”/>

(2)请补全代码

</LinearLayout>

MainActivity代码如下。

publicclassMainActivityextendsAppCompatActivity(

〃声明

(3〕请补全代码

©Override

protectedvoidonCreate(BundlesavedlnstanceState)(

super.onCreate(savedlnstanceState);

(4)请补全代码

)

代码如下:

(1)

<EditText

android:layout_width="match_parent”

android:layout_height=//wrap_content,/

android:id=//@+id/1ogin_username”

android:hint="请输入您的用户名”/>(2分)

<Button

android:layout_gravity="center”

android:layout_width="wrap_content”

android:layout_height="wrap_content”

android:id="@+id/login”

android:text="登录"/>[2分)

privateEditTextet_name,etpass;[0.5分)

privateButtonbtnlogin;〔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)findViewByld(R.id.login);(1分)

〃创立适配器

btn_login.setOnClickListener(newView.OnClickListener

©Override

publicvoidonClick(Viewv)(1分)

Stringname=et_name.getText.toString;

Stringpass=et_pass.getText.toString;〔2分)

if("张三”.equals(name)"123".equals(pass))(

Toast.makeText(MainActivity.this,“登录成功”,

Toast.LENGTH_SHORT).show;(2分)

)else(

Toast.makeText(MainActivity.this,"登录失败”,

Toast.LENGTH_SHORT).show;(2分〕

)

)

));

习题

一、填空题

图片资源的存放路径(res/drawable)、字符串资源的存放路径

(res/strings)、颜色资源的存放路径(res/colors〕、尺寸资源的存放路

径(res/dimens)o

2.资源文件一般存放在(xml)格式的文件中。

3.引用一个自定义的颜色资源,通过什么属性进行引用(name)。

4.常用的数组资源中包含的子元素有(array)、(integer-arrayh

(string-array)

二、简答题

简述资源文件的引用方法。

自定义资源文件:©pachage]type/name

系统资源文件:©android:type/name

R.java文件访问资源文件:R.type.name

三、编程题

使用StateListDrawable资源编写一个资源文件,要求输入框在获得焦点

和失去焦点时输入框中的字体分别呈现不同的颜色状态。

<xmlversion="l.0"encoding="utf-8”>

<selectorxmlns:android="://schemas,android

/apk/res/android/z>

<!-获得焦点时的颜色-->

<itemandroid:state_focused=z/true,/

android:color=z/@color/c4,/></item>

<!一失去焦点时的颜色一>

<itemandroid:state_focused=,/false,z

android:color=//@color/c6,z></item>

</selector>

习题

一、选择题

如果将一个TextView的android:layout_height属性值设置为

wrap_content,那么该组件的展示效果为(D)。

A.该文本域的宽度将填充父容器的宽度

B.该文本域的宽度仅占该控件的实际宽度

C.该文本域的高度将填充父容器的宽度

D.该文本域的高度仅占该控件的实际高度

二、简答题

简述TextView组件和EditText组件的区别。

TextView是一种用于显示字符串的控件

EditText则是用来输入和编辑字符串的控件

EditText是一个具有编辑功能的TextView

三、编程题

编写Android程序,利用ArrayAdapter数组适配器完成图7.15的效果

(注意:列表项布局使用android.R.layout.simple_list_item_l)。

图7.15利用ArrayAdapter数组适配器完成的效果

activity_main.xml代码如下。

<xmlversion="l.0"encoding="utf_8'>

<RelativeLayoutxmlns:android」://schemas,android

/apk/res/android”

android:layout_width=/,match_parentz/

android:layout_height=,/match_parent,/>

11)请补全代码

</RelativeLayout>

MainActivity代码如下。

publicclassMainActivityextendsAppCompatActivity(

〃声明

12)请补全代码

©Override

protectedvoidonCreate(BundlesavedlnstanceState)(

super.onCreate(savedlnstanceState);

13)请补全代码

)

)

代码如下:

(1)

<ListView

android:id="@+id/listView”

android:1ayout_width="match_parent”

android:layout_height=,/wrap_content,/>

</ListView>

ListViewlistView;

ArrayAdapterarrayAdapter;

(3)

setContentView(R.layout.activity_main);

listView=(ListView)findViewByld(R.id.listView);

Stringarr_data=("iteml","item2","item3","item4");

arrayAdapter=new

ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_l,

arr_data);

listView.setAdapter(arrayAdapter);

习题

一、填空题

1.通过(TabieRow)标签划分TableLayout中的行。

2.通常使用(layout_height)和(layout_weight)常量来设置宽度

或高度。

3.布局中的全部元素均使用(View)和(ViewGroup)对象的层次结

构进行构建。

二、简答题

简述Android开发过程中常用的五种布局的特点。

线性布局(LinearLayoutL完成垂直或水平布局;

相对布局(RelativeLayouth依据控件之间的相对位置进行布局;

表格布局(TableLayout),将整个页面划分为行列表格进行布局;

帧布局(FrameLayout)控件只能放在页面的左上角,新添加的控件会覆

盖已存在的控件;

绝对布局(AbsoluteLayout),控件的位置依据x,y坐标进行设定。

三、编程题

使用RelativeLayout完成图8.16所示的布局。

图8.16要求完成的布局

代码如下:

<xmlversion=〃L0〃encoding二〃utf-8〃>

<RelativeLayoutxmlns:android=〃://schemas,android

/apk/res/android〃

android:layout_width=,,match_parentz,

android:layout_height=,/match_parent,/>

<TextView

android:id=〃@+id/tv_name〃

android:text=〃用户名〃

android:layout_width=〃wrap_content〃

android:layout_height=,/wrap_content,z/>

<EditText

android:id=〃@+id/et_name〃

android:1ayout_be1ow=〃@+id/tv_name,/

android:layout_width=〃matchparent”

android:layout_height=〃wrap_content〃/>

<Button

android:id=〃@+id/btn_cancel〃

android:text=,zcacelz,

android:layout_below=〃@+id/et_name〃

android:layout_alignParentRight=/,true,/

android:layout_marginRight=/,10dp,/

android:layout_width="wrap_content”

android:layout_height="wrap_content”/>

<Button

android:id="@+id/bn_ok”

android:text="ok"

android:layout_toLeftOf=,/@+id/btn_cancelz/

android:layout_alignTop="@+id/btn_cancel”

android:1ayout_width="wrap_content”

android:layout_height="wrap_content”/>

</RelativeLayout>

习题

一、填空题

1.Activity的生命周期包含运行状态、暂停状态、停止状态和(死亡状

态)。

2.当处于暂停状态[Paused)的Activity由被覆盖状态回到前台或解锁

屏时,系统会调用(restart)方法,再次进入(onResume)。

3.Intent常用属性主要有〔组件)、动作、动作的类别、数据、数据MIME

类型以及附加信息等。

4.启动一个Activity并从新的组件获得返回值所需方法为

(onActivityResult)。

5.Intent调用可以分为(显式)和1隐式)两种类型。

6.播送接收端使用(OnReceive)告知系统其可以接收的播送类型。

7.在Intent的Action属性中,用来标识应用程序入口的是(ACTION_MAIN)。

8.Android组件中运行于后台,没有界面交互的是(Service)o

9.使用Context的(startActivity)方法可以启动Activity。

10.在Android提供的数据库contact2.db中,用于存储详细信息的表是

(contacts)o

二、选择题

1.关于Activity生命周期的onCreate和onStart方法说法正确的选项

是(D)。

A.当第一次启动的时候先后调用onStart和onCreate方法

B.当第一次启动的时候只会调用onCreate方法

C.如果Activity已经启动,将先后调用onCreate和onStart方法

D.如果Activity已经启动,将只调用onStart方法

2.下面不是退出Activity方法的是(C)。

A.finishB.System,exitC.onStopD.异常强制退出

3.下面在AndroidManifest.xml文件中设置访问网络权限正确的选项是

(A)o

A.<uses-permissionandroid:name=/,android.permission.INTERNET”〉

B.<uses-permissionname=/,android.permission.INTERNET?/>

C.<uses-permissionandroid:id=,,android.permission.INTERNET'^

D.<uses-permissionpermission="android.permission.INTERNET”〉

4.对一些资源以及状态的操作保存,最好是保存在生命周期的(A)函数

中进行。

A.onPauseB.onCreateC.onResumeD.onStart

5.Android中属于Intent的作用的是[C)。

A.完成应用程序间的数据共享

B.Intent是一段长的生命周期,没有用户界面的程序,可以保持应用在

后台运行,而不会因为切换页面而消逝

C.可以完成界面间的切换,可以包含动作和动作数据,连接四大组件的

纽带

D.处理一个应用程序整体性的工作

6.(A)通常就是一个单独的窗口界面。

A.ActivityB.IntentC.ServiceD.ContentProvider

7.关于Service生命周期的onCreate和onStart,说法正确的选项是

⑴)。

A.当第一次启动的时候先后调用onStart和onCreate方法

B.当第一次启动的时候只会调用onCreate方法

C.如果Service已经启动,将先后调用onCreate和onStart方法

D.如果Service已经启动,只会执行onStart方法,不在执行onCreate

方法

8.以下关于ContentProvider,说法错误的选项是(C)。

A.ContentProvider的作用是完成数据共享和交换

B.要访问ContentProvider,只需调用ContentProvider增、册!]、改、查

的相关方法

C.ContentProvider提供的URI必须以"content:〃"开头

D.Android对于系统里的音视频、图像、提供了内置的ContentProvider

三、简装题

描述Android中ContentProvider的作用。

内容提供者组件通过请求从一个应用程序向其他的应用程序提供数据。这

些请求由类ContentResolver的方法来处理。内容提供者可以使用不同的方

法来存储数据。数据可以被存放在数据库,文件,甚至是网络。

有时候需要在应用程序之间共享数据。这时内容提供者变得非常有用。

内容提供者可以让内容集中,必要时可以有多个不同的应用程序来访问。

内容提供者的行为和数据库很像。你可以查询,编辑它的内容,使用insert,

update,delete和query来添加或者删除内容。多数情况下数据被存储在

SQLite数据库。

四、程序设计

设id^一个应用,界面中有一个EditText控件和一个Button控件,当点击

按钮时,能够翻开在EditText中输入的Xo

习题

一、填空题

1.SharedPreferences最终的存储形式是(xml〕文件。

2.使用SharedPreferences方法操作数据时,首先要通过Context的

(getDefaultSharedPreferences)函数获得SharedPreferences类对象。

二、选择题

1.下面关于SharedPreferences的表述正确的选项是(D)。

A.SharedPreferencespref=newSharedPreferences

B.Editoreditor=ne\vEditor

C.SharedPreferences.apply操作会马上将数据写入磁盘文件

D.Editor对象存储数据最后都要调用commit方法

2.下面关于Android数据存储方法描述错误的选项是[B)。

A.Android可以采纳SharedPreferences数据存储

B.Android文件存储形式中,用户只能访问外部存储

C.Android可以使用数据库存储

D.Android可以采纳ContentProvider存储数据

3.关于Android中文件操作描述正确的选项是(C)。

A.Android应用只能访问本应用程序的文件

B.Android应用可以获得图片、音频等公共存储空间中的文件

C.Android应用能够读取其他应用程序空间中的文件

D.Android应用能够修改其他应用程序空间中的文件

三、编程题

依据所学的Android文件操作知识,完成一个记事本功能的Appo

习题

一、填空题

1.SQLite数据库中用于猎取援助的命令是(.help)。

2.在用游标操作SQLite数据表时,猎取数据表中记录数的方法是(que:ry)。

3.用SQLiteOpenHelper类操作数据库时、数据库表建立语句一般在

(onCreate)方法中执行。

4.SQLiteOpenHelper类操作数据库时,当数据库版本发生改变时,会自

动调用(onllpdate)方法。

二、选择题

1.下面关于SQLite数据库描述正确的选项是⑴)。

A.SQLite数据库中数据类型是强数据类型

B.SQLite数据库操作时,如果插入的数据类型与字段数据类型不一致,

则肯定不能插入

C.SQLite数据库只能应用在Android系统中

D.SQLite中能够使用事务操作

2.下面关于SQLite操作描述不正确的选项是[C)。

A.SqliteOpenHelper类主要用来创立数据库和更新数据库

B.SqliteDatabase类可以用来操作数据库

C.在每次调用SqliteDatabase类的getWritabieDatabase方法时,会执

行SqliteOpenHelper类的onCreate方法

D.当数据库版本发生变化时,可以自动更新数据库结构

三、论述题

简要论述在Android工程中,用MVC开发数据库系统的根本操作步骤。

视图层(View)对应于xml布局文件和java代码动态view局部。

操纵层(Controller)MVC中Android的操纵层是由Activity来承当的,

Activity本来主要是作为初始化页面,展示数据的操作,但是因为XML视图

功能太弱,所以Activity既要负责视图的显示又要参加操纵逻辑,承当的功

能过多。

模型层(Model)针对业务模型,建立的数据结构和相关的类,它主要负责

网络请求,数据库处理,I/O的操作。

习题

一、简答题

简述android:visibility属性对应的属性值及区别。

可见(visible)

XML文件:android:visibility="visible"

Java代码:view.setvisibility(View.VISIBLE);

不可见(invisible)

XML文件:android:visibility="invisible”

Java代码:view.setVisibility(View.INVISIBLE);

隐藏(GONE)

XML文件:android:visibility="gone"

Java代码:view.setVisibility(View.GONE)

二、编程题

编程完成图12.9所示的效果。当点击第1个按钮时,完成图12.10所示

的效果;当点击第3个按钮时,完成图12.11所示的效果。

图12.9完成效果1图12.10完成效果2

图12.11完成效果3

代码如下:

Java代码:

publicclassMainActivityextendsActivity(

privateTextViewtxt222=null;

©Override

protectedvoidonCreate(BundlesavedlnstanceState)(

super.onCreate(savedlnstanceState);

setContentView(R.layout,main);

txt222=(TextView)findViewByld(R.id.txt2222);

findViewByld(R.id.btnl).setOnClickListener(listener);

findViewById(R.id.btn2).setOnClickListener(listener);

findViewById(R.id.btn3).setOnClickListener(listener);

)

View.OnClickL

温馨提示

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

评论

0/150

提交评论