Android移动应用基础教程中国铁道出版社课后习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android
移动应用基础教程
习题答案
姓名:
班级:
联系方式:
第1章 Android基础入门
一、填空题
1、Android是Google公司基于Linux平台开发的手机及平板电脑的操作系统
2、Android系统采用分层结构,由高到低依次为应用程序层、应用程序框架层、核心类库、Linux
内核。

3、ADB的常见指令中,用于开启ADB服务的是adb start-server。

4、在Android程序中,src目录用于放置程序的java代码文件。

5、Android程序开发完成后,如果要发布到互联网上供别人使用,需要将程序打包成.apk文件。

二、判断题
1、Android实际上就是一个手机。

×
2、WCDMA是中国自己独自定制的3G标准,中国移动使用的就是这种标准。

×
3、android第一个版本Android 是2008年9月发布的。


4、gen目录是自动生成的,主要有一个文件,该文件可手动修改。

×
5、文件是整个程序的配置文件。


三、选择题
1、随着智能手机的发展,移动通信技术也在不断升级,目前应用最广泛的是(C)
A、1G
B、2G
C、3G
D、4G
2、ADT Bundle中包含了三个重要组成部分,分别是(ABC)
A、Eclipse
B、SDK
C、SDK Manager,exe
D、ADB
3、应用程序层是一个核心应用程序的集合,主要包括(B)
A、活动管理器
B、短信程序
C、音频驱动
D、Dalivik虚拟机
4、ADB的常见指令中“列出所有设备”的指令是(C)
A、adb uninstall
B、adb install
C、adb device
D、adb emulator
-avd
5、创建程序时,填写的Application Name表示(A)
A、应用名称
B、项目名称
C、项目的包名
D、类的名字
四、简答题
1、简要说明Android体系结构中每个层的功能。

Android体系结构总共包含四层,分别是:
应用程序层:设备上安装的软件应用都属于这一层
应用程序框架层:包含应用API
核心类库:包含系统库和运行环境,系统库包含了底层C代码;运行环境包含了Java
的核心库和Dalvik虚拟机
Linux内核:提供Android的底层驱动。

2、简要说明ADB Bundle开发工具中SDK的作用。

SDK包含了Android的API源代码、各种工具、示例工程、用到的各种资源模板等。

第2章 Android UI开发
一、填空题
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、Table Row必须要设置layout_width和layout_height属性。

×
4、帧布局中可以添加多个控件,这些控件会重叠的在屏幕左上角显示。


5、Android程序中是不支持国际化的。

×
三、选择题
1、一下属性中,(D)属性可以“在指定控件左边”。

A、android:layout_alignLeft
B、android:layout_alignParentLeft
C、androif:layout_left
D、android:layout_toLeftOf
2、表格布局中android:layout_column属性的作用是指定(D)。

A、行数
B、列数
C、总行数
D、总列数
3、实际开发中刮刮乐游戏的布局是按照(C)写的。

A、相对布局B线性布局C、帧布局D、绝对布局
4、网格布局是Android(D)新增的布局。

A、B、C、D、
5、相对布局中,“是否跟父布局底部对齐”是属性(C)
A、android:layout_alignBottom
B、android:layout_alignParentBottom
C、android:layout_alignBaseline
D、android:layout_below
四、简答题
1、请简述一下如何在程序中使用Toast。

使用Toast可以直接调用Tosast的静态方法:
(this, text, duration).show();
也可以创建出Toast对象,如:
Toast toast = new Toast(this);
("提示信息");
();
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、1
B、2
C、3
D、4
2、下列方法中,Activity从启动到关闭不会执行的是(D)。

A、onCreate()
B、onStart()
C、onResume()
D、
onRestart()
3、下列组件中,不能使用Intent启动的是(D)。

A、Activity
B、启动服务
C、广播
D、内容提供者
4、startActivityForResult()方法接收两个参数,第一个是Intent,第二个是(C)。

