您的当前位置:首页正文

Android移动应用基础教程习题答案

2021-12-11 来源:个人技术集锦


《Android移动应用基础教程》习题答案 第1章 Android基础入门

一、 填空题

1、 Linux、操作系统

2、 应用程序层、应用程序框架层、核心类库、3、 adb start-server

4、 java代码文件

5、 打包成.apk文件

二、 判定题

1、× 2、× 3、√4、×5、√

三、 选择题

1、D 2、ABC 3、B 4、C 5、A

四、简答题

1、Android体系结构总共包括四层,别离是:

内核

Linux

应用程序层:设备上安装的软件应用都属于这一层

应用程序框架层:包括应用API

核心类库:包括系统库和运行环境,系统库包括了底层C代码;运行环境包括了Java的核心库和Dalvik虚拟机

Linux内核:提供Android的底层驱动。

2、SDK包括了Android的API源代码、各类工具、例如工程、用到的各类资源模板等。

第2章 Android UI开发

一、 填空题

1、 RelativeLayout、LinearLayout、TableLayout、GirdLayout、FrameLayout、AbsoluteLayout

2、 android:layout_alignParentLeft

3、 水平、竖直

4、 RelativeLayout

5、 显示全数信息、显示调试信息、显示一样信息、显示警告信息、显示错误信息

二、 判定题

1、√2、√3、×4、√5、×

三、 选择题

1、D 2、B 3、C 4、D 5、B

四、 简答题

1、利用Toast能够直接挪用Tosast的静态方式:

(this, text, duration).show();

也能够创建出Toast对象,如:

Toast toast = new Toast(this);

