移动终端软件设计习题集汇编Word文件下载.docx
《移动终端软件设计习题集汇编Word文件下载.docx》由会员分享,可在线阅读,更多相关《移动终端软件设计习题集汇编Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
![移动终端软件设计习题集汇编Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/27/6efe33ed-b972-4191-939e-305a5ac418e0/6efe33ed-b972-4191-939e-305a5ac418e01.gif)
为应用程序提供广播消息处理机制;
ContentProvider:
android中提供多应用程序数据共享。
第2章Android开发环境与开发工具
1.Android开发组件主要包括哪三部分?
AndroidSDK、AndroidSDKTools和AndroidSDKPlatform-tools。
2.Android提供的专门用于EclipseIDE开发环境可以让AndroidSDK集成到Eclipse环境中的插件名称?
ADT或AndroidDevelopmentTools。
3.请根据下图中Android工程目录结构,回答以下问题:
(1)应用项目名称?
HelloWorld
(2)简述src、gen、res中drawable、layout、values各个文件夹的功能。
src文件夹存放项目的源代码;
gen文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。
通过R.java我们可以很快地查找我们需要的资源;
res文件夹是资源目录,包含项目中的资源文件并将编译进应用程序;
drawable下存放图片文件;
layout下存放所有布局文件;
values下存放数组、颜色等资源。
(3)Android应用项目配置清单文件名称是什么?
有什么作用
AndroidManifest.xml项目的总配置文件,记录应用中所使用的Activity、Service等组件以及访问权限的设置等信息。
4.搭建基于Eclipse的Android应用开发环境需要哪些软件及步骤?
(1)安装JDK(JavaDevelopmentKit);
(2)安装Eclipse;
(3)安装AndroidSDK;
(4)在Eclipse中安装ADT(或AndroidDevelopmentTools)插件。
第4章AndroidGUI开发
1.什么是Activity?
主要功能是什么?
Activity是一个独立的可以与用户交互的Android应用组件
功能:
作为应用程序框架动态加载各种用户界面视图,实现底层消息传递等,它是一个功能强大的界面管理者,负责调度各种界面视图,实现Android应用与用户之间的交互。
2.列举四种常用的事件监听处理方法。
基于事件监听内部类实现事件监听处理;
基于事件监听内部匿名类实现事件监听处理;
Activity本身作为事件监听器;
直接绑定到标签;
3.简述利用ArrayAdapter适配器为Spinner或AutoCompleteTextView等组件提供显示内容的操作步骤。
(1)通过findViewByID方法建立对象
(2)提供数据:
数据源可以是数组、XML文件、List<
String>
集合;
(3)提供布局;
(4)建立适配器ArrayAdapter
(5)关联适配器
4.列举至少四种常用的布局管理器
LinearLayout、RelativeLayout、GridLayout、TableLayout、AbsoluteLayout、FrameLayout等。
第5章Activity组件
2.Activity生命周期包括哪些方法?
从Activity创建到停止,需经历OnCreate()、onStart()、OnPause()、onStop()、onDestroy()等。
3.启动一个Android系统提供的“浏览网页”Activity的源代码。
写法1:
Uriuri=Uri.parse("
"
);
Intentintent=newIntent(Intent.ACTION_VIEW,uri);
startActivity(intent);
写法2:
Intentintent=newIntent(Intent.ACTION_VIEW,Uri.parse("
));
startActivity(intent);
写法3:
intent=newIntent();
intent.setAction(Intent.ACTION_VIEW);
uri=Uri.parse("
intent.setData(uri);
4.启动同一应用程序中的其他Activity的方法。
Intentintent=newIntent();
Intent.setClass(MainActivity.this,otherActivity.class);
startActivity(intent);
5.使用Intent和Bundle在Activity间传递数据的过程。
“宿主Activity“端的流程
1)首先创建一个Intent和Bundle对象,其中Bundle用于存储传递的数据;
2)然后使用Bundle的putXXX方法输入要传递的数据;
3)将要传递的数据压入Intent中intent.putExtras(Bundle对象);
4)启动“随从Activity“。
“随从Activity“端的流程
1)接收“宿主Activity“的Intent;
2)传递获得传入的Bundle对象;
3)使用Bundle的get方法获取要传递的数据。
第6章AndroidService组件
1.什么是Android的服务?
其类名是什么?
(1)Service是运行在应用后台的一种组件,并没有自己的用户界面,不需要与用户直接交互。
(2)Service
2.Service有哪两种基本用途?
(1)执行长时间运行的耗时操作,如网络下载、音乐播放、文件系统监视等。
(2)组件间的交互,将某些功能以Service组件形式进行封装,提供给其他应用组件调用,其他组件可以与Service组件不在同一个进程中
3.Android服务有哪两种启动模式?
这两种启动模式各自对应的启动方法名称是什么?
Service启动模式有:
(1)启动模式,startService()方法
(2)绑定模式,bindService()方法
4.从组件生命周期的角度来看,Activity或Service组件启动时第一个执行的回调方法是什么?
onCreate()
5.启动方式和绑定方式下Service的生命周期分别执行什么方法?
启动方式:
startService-onCreate-onStartCommand-stopService-onDestroy
绑定方式:
bindSerrvice-onCreate-onBind-unBindService-onDestroy
6.在调试有关Service程序时发现尽管Java代码没有错误,但Servie组件仍然没有启动,相关的程序片断如下,请你分析该Service组件没有启动的原因,并修改AndroidManifest.xml文档使Service能被启动。
Main类中包含启动Service的代码(注意:
这段代码没有错误):
publicclassMainextendsActivity{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.startService(newIntent(this,CountService.class));
}
}
AndroidManifest.xml文档片断(注意:
下面代码存在错误):
<
application
android:
icon="
@drawable/ic_launcher"
label="
@string/app_name"
>
activity
name="
.main"
intent-filter>
actionandroid:
android.intent.action.MAIN"
/>
categoryandroid:
android.intent.category.LAUNCHER"
/intent-filter>
/activity>
<
/application>
(1)CountService类未在AndroidManifest.xml中注册。
(2)在<
节点下加入:
serviceandroid:
.CountService"
>
/service>
第8章Android程序间的通信
1.什么是Android的意图?
其对应的类名是什么?
(1)在Android中意图表示一个应用组件通知另一个组件去做什么事的意图。
本质上来说,意图是Android中的一种事件处理机制。
在Android中,Intent是用于同一应用或不同应用的组件之间通信的消息对象,可以认为它是一种数据结构,包含对要执行的动作及相关数据的描述,一个组件发出意图(Intent),Android根据意图(Intent)描述,找到能完成意图动作的组件,同时将意图中携带的数据交给能完成意图对象。
(2)Android中意图对应的类名是Intent。
(注意:
类名严格区分大小写)
2.按创建Intent对象时是否明确指定接收组件名称,Intent可分为哪两种类型?
按创建Intent对象时是否明确指定接收组件名称,Intent可分为Intents可以分成两种:
显式意图(ExplicitIntent):
Intent中指定目标组件名称(componentname字段有值)。
隐式意图(ImplicitIntent):
Intent中并不指定目标组件名称(componentname为空)。
3.请简要说明Intent中6个主要属性名称及功能。
Componentname:
接收并处理Intent的组件名称
Action:
用来表示一个要执行的动作(action)名称的字符串
Data:
动作处理数据的URI和MIME类型
Category:
一个包含何种组件有资格处理Intent对象的信息的字符串
Extras:
用于为意图附加信息,附加的信息由键值对构成。
Flags:
Flags可以为意图设置某种标志,可以用作意图发送者签名。
设置了Flags的意图启动一个Activity后,这个Activity可以根据意图中的Flags值判断意图来自哪里。
4.什么是意图过滤器?
它在AndroidManifest,xml文档中的元素名称是什么?
(1)意图过滤器(intentfilters)是通过将Intent对象内容、结构与具有接受意图潜能的组件进行比对,从而找到能处理意图的组件。
(2)类名:
lntentFilter(注意:
(3)intent-filter
5.如果一个组件没有设置任何intentfilter,它能否接收显式意图?
能否接接收隐式意图?
那么,设置有intentfilter的组件能否接收显式意图?
。
(1)如果一个组件没有任何intentfilters,它就只能接收显式意图;
(2)不能;
(3)带有intentfilters的组件能同时接收显式和隐式意图。
6.请根据程序注释提示,在空白下划线处补充完成程序代码。
Buttonsecondbtnservice=(Button)findViewById(R.id.service2);
secondbtnservice.setOnClickListener(newView.OnClickListener(){
publicvoidonClick(Viewv){
//创建一个名为intent意图对象
_____________________________________;
//为该意图对象的Action属性字段设置名为ACTION_VIEW系统Action
//将该意图对象的Data属性字段设置为
//以启动模式发送该意图
}
});
Intentintent=newIntent();
intent.setData(Uri.parse("
7.请认真阅读下面AndroidManifest.xml文档片断,指出是否有错,如果有错应如何修改?
.Activity_comm_1"
activityandroid:
.Activity_comm_2"
包含如下意图过滤器节点是应用启动主类,一个应用中不允许同时包含两个启动主类,应删除其中一个应用组件的标志启动主类的意图过滤器节点:
8.下面是一个AndroidManifest.xml文档片断,请你根据文档中注释提示在空白划线处补充相应代码。
.PlayMusic"
playmusic"
!
--设置意图过滤器开始标签-->
(1)_____________________________
--设置意图过滤器动作(action)字段值为“android.intent.action.GET_CONTENT”-->
(2)________________________________________________________
--设置意图过滤器类型(category)字段值为“android.intent.category.OPENABLE”-->
(3)________________________________________________________
--设置意图过滤器结束标签-->
(4)_____________________________
<
android.intent.action.GET_CONTENT"
android.intent.category.OPENABLE"
9.Android的Broadcast本质上是什么机制?
发送广播消息有哪几种方法?
Broadcast(广播)是一种在Android中广泛运用在应用程序之间异步传输信息的机制。
发送广播的方法有:
sendBroadcast()、sendOrderedBroadcast()和sendStickyBroadcast()
10.广播消息的处理流程有哪3个环节?
广播消息的处理流程包括以下3个环节:
(1)消息发送
(2)BroadcastReceiver注册
(3)消息处理
11.BroadcastReceiver对象的主要功能是什么?
BroadcastReceiver用于接收并处理广播消息,不管是系统消息还是自定义消息都可以通过BroadcastReceiver处理。
12.BroadcastReceiver作为应用级组件必须经过注册才能处理广播消息,注册有哪两种方式?
(1)静态注册:
在AndroidManifest.xml中用<
receiver>
标签声明,并在节点辖域中用<
标签设置过滤器;
(2)动态注册:
在代码中定义并设置好一个IntentFilter对象,然后在需要注册的地方调用Context.registerReceiver(BroadcastReceiver,intentFilter)方法,撤消注册时,调用Context.unregisterReceiver(BroadcastReceiver)方法。
动态注册的Context对象被销毁时,BroadcastReceiver也随之自动注销。
第10章Android资源与国际化
1.Android中使用的资源包括哪些?
在Android应用程序中经常使用的资源有字符串、菜单、图像、声音、视频、颜色、布局文件、样式和主题等。
2.res/values目录下的strings.xml文件中有一个标签:
stringname="
username"
张三<
/string>
,请写出在代码中和布局中设置TextView对象tv的Text属性的代码。
代码中:
tv.setText(getResources().getString(R.string.username));
布局中:
android:
text=”@string/username”
3.使用系统提供的颜色资源在代码中和布局中分别设置TextView的背景色。
在布局中:
background="
@android:
color/black"
在代码中:
tv.setBackgroundColor(getResources().getColor(android.R.color.black));
第11章Android数据存储
1.为了保存永久性的应用数据,Android主要提供了哪几种数据存储方式?
(1)SharedPreferences
以key-value对方式保存私有的基本类型数据。
(2)文件存储
包括两种方式:
在内部存储空间保存私有数据和在外部存储卡上保存公共数据。
(3)SQLiteDatabases
在私有的数据库中存储结构化数据。
(4)NetworkConnection
将数据保存在网络服务器上。
(5)Android还提供将私有数据开放给其他应用的途径:
ContentProvider。
2.SharedPreferences以key-value对的形式存储信息,请问key和value的各是什么数据类型?
key是独一无二的String类型名称,value取值可以是boolean、float、int、long和String这些基本数据类型的数据。
3.SharedPreferences保存在哪里?
能否在开发环境所在的文件系统中直接查看?
SharedPreferenc