A、resultCode
B、requestCode
C、请求码
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<key,value>形式存入文件中。


2、文件存储是通过I/O流的形式吧数据原封不动的存储到文档中。


3、XML文件只能用来保存本地数据,不能在网络中传输。

×
4、ContentProvider表示内容提供者,用于显示程序中的数据。

×
5、档用户将文件保存至SD卡时,需要在清单文件中添加权限"。


三、选择题
1、下列文件操作全险种,指定文件内容可以追加的是(C)
A、MODE_PRIVATE
B、MODE_WORLD_READBLE
C、MODE_APPEND
D、MODE_WORLD_WRITEABLE
2、下列代码中,用于获取SD卡路径的是(D)
A、();
B、();
C、 Directory();
D、();
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、SharedPreferences
C、ContentProvider
D、
SQLite
四、简答题
1、请简述Android系统中的5种数据存储方式各自的特点。

五种存储方式各自的特点分别是:
文件存储:可以存储较大文件,以IO流形式传输数据。

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

网络:通过网络将数据传输到服务器存储,避免了客户端的安全隐患。

Sharedpreference:使用方便,可以存储配置信息,以键值对的形式存于内存中
ContentProvider:提供自身暴漏的数据给第三方应用使用,统一了数据访问格式,以
数据库形式保存数据。

2、请简述SharedPreferences如何存储数据。

使用Sharedpreference储存数据时因为它本身没有写文件的功能,因此需要使用Editor 对象将数据存入内存,比如:
SharedPreferences sp = getSharedPreferences("config", 0);
Editor editor = ();
("a", "a");
();
第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、关闭Cursor
D、使用quit函数退出
2、关于适配器的说法正确的是(B)
A、它主要用来存储数据
B、它主要用来把数据绑定在组件上
C、它主要用来存储XML数据
D、它主要用来解析数据
3、使用SQLiteOpenHelper类可以生成一个数据库并可以对数据库版本进行管理的方法(B)。

A、getDatabase()
B、getWriteableDatabase()
C、getWriteableDatabase()
D、getAbleDatabase()
4、下列命令众,属于SQLite下命令的是(C)
A、shell
B、push
C、quit
D、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、Activity
B、ContentReceiver
C、Service
D、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、它可以启动一个Activity
D、它可以帮助Activity修改用户界面
3、下列方法中,用于发送一条有序广播的是(B)。

A、startBroadcastReceiver()
B、sendOrderedBroadcast()
C、sendBroadcast()
D、sendReceiver()
4、在清单文件中,注册广播时使用的结点是(C)。

A、<activity>
B、<broadcast>
C、<receiver>
D、<broadcastreceiver>
5、关于BroadcastReceiver说法不正确的是(B)。

A、是用来接收广播Intent的
B、一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收
C、对有序广播,系统会根据接受者声明的优先级别按顺序逐个执行接收者
D、接收者生命的优先级别在android:priority属性中生命,数值越大优先级别高
四、简答题
1、说明注册广播有几种方式,以及这些方式有何优缺点。

注册广播有两种方式。

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

常驻型广播:当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该
程序会自动重新启动。

但是以上的系统中如果安装了应用但是没有打开过,当有
广播发出时应用也接收不到广播信息。

2、简要说明接收系统广播时哪些功能需要使用权限。

拨打电话:<uses-permission android:name="" />
发送短信:<uses-permission android:name="" />
设备开机:
<uses-permission android:name= />
电池电量低:<action android:name=""/>
第8章服务
一、填空题
1、在创建服务时,必须要继承Service类。

2、绑定服务事,必须要实现服务的onBind()方法。

3、在清单文件中,注册服务时应该使用的结点为<service>。

4、服务的开启方式有两种,分别是startService()和bindService()。

5、在进行远程服务通信时,需要使用AIDL接口。

二、判断题
1、以绑定方式开启服务后,服务与调用者没有关系。