(\"提示信息\");

();

2、一共有六种布局,它们的作用别离是:

RelativeLayout:相关于其他控件或容器决定控件的位置;

LinearLayout:使控件以竖直或水平方向排列;

TableLayout:使控件以表格形式排列;

GirdLayout:能使控件交织显示,能够幸免因布局嵌套对设备性能的阻碍,更利于自由布局的开发;

FrameLayout:使控件依照创建顺序在屏幕的左上角重叠显示;

AbsoluteLayout:通过绝对的坐标操纵控件摆放的位置。

第3章 Activity

一、 填空题

1、 运行状态、暂停状态、停止状态

2、 standard、singleTop、singleTask、singleInstance

3、 隐式Intent、显示Intent

4、 onRestart()

5、 setResult()

二、 判定题

1、√2、×3、√4、×5、√

三、 选择题

1、A 2、D 3、D 4、C 5、C

四、简答题

1、四种启动模式别离是:

Standard:每当启动一个新的Activity,它就会进入任务栈,并处于栈顶的位置,关于利用standard模式的Activity,系统可不能判定该Activity在栈中是不是存在,每次启动都会创建一个新的实例。

SingleTop:与standard类似,不同的是,当启动的Activity已经位于栈顶时,那么直接利用它不创建新的实例。若是启动的Activity没有位于栈顶时,那么创建一个新的实例位于栈顶。

SingleTask:创建的Activity只存在一个实例。已经存在那么直接利用该实例,并将当前Activity之上的所有Activity出栈,若是没有发觉那么创建一个新的实例。

singleInstance:启动一个新的任务栈治理Activity

2、Activity三种状态别离是:

运行状态:该状态下能够对界面进行操作

暂停状态:界面可见但不具有核心无法点击

停止状态:界面不可见,一样在停止状态时保留数据以避免程序被系统强制杀死。

第4章 数据存储

一、 填空题

1、 可维持或传输

2、 内存、SD卡

3、 DOM、SAX、PULL

4、 配置参数

5、 文件、Sharedpreferences、Sqlite、网络、ContentProvider

二、 判定题

1、√2、√ 3、× 4、× 三、 选择题

1、C 2、D 3、D 4、ABD 、√

5、C

5

四、简答题

1、五种存储方式各自的特点别离是:

文件存储:能够存储较大文件,以IO流形式传输数据。

Sqlite:占用内存小,所有文件都寄存在单一文件中。

网络:通过网络将数据传输到效劳器存储,幸免了客户端的平安隐患。

Sharedpreference:利用方便,能够存储配置信息,以键值对的形式存于内存中

ContentProvider:提供自身暴漏的数据给第三方应用利用,统一了数据访问格式,以数据库形式保留数据。

2、利用Sharedpreference贮存数据时因为它本身没有写文件的功能,因此需要利用Editor对象将数据存入内存,比如:

SharedPreferences sp = getSharedPreferences(\"config\

Editor editor = ();

(\"a\

();

第5章 SQLite数据库

一、 填空题

1、 BaseAdapter、SimpleAdapter、ArrayAdapter

2、 SQLiteOpenHelper

3、 onCreate()、onUpgrade()

4、 Cursor、close()

5、 Id

二、 判定题

1、× 2、× 3、√ 4、× 5、×

三、 选择题

1、AC 2、B 3、B 4、C 5、B

四、简答题

1、第一创建一个类继承SQLiteOpenHelper,重写onCreate()方式并在该方式中创建表,利用创建出的SQLiteOpenHelper的子类对象的getWritableDatabase()方式取得一个可读写的数据库对象。

2、四个抽象方式别离是:

getCount:取得Item的总数

getItem:依照position取得某个Item的对象

getItemId:依照position取得某个Item的id

getView:取得相应position对应的Item视图,position当前Item的位置,convertView复用的View对象。

第6章 内容提供者

一、 填空题

1、 UriMatcher

2、 onChange()

3、 insert、delete、update、query

4、 保留、检索

5、 ContentResolver

二、 判定题

1、× 2、√ 3、√ 4、× 5、√

三、 选择题

1、AC 2、C 3、ACD 4、ABD 5、C

四、简答题

1、通过ContentProvider共享数据统一了数据访问方式,利用起来更标准,通过数据库存储并指定了URI,只有通过特定URI才能访问数据,使数据更平安。

2、ContentProvider能够共享自己的数据给外部应用访问,要访问ContentProvider暴漏的数据就要用到ContentResolver。而ContentObserver就相当于中间人的角色,它能够事实监听ContentProvider的数据是不是发生转变,若是发生转变就会触发onChange()方式,Contentresolver能够在onChange()方式中查询的哪些数据发生了转变再对数据进行操作。

第7章 广播接收者

一、 填空题

1、 receiver

2、 abortBroadcast()

3、 有序广播、无序广播

4、 registerReceiver、unregisterReceiver

5、 sendOrderedBroadcast();

二、 判定题

1、× 2、√ 三、 选择题

3、× 4、× 5、×

1、A 2、AC 3、B 4、C 5、B

四、简答题

1、 注册广播有两种方式。

超级驻型广播:这种广播依托于注册广播的组件的生命周期,例如,在Activity中注册广播接收者,当Activity销毁后广播也随之被移除。

常驻型广播:当应用程序关闭后,若是接收到其他应用程序发出的广播,那么该程序会自动从头启动。可是以上的系统中若是安装了应用可是没有打开过,当有广播发出时应用也接收不到广播信息。

2、 拨打:

发送短信:

设备开机:

电池电量低:

第8章 效劳

一、 填空题

1、 Service

2、 onBind()

3、

4、 startService()、bindService()”

5、 AIDL

二、 判定题

1、× 2、× 3、× 4、√ 5、×

三、 选择题

1、D 2、ABC 3、AC 4、AC 5、BD

四、简答题

1、利用AIDL接话柄现通信的步骤如下:

1) 在需要被挪用的效劳的项目中创建AIDL接口;

2) 创建相应的效劳

3) 创建第二个项目用于挪用效劳。将效劳中的aidl接口拷贝到第二个项目中,包名要和效劳中的包名一致。

2、效劳两种启动方式,别离是:

Start方式启动:效劳与挪用者没有绝对关联,当挪用者关闭后效劳还会一直在后台运行。

Bind方式启动:效劳与挪用者的生命周期所关联,当挪用者关闭时,效劳也会关闭。

