《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也会进入到停止状态。 因篇幅问题不能全部显示,请点此查看更多更全内容