×
2、服务的界面可以设置的很美观。

×
3、以绑定方式开启服务后,当界面不可见时服务就会被关闭。

×
4、在服务中可以处理长时间的耗时操作。


5、服务不是Android中的四大组件,因此不需要在清单文件中注册。

×
三、选择题
1、每一次启动服务都会调用(D)方法。

A、onCreate()
B、onStart()
C、onResume
D、
onStartCommand
2、下列选项中,属于绑定服务特点的是(ABC)。

A、以bindService()方法开启
B、调用者关闭后服务关闭
C、必须实现ServiceConnection
D、使用stopService()方法关闭服务
3、Service与Activity的共同点是(AC)。

A、都是四大组件之一
B、都有onResume()方法
C、都可以被远程调用
D、都可以自定义美观界面
4、下列方法中,不属于Service生命周期的是(A)
A、onResume()
B、onStart()
C、onStop()
D、onDestory()
5、关于Service生命周期的onCreate()和onStart()方法,说法正确的是(BD)
A、如果Service已经启动,将先后调用onCreate()和onStart()方法
B、当第一次启动的时候先后调用onCreate()和onStart()方法
C、当第一次启动的时候只会调用onCreate()方法
D、如果Service已经启动,只会执行onStart()方法,不再执行onCreat()方法
四、简答题
1、请简要说明使用AIDL访问远程服务的步骤。

使用AIDL接口实现通信的步骤如下:
1)在需要被调用的服务的项目中创建AIDL接口;
2)创建相应的服务
3)创建第二个项目用于调用服务。

将服务中的aidl接口拷贝到第二个项目中,包名要和服务中的包名一致。

2、请简要说明Service的几种启动方式及其特点。

服务两种启动方式,分别是:
Start方式启动:服务与调用者没有绝对关联,当调用者关闭后服务还会一直在后
台运行。

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

第9章网络编程
一、填空题
1、Android系统提供了多种网络通信方式,包括Socket通信、HTTP通信、URL通信和WebView。

2、当客户端与服务器端建立连接后,想服务器端发送的请求,被称HTTP请求。

3、Android客户端访问网络发送HTTP请求的方式一般有两种,HttpURLConnection和HttpClient。

4、与服务器交互过程中,最常用的两种数据提交方式是GET和POST。

5、为了根据下载进度实时更新UI界面,需要用到Handle消息机制来实现线程间通信。

二、判断题
1、HttpURLConnection是一个标准的Java类。


2、使用HttpClient访问网络时,不需要创建HttpClient对象。

×
3、GET方式是以实体的方式得到由请求URL所指向的资源信息。


4、HttpClient是对AsyncHttpClient的再次包装。

×
5、在多线程下载中,每个线程必须要下载对应的模块,然后将这些模块顺序序组组合。


三、选择题
1、下列选项中,不属于Handler机制中的关键对象是(A)。

A、Content
B、Handler
C、MessageQueue
D、Looper
2、下列通信方式中,不是Android系统提供的是(D)。

A、Socket通信
B、HTTP通信
C、URL通信
D、以太网通信
3、关于HttpURLConnection访问网络的基本用法,描述错误的是(C)。

A、HttpURLConnection对象需要设置请求网络的方式
B、HttpURLConnection对象需要设置超时时间
C、需要通过new关键字来创建HttpURLConnection对象
D、访问网络完毕需要关闭HTTP链接
4、下列选项中,不属于AsyncHttpClient特点的是(D)
A、发送异步HTTP请求
B、HTTP请求发生在UI线程之外
C、内部采用了线程池来处理并发请求
D、自动垃圾回收
5、下列选项中,关于GET和POST请求方式,描述错误的是(B)。

A、使用GET方式访问网络URL的长度是有限制的
B、HTTP协议规定GET方式请求URL的长度不超过2K
C、POST方式对URL的长度是没有限制的
D、GET请求方式向服务器提交的参数跟在请求URL后面
四、简答题
1、请简述使用HTTPClient访问网络的步骤。