第9章 网络编程

一、 填空题

1、 Socket通信、HTTP通信、URL通信、WebView。

2、 HTTP请求

3、 HttpURLConnection、HttpClient

4、 GET、POST

5、 线程间通信

二、 判定题

1、√ 2、× 3、√ 4、× 5、√

三、 选择题

1、A 2、D 3、C 4、D 5、B

四、简答题

1、利用HttpClient访问网络的步骤如下:

1) 创建HttpClient对象;

2) 指定访问网络的方式,创建一个HttpPost对象或HttpGet对象;

3) 若是需要发送请求参数,可挪用HttpGet、HttpPost都具有的setParams()方式。关于HttpPost对象而言,也可挪用setEntity()方式来设置请求参数;

4) 挪用HttpClient对象的execute()方式访问网络,并获取HttpResponse对象;

5) 挪用()方式获取HttpEntity对象,该对象包装了效劳器的响应内容。也确实是咱们所请求的数据。

2、Handler机制四个关键对象的作用如下:

1) Message

Message是在线程之间传递的消息,它能够在内部携带少量的信息,用于在不同线程之间互换数据。Message的what字段能够用来携带一些整型数据,obj字段能够用来携带一个Object对象。

2) Handler

Handler顾名思义确实是处置者的意思,它要紧用于发送消息和处置消息。一样利用Handelr对象的sendMessage()方式发送消息,发出的消息通过一系列的辗转处置后,最终会传递到Handler对象的handlerMessage()方式中。

3) MessageQueue

MessageQueue是消息队列的意思,它要紧用来寄存通过Handler发送的消息。通过Handler发送的消息会存在MessageQueue中等待处置。每一个线程中只会有一个MessageQueue对象。

4) Looper

Looper是每一个线程中的MessageQueue的管家。挪用Looper的loop()方式后,就会进入到一个无线循环中。然后每等发觉MessageQueue中存在一条消息,就会将它掏出,并传递到Handler的HandlerMessage()方式中。另外每一个线程也只会有一个Looper对象。在主线程中创建Handler对象时,系统已经为咱们创建了Looper对象,因此不用手动创建Looper对象,而在子线程中Handler对象,咱们需要挪用()方式开启消息循环。

第10章 高级编程

一、 填空题

1、 Matrix

2、 SensorManager

3、 Bitmap、BitmapFactory、Paint、Canvas

4、 onAttach()、onCreateView()、onActivityCreate()、onDestroyView()、onDetach()

5、 Frame逐帧动画

二、判定题

1、× 2、× 3、√ 4、√ 5、×

三、选择题

1、BC 2、B 3、C 4、B 5、AB

四、简答题

1、Android中有两种动画,别离如下:

1) Tween动画

通过对View中的内容进行一系列的图形变换来实现动画成效,其中图形转变包括平移、缩放、旋转、改变透明度等。补间动画的成效能够通过XML文件来概念也能够通过编码方式来实现,通常情形下以XML形式概念的动画都会放置在程序的res/anim(自概念的)文件夹下。

2) Frame动画

逐帧动画确实是按顺序播放事前预备好的静态图像,利用人眼的“视觉暂留”原理,给用户造成动画的错觉。放胶片看电影的原理与逐帧动画的原理是一样的,它们都是一张一张地播放事前预备好的静态图像。

2、Fragment的生命周期有三种状态,具体如下:

1) 运行状态

当一个Fragment是可见的,而且它所关联的Activity正处于运行状态,那么该Fragment也处于运行状态。

2) 暂停状态

当一个Activity进入暂停状态(另一个未占满屏幕的Activity并添加到了栈顶时),与它相

关联的可见Fragment也会进入暂停状态。

3) 停止状态

当一个Activity进入停止状态时,与它相关联的Fragment就会进入到停止状态。或通过挪用FragmentTransaction的remove()、replace()方式将Fragment从Activity

中移除。若是在事务提交之前挪用addToBackStack()方式,这时的Fragment也会进入到停止状态。

因篇幅问题不能全部显示,请点此查看更多更全内容