《Android移动应用基础教程》中国铁道出版社课后习题(附答案)

更新时间:2024-01-01 19:47:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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 1.1是2008年9月发布的。 √ 4、gen目录是自动生成的,主要有一个R.java文件,该文件可手动修改。 × 5、AndroidManifest.xml文件是整个程序的配置文件。 √ 三、选择题

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、3.0 B、3.1 C、3.2 D、4.0 5、相对布局中,“是否跟父布局底部对齐”是属性(C)

A、android:layout_alignBottom B、android:layout_alignParentBottom C、android:layout_alignBaseline D、android:layout_below

四、简答题

1、请简述一下如何在程序中使用Toast。

使用Toast可以直接调用Tosast的静态方法:

Toast.makeText(this, text, duration).show();

也可以创建出Toast对象,如:

Toast toast = new Toast(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、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形式存入文件中。 √ 2、文件存储是通过I/O流的形式吧数据原封不动的存储到文档中。 √ 3、XML文件只能用来保存本地数据,不能在网络中传输。 × 4、ContentProvider表示内容提供者,用于显示程序中的数据。 × 5、档用户将文件保存至SD卡时,需要在清单文件中添加权限"android.permission.WRITE_EXTERNAL_STORAGE"。 √ 三、选择题

1、下列文件操作全险种,指定文件内容可以追加的是(C)

A、MODE_PRIVATE B、MODE_WORLD_READBLE C、MODE_APPEND D、MODE_WORLD_WRITEABLE 2、下列代码中,用于获取SD卡路径的是(D)

A、Environment.getSD(); B、Environment.getExternalStorageState(); C、Environment.getSD Directory(); 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、SharedPreferences C、ContentProvider D、SQLite

四、简答题

1、请简述Android系统中的5种数据存储方式各自的特点。

五种存储方式各自的特点分别是:

? 文件存储:可以存储较大文件,以IO流形式传输数据。 ? Sqlite:占用内存小,所有文件都存放在单一文件中。

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

? Sharedpreference:使用方便,可以存储配置信息,以键值对的形式存于内存中

? ContentProvider:提供自身暴漏的数据给第三方应用使用,统一了数据访问格式,以数

据库形式保存数据。

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

使用Sharedpreference储存数据时因为它本身没有写文件的功能,因此需要使用Editor对象将数据存入内存,比如:

SharedPreferences sp = getSharedPreferences(\Editor editor = sp.edit(); editor.putString(\editor.commit();

第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、 B、 C、 D、 5、关于BroadcastReceiver说法不正确的是(B)。

A、是用来接收广播Intent的

B、一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收 C、对有序广播,系统会根据接受者声明的优先级别按顺序逐个执行接收者 D、接收者生命的优先级别在android:priority属性中生命,数值越大优先级别高

四、简答题

1、说明注册广播有几种方式,以及这些方式有何优缺点。

注册广播有两种方式。

? 非常驻型广播:这种广播依赖于注册广播的组件的生命周期,例如,在Activity中

注册广播接收者,当Activity销毁后广播也随之被移除。

? 常驻型广播:当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该

程序会自动重新启动。但是4.0以上的系统中如果安装了应用但是没有打开过,当有广播发出时应用也接收不到广播信息。

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

拨打电话:

电池电量低:

第8章 服务

一、填空题

1、在创建服务时,必须要继承Service类。

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

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

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) 调用HttpResponse.getEntity()方法获取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对象,我们需要调用Looper.loop()方法开启消息循环。

第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.create方法创建MediaPlayer。 B、直接new MediaPlayer即可

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

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

A、使用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也会进入到停止状态。

本文来源:https://www.bwwdw.com/article/d4dx.html

Top