《nroid移动应用基础教程》中国铁道出社课后习题附答案.docx
《《nroid移动应用基础教程》中国铁道出社课后习题附答案.docx》由会员分享,可在线阅读,更多相关《《nroid移动应用基础教程》中国铁道出社课后习题附答案.docx(22页珍藏版)》请在冰豆网上搜索。
《nroid移动应用基础教程》中国铁道出社课后习题附答案
Android
移动应用基础教程
习题答案
姓名:
班级:
联系方式:
第1章Android基础入门
一、填空题
1、Android是Google公司基于Linux平台开发的手机及平板电脑的操作系统
2、Android系统采用分层结构,由高到低依次为应用程序层、应用程序框架层、核心类库、Linux内核。
3、ADB的常见指令中,用于开启ADB服务的是adbstart-server。
4、在Android程序中,src目录用于放置程序的java代码文件。
5、Android程序开发完成后,如果要发布到互联网上供别人使用,需要将程序打包成.apk文件。
二、判断题
1、Android实际上就是一个手机。
×
2、WCDMA是中国自己独自定制的3G标准,中国移动使用的就是这种标准。
×
3、android第一个版本Android1.1是2008年9月发布的。
√
4、gen目录是自动生成的,主要有一个R.java文件,该文件可手动修改。
×
5、AndroidManifest.xml文件是整个程序的配置文件。
√
三、选择题
1、随着智能手机的发展,移动通信技术也在不断升级,目前应用最广泛的是(C)
A、1GB、2GC、3GD、4G
2、ADTBundle中包含了三个重要组成部分,分别是(ABC)
A、EclipseB、SDKC、SDKManager,exeD、ADB
3、应用程序层是一个核心应用程序的集合,主要包括(B)
A、活动管理器B、短信程序C、音频驱动D、Dalivik虚拟机
4、ADB的常见指令中“列出所有设备”的指令是(C)
A、adbuninstallB、adbinstallC、adbdeviceD、adbemulator-avd
5、创建程序时,填写的ApplicationName表示(A)
A、应用名称B、项目名称C、项目的包名D、类的名字
四、简答题
1、简要说明Android体系结构中每个层的功能。
Android体系结构总共包含四层,分别是:
●应用程序层:
设备上安装的软件应用都属于这一层
●应用程序框架层:
包含应用API
●核心类库:
包含系统库和运行环境,系统库包含了底层C代码;运行环境包含了Java的核心库和Dalvik虚拟机
●Linux内核:
提供Android的底层驱动。
2、简要说明ADBBundle开发工具中SDK的作用。
SDK包含了Android的API源代码、各种工具、示例工程、用到的各种资源模板等。
第2章AndroidUI开发
一、填空题
1、Android中的布局分为6种,分别是RelativeLayout、LinearLayout、TableLayout、GirdLayout、FrameLayout和AbsoluteLayout。
2、Android相对布局中,表示“是否跟父布局左对齐”的属性是android:
layout_alignParentLeft。
3、线性布局主要有两种形式,一种水平线性布局,另一种是竖直线性布局。
4、创建Android程序时,默认使用的布局是RelativeLayout。
5、LogCat区域中有V、D、I、W和E等5个字母,其中V,代表显示全部信息、D代表显示调试信息、I代表显示一般信息、W代表显示警告信息、E代表显示错误信息。
二、判断题
1、相对布局中android:
layout_alignRight属性表示“在指定控件左边”。
√
2、Toast的作用是显示一些提示信息。
√
3、TableRow必须要设置layout_width和layout_height属性。
×
4、帧布局中可以添加多个控件,这些控件会重叠的在屏幕左上角显示。
√
5、Android程序中是不支持国际化的。
×
三、选择题
1、一下属性中,(D)属性可以“在指定控件左边”。
A、android:
layout_alignLeftB、android:
layout_alignParentLeft
C、androif:
layout_leftD、android:
layout_toLeftOf
2、表格布局中android:
layout_column属性的作用是指定(D)。
A、行数B、列数C、总行数D、总列数
3、实际开发中刮刮乐游戏的布局是按照(C)写的。
A、相对布局B线性布局C、帧布局D、绝对布局
4、网格布局是Android(D)新增的布局。
A、3.0B、3.1C、3.2D、4.0
5、相对布局中,“是否跟父布局底部对齐”是属性(C)
A、android:
layout_alignBottomB、android:
layout_alignParentBottom
C、android:
layout_alignBaselineD、android:
layout_below
四、简答题
1、请简述一下如何在程序中使用Toast。
使用Toast可以直接调用Tosast的静态方法:
Toast.makeText(this,text,duration).show();
也可以创建出Toast对象,如:
Toasttoast=newToast(this);
toast.setText("提示信息");
toast.show();
2、请说明布局有几种类型,以及每种类型的作用。
一共有六种布局,它们的作用分别是:
●RelativeLayout:
相对于其他控件或者容器决定控件的位置;
●LinearLayout:
使控件以竖直或者水平方向排列;
●TableLayout:
使控件以表格形式排列;
●GirdLayout:
能使控件交错显示,能够避免因布局嵌套对设备性能的影响,更利于自由布局的开发;
●FrameLayout:
使控件按照创建顺序在屏幕的左上角重叠显示;
●AbsoluteLayout:
通过绝对的坐标控制控件摆放的位置。
第3章Activity
一、填空题
1、Activity生命周期的三种状态分别是运行状态、暂停状态和停止状态。
2、Activity的4种启动模式是standard、singleTop、singleTask和singleInstance。
3、Android中Intent寻找目标组件的方式有两种:
隐式Intent和显式Intent。
4、Activity生命周期中“回到前台,再次可见时执行”时调用的方法是onRestart()。
5、Android提供了一个startActivityForResult()方法来实现回传数据。
二、判断题
1、Activity是Android应用程序的四大组件之一。
√
2、Intent一般只用于启动Activity不能开启广播和服务。
×
3、Intent可以用来卡其Activity,同样它也可以用来在Activity之间传递数据。
√
4、Activity默认的启动模式是singleTop模式。
×
5、在数据传递时,如果需要获取返回的数据,需要使用onActivityResult()方法。
√
三、选择题
1、一个应用程序默认会包含(A)个Activity。
A、1B、2C、3D、4
2、下列方法中,Activity从启动到关闭不会执行的是(D)。
A、onCreate()B、onStart()C、onResume()D、onRestart()
3、下列组件中,不能使用Intent启动的是(D)。
A、ActivityB、启动服务C、广播D、内容提供者
4、startActivityForResult()方法接收两个参数,第一个是Intent,第二个是(C)。
A、resultCodeB、requestCodeC、请求码D、data
5、下列关于Activity的描述,错误的是(C)
A、Activity是Android的四大组件之一
B、Activity有4种启动模式
C、Activity通常用于开启一个广播事件
D、Activity就像一个界面管理员,用户在界面上的操作是通过Activity来管理的
四、简答题
1、简要说明Activity的4种启动模式的区别。
四种启动模式分别是:
●Standard:
每当启动一个新的Activity,它就会进入任务栈,并处于栈顶的位置,对于使用standard模式的Activity,系统不会判断该Activity在栈中是否存在,每次启动都会创建一个新的实例。
●SingleTop:
与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例。
如果启动的Activity没有位于栈顶时,则创建一个新的实例位于栈顶。
●SingleTask:
创建的Activity只存在一个实例。
已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则创建一个新的实例。
●singleInstance:
启动一个新的任务栈管理Activity
2、简要说明Activity的三种状态以及不同状态使用的方法。
Activity三种状态分别是:
●运行状态:
该状态下可以对界面进行操作
●暂停状态:
界面可见但不具有焦点无法点击
●停止状态:
界面不可见,一般在停止状态时保存数据以防止程序被系统强制杀死。
第4章数据存储
一、填空题
1、序列化是将对象状态转换为可保持或传输的过程。
2、Android中的文件可以存储在内存和SD卡中。
3、通常情况下,解析XML文件有三种方式,分别为DOM、SAX、PULL。
4、SharedPreferences是一个轻量级的存储类,主要用于存储一些应用程序的配置参数。
5、Android中的数据存储方式有5中,分别是文件、Sharedpreferences、Sqlite、网络和ContentProvider。
二、判断题
1、SharedPreferences本质上是一个XML文件,以Map形式存入文件中。
√
2、文件存储是通过I/O流的形式吧数据原封不动的存储到文档中。
√
3、XML文件只能用来保存本地数据,不能在网络中传输。
×
4、ContentProvider表示内容提供者,用于显示程序中的数据。
×
√
三、选择题
1、下列文件操作全险种,指定文件内容可以追加的是(C)
A、MODE_PRIVATEB、MODE_WORLD_READBLE
C、MODE_APPENDD、MODE_WORLD_WRITEABLE
2、下列代码中,用于获取SD卡路径的是(D)
A、Environment.getSD();B、Environment.getExternalStorageState();
C、Environment.getSDDirectory();D、Environment.getExternalStorageDirectory();
3、下列选项中,关于文件存储数据的说法错误的是(D)
A、文件存储是以流的形式来操作数据的B、文件存储可以将数据存储到SD卡中
C、文件存储可以将数据存储到内存中D、Android中只能使用文件存储数据
4、下列选项中美观与XML序列化和解析描述合理的是(BD)
A、DOM解析会将XML文件的所有内容以文档树方式存放在内存中
B、在序列化学像是,需要使用XmlSerialize序列化器,即XmlSerializer类
C、XmlSerializer类的startDocument()方法用于写入序列号的开始节点
D、XmlSerializer类的setOutput()方法用于设置文件的编码方式
5、如果要将程序中的私有数据分享给其他应用程序,可以使用的是(C)
A、文件存储B、SharedPreferencesC、ContentProviderD、SQLite
四、简答题
1、请简述Android系统中的5种数据存储方式各自的特点。
五种存储方式各自的特点分别是:
●文件存储:
可以存储较大文件,以IO流形式传输数据。
●Sqlite:
占用内存小,所有文件都存放在单一文件中。
●网络:
通过网络将数据传输到服务器存储,避免了客户端的安全隐患。
●Sharedpreference:
使用方便,可以存储配置信息,以键值对的形式存于内存中
●ContentProvider:
提供自身暴漏的数据给第三方应用使用,统一了数据访问格式,以数据库形式保存数据。
2、请简述SharedPreferences如何存储数据。
使用Sharedpreference储存数据时因为它本身没有写文件的功能,因此需要使用Editor对象将数据存入内存,比如:
SharedPreferencessp=getSharedPreferences("config",0);
Editoreditor=sp.edit();
editor.putString("a","a");
mit();
第5章SQLite数据库
一、填空题
1、ListView的适配器有三种,分别是BaseAdapter、SimpleAdapter和ArrayAdapter。
2、创建数据库及数据库版本更新需要继承SQLiteOpenHelper。
3、SQLite创建时调用onCreate()方法,升级时调用onUpgrade()方法。
4、要查询SQLite数据库中的信息需要使用Cursor接口,使用完毕后条用close关闭。
5、创建ListView的布局界面必须通过id属性才能使数据显示在界面上。
二、判断题
1、SQLite数据库使用完后不需要关闭,不影响程序性能。
×
2、使用ListView显示较为复杂的数据时最好用ArrayAdapter配适器。
×
3、SQLite既支持Android的API又支持SQL语句进行增、删、改、查操作。
√
4、使用BaseAdapter控制ListView显示多少条数据是通过getView()方法设置。
×
5、SQLite只支持NULL、INTEGER、REAL、TEXT和BLOB等5种数据类型。
×
三、选择题
1、使用SQLite数据库进行查询后,必须要做的操作是(AC)
A、关闭数据库B、直接退出C、关闭CursorD、使用quit函数退出
2、关于适配器的说法正确的是(B)
A、它主要用来存储数据B、它主要用来把数据绑定在组件上
C、它主要用来存储XML数据D、它主要用来解析数据
3、使用SQLiteOpenHelper类可以生成一个数据库并可以对数据库版本进行管理的方法(B)。
A、getDatabase()B、getWriteableDatabase()
C、getWriteableDatabase()D、getAbleDatabase()
4、下列命令众,属于SQLite下命令的是(C)
A、shellB、pushC、quitD、keytool
5、下列关于ListView使用的描述中,不正确的是(B)
A、要使用ListView,必须为该ListView使用Adpater方式传递数据
B、要使用ListView,该布局文件对应的Activity必须继承ListActivity
C、ListView中每一项的视图布局既可以使用内置的布局,也可以使用自定义的布局方式
D、ListView中每一项被选中时,将会触发ListView对象的ItemClick事件
四、简答题
1、简要说明SQLite数据库创建的过程
首先创建一个类继承SQLiteOpenHelper,重写onCreate()方法并在该方法中创建表,使用创建出的SQLiteOpenHelper的子类对象的getWritableDatabase()方法获得一个可读写的数据库对象。
2、请简要说明BaseAdapter适配器4个抽象方法以及它们的具体作用
●getCount:
得到Item的总数
●getItem:
根据position得到某个Item的对象
●getItemId:
根据position得到某个Item的id
●getView:
得到相应position对应的Item视图,position当前Item的位置,convertView复用的View对象。
第6章内容提供者
一、填空题
1、ContentProvider匹配Uir需要使用的类是UriMatcher。
2、使用内容观察者时,调用onChange()方法可以得到数据变化的信息。
3、ContentProvider提供了对数据增、删、改、查的方法,分别为insert、delete、update和query。
4、ContentProvider用于保存和检索数据,是Android不同应用程序之间共享数据的接口。
5、在应用程序中,使用ContentProvider暴露自己的数据,通过ContentResolver对暴露的数据进行操作。
二、判断题
1、ContentProvider所提供的Uir可以随便定义。
×
2、ContentResolver可以通过ContentProvider提供的Uir进行数据操作。
√
3、ContentObserver观察指定Uir数据发生变化时,调用ContentProvider的是OnChange方法。
√
4、使用ContentRsolver操作数据是,必须在清单文件进行注册。
×
5、ContentProvider与Activitry一样,创建时首先会调用onCreatr()方法。
√
三、选择题
1、下列选项中,属于Android中四大组件的是(ABC)。
A、ActivityB、ContentReceiverC、ServiceD、ContentObserver
2、下列关于ContentResolver的描述,错误的是(C)。
A、可以操作数据库数据B、操作其他应用数据必须知道包名
C、只能操作ContentProvider暴露的数据D、可以操作ContentProvider的任意数据
3、下列关于内容提供者的描述,正确的是(ACD)。
A、提供的Uir必须符合规范B、可以提供本应用所有数据供别人访问
C、必须在清单文件注册D、authorities属性必须和包名一致
4、继承ContentProvider类必须重写它的(ABD)方法。
A、delete()B、insert()C、onStart()D、onUpdate()
5、下列关于内容观察者的说法,正确的是(C)。
A、可以观察任何数据B、观察其它应用数据需要权限
C、只能观察到指定Uir的数据D、观察其他应用数据必须在清单文件注册
四、简答题
1、请简要说明ContentProvider对外共享数据的好处。
通过ContentProvider共享数据统一了数据访问方式,使用起来更规范,通过数据库存储并指定了URI,只有通过特定URI才能访问数据,使数据更安全。
2、请简要说明ContentProvider、ContentResolver和ContentOberver之间的联系。
ContentProvider可以共享自己的数据给外部应用访问,要访问ContentProvider暴漏的数据就要用到ContentResolver。
而ContentObserver就相当于中间人的角色,它可以事实监听ContentProvider的数据是否发生变化,如果发生变化就会触发onChange()方法,Contentresolver可以在onChange()方法中查询的哪些数据发生了变化再对数据进行操作。
第7章广播接收者
一、填空题
1、广播接收者可以在清单文件使用receiver注册。
2、终止广播需要使用abortBroadcast()方法。
3、广播的发送有两种形式,分别为有序广播和无序广播。
4、代码注册广播需要使用registerReceiver方法,接触广播需要使用unregisterReceiver方法。
5、指定接收广播类型的函数是sendOrderedBroadcast()。
二、判断题
1、每一个广播只能有一个广播接收者接收。
×
2、广播接收者是四大组件之一,必须要在清单文件中注册。
√
3、广播接收者的注册信息必须要保持唯一性。
×
4、可以在BroadcastReceiver和onReceiver方法中处理耗时复杂的业务。
×
5、广播接收者注册后必须要手动关闭。
×
三、选择题
1、继承BroadcastReceiver会重写(A)方法。
A、onReceiver()B、onUpdate()C、onCreate()D、onStart()
2、关于广播的作用,说法正确的是(A)。
A、它主要用来接收系统发布的一些消息的B、它可以进行耗时的操作
C、它可以启动一个ActivityD、它可以帮助Activity修改用户界面
3、下列方法中,用于发送一条有序广播的是(B)。
A、startBroadcastReceiver()B、sendOrderedBroadcast()
C、sendBroadcast()D、sendReceiver()
4、在清单文件中,注册广播时使用的结点是(C)。
A、B、
C、D、
5、关于BroadcastReceiver说法不正确的是(B)。
A、是用来接收广播Intent的
B、一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收
C、对有序广播,系统会根据接受者声明的优先级别按顺序逐个执行接收者
D、接收者生命的优先级别在android:
priority属性中生命,数值越大优先级别高
四、简答题
1、说明注册广播有几种方式,以及这些方式有何优缺点。
注册广播有两种方式。
●非常驻型广播:
这种广播依赖于注册广播的组件的生命周期,例如,在Activity中注册广播接收者,当Activity销毁后广播也随之被移除。
●常驻型广播:
当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该程序会自动重新启动。
但是4.0以上的系统中如果安装了应用但是没有打开过,当有广播发出时应用也接收不到广播信息。
2、简要说明接收系统广播时哪些功能需要使用权限。
拨打电话:
发送短信:
设备开机:
<