使用HttpClient访问网络的步骤如下:
1)创建HttpClient对象;
2)指定访问网络的方式,创建一个HttpPost对象或者HttpGet对象;
3)如果需要发送请求参数,可调用HttpGet、HttpPost都具有的setParams()方法。

对于HttpPost对象而言,也可调用setEntity()方法来设置请求参数;
4)调用HttpClient对象的execute()方法访问网络,并获取HttpResponse对象;
5)调用()方法获取HttpEntity对象,该对象包装了服务器的响应内容。

也就是我们
所请求的数据。

2、请简述Handler机制4个关键对象的作用。

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、Fragment与Acitivity相比多出的几种生命周期方法是onAttach()、onCreateView()、
onActivityCreate()、onDestroyView()、onDetach()。

5、动画中有一种Frame逐帧动画,通过顺序播放排列好的图片来实现动画效果,类似电影。

二、判断题
1、只要是Android设备就可以使用任何传感器。

×
2、Fragment与Acitivity相似,它们的生命周期也相同。

×
3、每次启动Fragment都会执行他的onGreate方法。


4、要使用图片旋转可以使用Matrix类中的setRotate()方法。


5、Android中开发音乐播放器可以用MediaPlayer,开发视频播放器只能用VideoView。

×
三、选择题
1、使用MediaPlayer播放保存在SD卡上的.mp3文件时(BC)。

A、需要使用方法创建MediaPlayer。

B、直接new MediaPlayer即可
C、直接使用setDataSource方法设置文件源
D、直接调用start方法,无须设置问文件源
2、下列不属于补间动画相关的类是(B)。

A、TranslateAnimation
B、FrameAnimation
C、RotateAnimation
D、AlphaAnimation
3、关于Fragment说法正确的是(C)。

A、使用Fragment必须在布局文件中加入<fragment>控件
B、Fragment有自己的界面和生命周期,可以完全替代Activity
C、Fragment的状态跟随它所关联的Activity的状态改变而改变
D、当Fragment停止时,与它关联的Activity也会停止
4、MediaPlayer播放资源前,需要调用(B)方法完成准备工作。

A、setDataSource
B、prepare
C、begin
D、
pause
5、下面属于Android动画分类的有(AB)。

A、Tween
B、Frame
C、Draw
D、Animation
四、简答题
1、Android中有几种动画?它们的区别是什么?
Android中有两种动画,分别如下:
1)Tween动画
通过对View中的内容进行一系列的图形变换来实现动画效果,其中图形变化包括平移、缩放、旋转、改变透明度等。

补间动画的效果可以通过XML文件来定义也可以通
过编码方式来实现,通常情况下以XML形式定义的动画都会放置在程序的res/anim(自
定义的)文件夹下。

2)Frame动画
逐帧动画就是按顺序播放事先准备好的静态图像,利用人眼的“视觉暂留”原理,给用户造成动画的错觉。

放胶片看电影的原理与逐帧动画的原理是一样的,它们都是一张一张地播放事先准备好的静态图像。

2、简单描述Fragment的生命周期状态。

Fragment的生命周期有三种状态,具体如下:
1)运行状态
当一个Fragment是可见的,并且它所关联的Activity正处于运行状态,那么该Fragment也处于运行状态。

2)暂停状态
当一个Activity进入暂停状态(另一个未占满屏幕的Activity并添加到了栈顶时),与它相关联的可见Fragment也会进入暂停状态。

1)停止状态
当一个Activity进入停止状态时,与它相关联的Fragment就会进入到停止状态。

或者通过调用FragmentTransaction的remove()、replace()方法将Fragment从Activity 中移除。

如果在事务提交之前调用addToBackStack()方法,这时的Fragment也会进入到停止状态。

相关文档
最新文档