8941Android智能手机编程任务3福建电大省开课辅导资料Word下载.docx
《8941Android智能手机编程任务3福建电大省开课辅导资料Word下载.docx》由会员分享,可在线阅读,更多相关《8941Android智能手机编程任务3福建电大省开课辅导资料Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
![8941Android智能手机编程任务3福建电大省开课辅导资料Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/12/a2a9f400-a034-436d-b2a8-ccb47210fa7c/a2a9f400-a034-436d-b2a8-ccb47210fa7c1.gif)
D.BroadcastReceiver
7、ListView可以通过()对象或者类获取到数据列表。
A.BaseAdapterB.ArrayC.HashSetD.XML
8、SoftwareDevelopmentKit(SDK)是()。
A.Java开发程序包
B.Android集成开发环境
C.软件开发工具包
D.虚拟设备
9、SurfaceView在视频播放中的主要作用是()。
A.显示界面的状态信息B.定义界面可视化元素的布局信息
C.用作绘图容器,用来展示视频播放的内容
D.用作容器,用来盛装其他可视化组件
10、当界面从A跳转B,并希望从ActivityB中通过Intent返回信息到A中,则A需要实现()方法来获取返回的结果信息。
A.startActivityB.onResultActivityC.startActivityForResultD.setResult
【参考答案】B
11、电脑屏幕的尺寸为14寸,对应的dpi为()。
A.131B.120C.1024D.100
12、如果需要给一个UI的组件设置背景图片,则在Java代码中访问到定义的图片资源
bg_pic.png的方法是()。
A.R.color.bg_picB.R.drawable.bg_picC.R.string.bg_pic
D.drawable.bg_pic
13、通过()对象来实现对SharedPreferences的写入操作。
A.SharedPreferencesB.SharedPreferences.EditorC.SQLiteDatabaseD.SQLiteOpenHelper
14、下面()智能手机平台是开放源代码的。
A.AndroidB.WindowsPhoneC.iOS
D.Symbian
15、在Activity中,()方法在初始化的时候调用。
A.onCreate()B.onStart()C.onRestart()D.onDestroy()
16、在Activity中,()方法在资源或者对象被销毁的时候调用。
A.onStop()B.onPause()C.onRestart()D.onDestory()
【参考答案】D
17、在Android项目中,在res目录下存放字符串信息的文件是()。
A.strings.xmlB.values.xmlC.colors.xmlD.const.xml
18、在Android应用中需要添加访问互联网的权限配置(Permission),可以在配置文件(
)中进行设置。
A.strings.xmlB.values.xmlC.project.properites
D.AndroidManifest.xml
19、在Android中,()类可以用来封装运行Web页面。
A.WebViewB.ActivityC.LooperD.Hanlder
20、在Android中,Service中的本地服务通过()方法被关闭。
A.onDestroy()B.onUnbind()C.onStop()D.stopService()
21、在Android中,用()方法启动一个本地服务。
A.onCreate()
B.onBind()C.startCommand()D.startService()
22、在Java代码中,通过()方式可以访问到配置文件中定义的颜色信息。
A.R.color_name_idB.color_nameC.R.color.color_name_idD.R.String.color_name_id
23、在res目录下的布局配置文件中,通过()方式可以访问strings.xml中定义的字符串常量信息Title。
A.string/titleB.@string/titleC.titleD.String.title
24、在SharePreferences通过()设置值将其设为允许其他应用共享信息。
A.Context.PRIVATE_MODEB.Context.MODE_WORLD_READABLEC.Context.MODE_WORLD_WRITEABLE
D.Context.MODE_APPEND
25、在SharePreferences中,()数据无法存入。
A."
hello"
B.123C.0.25
D.newDate()
26、在SQLite数据库中,通过SQLiteOpenHelper类的()方法更新数据库版本。
A.onCreate()B.onUpgrade()C.insert()D.updated()
27、在谷歌地图的JavaScript版本的服务器接口中,()对象是用来计算路线的。
A.MapB.Geocoder
C.DirectionsRendererD.DirectionsService
28、在谷歌地图的JavaScript版本的服务器接口中,()对象是用来实现地址信息和经纬度之间的转换。
A.DirectionsServiceB.Map
C.GeocoderD.Marker
29、在实现广播事件监听器的时候,需要实现()方法。
A.onBind()B.onProcess()C.onReceive()D.onClick()
30、在用户自定义的Activity中,通过()方法可以关闭Activity。
A.finish()
B.startActivity()
C.onStop()D.onDestory()
31、开发Service的步骤?
【参考答案】
(1)定义继承Service的子类。
(2)在AndroidManifest.xml文件中声明该Service。
32、ListView是智能手机中应用非常广泛的一种组件,创建ListView有哪些方式?
创建ListView有两种方式:
(1)直接使用ListView进行创建;
(2)使用Activity继承ListActivity。
33、目前在移动终端上有哪几种类型的应用?
有三种类型的应用:
WebApp,通过浏览器访问;
原生应用,通过Appstore应用商店安装;
混合应用(HybridApp),它虽然看上去是一个原生应用,但只有一个WebView,里面访问的是WebApp。
34、Android智能手机从系统架构的角度上分析,是由几层组成的?
【参考答案】四个层次:
Java应用程序层(Application)Java应用程序框架层(ApplicationFramework)本地框架和Java运行环境层(Libraries)
Linux内核和驱动层
35、AndroidAVD是什么?
在开发中有什么作用?
【参考答案】AVD全称为AndroidVisualDevice,即Android运行的虚拟设备,它是Android应用运行的模拟环境。
Android应用如果需要在模拟器中运行,必须有已创建的AVD,每个AVD上可以配置运行多个Android项目。
36、如何在res目录下的布局配置文件中定义一个新声明的用户界面组件的ID?
每个界面组件对象都有一个关联的ID来唯一标识它。
ID通常是在布局XML文件中作为字符串被分配的,作为元素的ID属性,这个XML属性对所有的界面组件对象可用。
XML中ID定义:
android:
id=”@+id/button_id”
37、Bundle提供哪些方法提取Bundle中的数据?
(1)getXxx(Stringkey):
从Bundle中取出int、long、string等各种类型的数据。
(2)getSerializable(Stringkey):
从Bundle取出一个可序列化的数据对象。
38、WebApp、原生应用和混合应用三种路线,在实际开发中如何选择?
选用哪种路线去实现移动应用,则需要根据具体的应用特征和公司的策略来决定。
对于要求实时性高、用户体验要求高和与移动操作系统结合紧密的应用,选择使用原生应用。
对于主要以信息展示为主,与移动系统交互较少的应用,则使用WebApp较好。
介于二者之间,则使用混合模式。
39、在SQLiteOpenHelper中,getWritableDatabase和getReadableDatabase有哪些不同?
getWritableDatabase是以写的方式打开数据库,在数据库的磁盘空间满时调用该方法,打开数据库就会出错。
getReadableDatabase会先以读的方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,然后继续以只读方式打开数据库。
40、AndroidSDK如何进行版本管理?
打开AndroidSDK管理器,可以允许用户管理不同的AndroidSDK版本,如果要安装其他较低版本,需要自行在这个管理器中进行安装。
基于这个管理器进行SDK版本的管理非常简洁,只要将所需的版本选中或者取消,然后管理器会自动提醒用户是否需要进行安装或者删除。
41、在Android的系统架构层次中,哪几层是应用开发者需要重点关注的?
通过对在Android的系统架构的整体分析,应用程序层包括手机平时接触到的应用和界面元素;
Java应用程序框架层则提供了Android系统提供的访问系统功能的应用程序接口,另外在Java应用程序框架中提供了丰富的开箱即用的用户界面组件。
这是应用开发需要重点关注的。
42、Activity关闭的方法?
(1)finish():
结束当前Activity。
(2)finishActivity(intrequestCode):
结束以startActivityForResult(Intentintent,int
requestCode)方法启动的Activity。
43、在Android中有几种方式可以访问res目录定义的资源信息?
请写出语法格式。
(1)在Java代码中使用资源:
[<
package_name>
.]R.<
resource_type>
.<
resource_name>
(2)在XML中使用资源:
@[<
:
]<
/<
44、AndroidSDKADTBundle主要包含哪些内容?
AndroidSDKADTBundle是由GoogleAndroid官方提供的集成式IDE,已经包含了Eclipse,AndroidSDK及Android所需要的平台工具。
内有三部分:
(1)Eclipse
(2)AndroidSDK(3)SDKManager。
45、在Android应用开发中,Intent有什么样的功能?
【参考答案】Android系统的Intent(意图):
Intent是Android系统中协助完成应用间的交互调用与通信的一种机制,负责在不同的组件之间传递消息,将一个组件的请求意图传给另一个组件。
Intent在不同的活动和组件之间起着媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。
46、在Android中有哪几种应用组件类型?
应用组件是Android应用程序的重要基石,每个组件都可以作为独立的实体存在,支持具体的功能实现。
(1)Activity(活动)
(2)Service(服务)
(3)BroadcastReceiver(广播接收者)
(4)ContentProvider(内容提供者)47、Activity调用的方法?
(1)starActivity(Intentintent):
启动其他Activity。
(2)startActivityForResult(Intentintent,intrequestCode):
用指定请求的请求码
(requestCode)启动Activity,等到新启动Activity的结果再启动(通过重写
onActivityResult()方法来执行)。
48、Looper在Activity中有什么作用?
Handler用来实现什么功能?
它们是如何协作共同完成消息通信的?
Android中的Looper类,是用来封装消息循环和消息队列的一个类,用于在Android线程中进行消息处理,是用来为一个线程开启一个消息循环。
Handler类可以看作一个工具类,用来向消息队列中插入消息。
Android通常是通过Handler对象来与Looper进行交互的。
Handler可看作是Looper的一个接口,用来向指定的Looper发送消息及定义处理方法。
默认情况下的Handler会与其被定义时所在线程的Looper绑定。
49、Intent提供哪些方法来方便携带各种数据类型?
(1)putExtras(Bundledata):
向Intent中放入需要携带的数据,其中Bundle是一个简单的数据结构,可以把它当作一个类似HashMap结构。
(2)putXxx(Stringkey,Xxxdata):
向Bundle放入int、long、string等各种类型数据。
(3)putSerializable(Stringkey,Serializabledata):
向Bundle放入一个可序列化的对象。
50、创建用户界面Activity的具体步骤?
(1)声明MainActivity,并继承于Activity;
(2)实现onCreate(Bundlebundle)方法,在系统初始化Activity对象之后,进行用户自定
义的初始化活动;
(3)在onCreate(Viewview)中设置用户界面的布局文件;
(4)通过Activity中的findViewById(intid)获取各个界面组件,并基于它们的属性和方法进行相应的操作;
(5)如果需要进行销毁Activity处理,可以用OnDestroy()方法实现。
51、基于地理位置的服务将给我们现在以及未来的生活工作带来什么变化?
地理位置服务(Location-BasedService,LBS)是通过移动运营商的无线电通信网络,如
GSM网、CDMA网、3G网络或外部定位(如GPS)获取移动终端用户的位置信息(地理坐标)。
它是在地理信息系统平台的支持下为用户提供相应服务的一种增值业务。
地理位置服务可以应用于不同的领域,如健康、工作、个人生活等。
此服务可以用来辨认人和物的位置,例如,发现最近的提款机或银行、朋友、同事的目前位置,能通过客户目前所在的位置提供直接的手机广告,提供个人化的天气信息,甚至提供本地化的游戏、餐饮、娱乐等服务。
52、AndroidManifest.xml在Android中的作用是什么?
有哪些内容需要在其中进行配置?
AndroidManifest.xml为Android应用全局配置文件,它记录应用中所使用的各种组件,并列出了应用程序所提供的各种功能,指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等),Android应用结构上的信息都会被记录在此文件中。
AndroidManifest.xml包含如下设置:
applicationpermissions(应用权限)、Activities(界面视图)、intentfilters(intent消息过滤)等,根据Android应用实际需要,它们在配置文件中是可选的。
53、Service与Thread的区别?
线程(Thread)是程序执行的最小单元,它是分配CPU资源的基本单位,可以独立执行程序片段;
使用Thread来进行程序开发,可以模拟程序的并行执行,提升程序的执行效率和响应速度。
服务(Service)是Android的一种调用机制,当它运行的时候是本地服务(LocalService),那么对应的服务(Service)运行在应用进程的主线程上,如onCreate、onStartCommand这些方法在被系统调用的时候都是在主进程的主线程上运行的。
如果是远程服务(RemoteService),那么对应的服务(Service)则是运行在独立于调用者的其他进程的主线程上,因此服务(Service)跟线程没有关系,只是线程中执行的代码内容。
54、SharedPreferences可以用以存放哪些类型的数据?
哪些数据它无法进行存储?
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value
键值对数据,通常用来存储一些简单的配置信息。
其存储位置在/data/data/<
包名>
/shared_prefs目录下。
SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。
实现SharedPreferences存储的步骤如下:
(1)根据Context获取SharedPreferences对象
(2)利用edit()方法获取Editor对象。
(3)通过Editor对象存储key-value键值对数据。
(4)通过commit()方法提交数据。
55、Service定义了哪些对Service的操作访问方法?
(1)AbstractIBinderonBind(Intentintent):
该方法是Service子类必须实现的方法。
该方法返回了一个IBinder对象,应用程序可通过该对象与Service组件通信。
(2)onCreat():
当Service第一次被创建后,立即会调该方法。
(3)onDestroy():
在服务被关闭之前,会调该方法。
(4)onStartCommand(Intentintent,intflags,intstartID):
每次客户端调用
startService(Intent)启动服务时,都会调该方法。
(5)onUnbind(Intentintent):
当Service绑定的所有客户端都断开连接时,如果想回调该方法,可以直接调用startService()。
56、在Android中,为什么要用Service,而不用Thread?
引入服务(Service)跟Android的系统机制实现有关。
线程(Thread)的运行是独立于
Android中的Activity,也意味着当一个Activity被销毁之后,如果没有主动停止由它启动的线程(Thread)或者线程(Thread)执行的方法没有执行完毕,那么线程(Thread)将会继续执行。
因此,这里如果直接使用线程会出现问题:
当Activity被销毁之后,将无法持有该线程(Thread)的实例引用;
另外无法在不同的Activity中实现对同一个线程
(Thread)的控制。
服务(Service)的引入就可以将上述问题迎刃而解。
创建并启动服务(Service),在服务
(Service)内创建运行并控制线程(Thread),这样任何Activity都可以控制同一服务
(Service),而Android系统只会创建单个对应服务(Service)的实例,用来实现多个
Activity对单个线程的操作控制。
57、WebApp、原生应用和混合应用各有什么优劣之处?
原生应用提供最佳的用户体验、最优质的用户界面、最华丽的交互,可高效地访问本地资源;
但是对于一款理想的应用来说,还要面临移植到不同平台(iOS、Android、Windows
Phone、RIM等)上的多倍工作量,维持多个版本的成本比较高,需要通过各家应用商店的确认审核。
WebApp无须安装,对设备碎片化的适应能力优于原生应用,只需要通过XHML、CSS和