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

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

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形式存入文件中。√

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

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

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

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

三、选择题

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

A、MODE_PRIV A TE

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、

B、

C、

D、

5、关于BroadcastReceiver说法不正确的是(B)。

A、是用来接收广播Intent的

B、一个广播Intent只能被一个订阅了此广播的BroadcastReceiver所接收

C、对有序广播,系统会根据接受者声明的优先级别按顺序逐个执行接收者

D、接收者生命的优先级别在android:priority属性中生命,数值越大优先级别高

四、简答题

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

注册广播有两种方式。

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

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

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

程序会自动重新启动。但是以上的系统中如果安装了应用但是没有打开过,当有

广播发出时应用也接收不到广播信息。

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)调用()方法获取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必须在布局文件中加入控件

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

Android工程师笔试题及答案(汇编)

Android工程师面试题 一、基础(79分) 1. String s = new String("xyz");创建了几个String Object? ( )3分 A、1个 B、2个 C、3个 D、4个 2. Math.round(11.5)和Math.round(-11.5)分别等于多少?()2分 A、11和-11 B、12和-11 C、11和-12 D、12和-12 3.以下错误的说法有:( )2分 A、只要设计合理,当出现error这样的情况时,程序完全可以自动处理 B、exception 表示一种设计或实现问题 C、Set和Map都继承自Collection接口 D、接口可以继承接口 E、抽象类可以继承没有构造函数的实体类 4. 以下哪种类型不能作为switch(expr1)表达式的expr1?( )3分 A、int B、long C、char D、byte 5. 有关ArrayList和Vector的说法,那些是错误的?( )3分 A、Vector是线程安全的 B、ArrayList是线程序不安全的 C、当需要增长时,Vector默认增长为原来一培 D、当需要增长时, ArrayList默认增长为原来一培 6. 以下说法那些是错误的?()3分 A、一个char型变量可以存储一个中文汉字 B、String是最基本的数据类型 C、Integer的缺省值是0 D、String类提供了数值不可改变的字符串 7.请指出以下代码的执行结果()5分 class A{ static{ System.out.print("X"); } public A(){ System.out.print("2"); } } class B extends A{ static{ System.out.print("a"); } public B(){ System.out.print("b"); } } public class Hello{ public static void main(String[] ars){

Android移动应用开发实验指导书

《Android移动应用开发》 实验指导书 课程代码: 总课时数: 适用专业: 院(系)名称:

实验一深入理解Activity 目标 (1)掌握Activity的开发、配置和使用。 (2)掌握Intent的几种常用的属性。 (3)Android系统内置Intent的使用。 (4)了解Activity的生命周期 实验软、硬件环境 硬件:PC电脑一台; 配置:winxp或win7系统,内存大于4G,硬盘250G及以上 JDK1.7 、Eclipse、ADT、Android SDK 实验主要技术基础 (1)活动是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互。 (2)Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。 任务 1、请在AndroidManifest.xml文件中配置SecondActivity: 配置Intent的Action属性为com.sise.intent.action.JHY_ACTION; 配置Category属性为com.sise.intent.category.JHY_CATEGORY。 通过隐式Intent的使用从FirstActivity启动SecondActivity,编写代码,运行程序,预期效果如下所示。

图1 程序运行初始化界面图2 点击图1中的按钮后的运行结果 2、请使用显式Intent启动SecondActivity,并使用Intent从FirstActiv传递数据到SecondActivity。编写代码,运行程序,预期效果如下所示。 图1 程序运行初始化界面图2 点击图1中的按钮后的运行结果 3、使用Intent传递数据从SecondActivity返回数据到FirstActivity中去。编写代码,运行程序,预期效果如下所示。 图1 程序运行初始化界面图2 点击图1按钮运行结果 图3 点击图2按钮运行结果 实验方法与步骤 (1)创建活动 Activity是Android系统提供的一个活动基类所有的活动都必须直接或间接继承此类才能拥有活动的特性。 (2)布局文件 创建布局文件 加载布局文件 (3)在清单文件中注册活动 (4)以上方法完成多个活动的创建 (5)使用Intent完成多个活动之间的交互和数据传递

Android高级技术11月考试试题及答案

北京八维3G 学院2012年10月度 《Android 高级技术》试卷A 注意事项: 1. 本试卷共5页,满分100分; 2. 请把学院、姓名、班级写到密封线内,考试时间90分钟; 3. 请不要把答案写在密封线内 一、单选题(共33题,共62分) 1、 (2分) WebView 中可以用来处理js 中警示,确认等对话框的是(C ) A.WebSettingsB.WebViewClientC.WebChromeClientD.WebViewChrome 2、 (2分) Android 解析xml 的方法中,将整个文件加载到内存中进行解析的是?(C) A 、SAX B 、PULL C 、DOM D 、JSON 3、 (2分)以下属于调用摄像头硬件的权限的是:( A ) A. B. C. D. 4、 (1分) 使用Android 系统进行拍照用到的类有:(D ) A. SurfaceView B. SurfaceHolder C.Callback D. Camera 5、 (2分)LocationManager 获取位置信息的途径下列说法不正确的是(B ) A, GPS 定位更精确,缺点是只能在户外使用 B, NETWORK 通过基站和Wi- Fi 信号来获取位置信息,速度较慢,耗电较少。 C,获取用户位置信息,我们可以使用其中一个,也可以同时使用两个。 D, GPS 定位耗电严重,并且返回用户位置信息的速度远不能满足用户需求。 6、 (2分) 在开发AppWidget 窗口小部件时, 需要继承(D)类 A,AppWidgetReceiverB,AppWidgetConfigure C,AppWidgetManagerD,AppWidgetProvider 密 封 线 内 不 要 答 题 学院 班级姓 名

Android编程基础笔试题及答案2.0

《Android 编程基础》试卷A 注意事项: 1. 本试卷共8页,满分100分; 2. 请把学院、姓名、班级写到密封线内,考试时间90分钟; 3. 请不要把答案写在密封线内 一、单选题(共35题,共61分) 1、 D03MA057(2分)退出 activity 对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行 a A 、onPause() B 、onCreate() C 、onResume() D 、onStart() 2、 D02MA058 (2分) Android 项目工程下面的 assets 目录的作用是什么 b A 、放置应用到的图片资源。 Res/drawable B 、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面 C 、放置字符串,颜色,数组等常量数据 res/values D 、放置一些与 UI 相应的布局文件,都是 xml 文件 res/layout 3、 D04MA059 (2分)下列不属于android 布局的是(c) A 、F r a m e L a y o u t B 、L i n e a r L a y o u t C 、BorderLayout D 、T a b l e L a y o u t E 、R e l a t i v e L a y o u t 4、 D08MA2060 (2分)Intent 的作用的是 a A 、intent 是连接四大组件的纽带,可以实现界面间切换,可以包含动作和动作数据, B 、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会 因为切 换页面而消失 service C 、实现应用程序间的数据共享 contentprovider D 、处理一个应用程序整体性的工作 5、 D04EA1061(1分) 下列哪个是AbsoluteLayout 中特有的属性 b A,android:layout_height B,android:layout_x C,android:layout_above D,android:layout_toRightOf 6、 D07EA1062(1分)RatingBar 组件中不能用属性直接设置的是d A,五角星个数 B,当前分数C,分数的增量D,五角星的色彩 7、 D 10EA1063(1分) 在手机开发中常用的数据库是_a__ A,sqlLite B,Oracle C,Sql Server D,Db23 8、 D14MA2064(2分) 关于BroadcastReceiver 的说法不正确的是_b_ A, 是用来接收广播Intent 的 密封线内不要答 题 学院班级姓名

Android移动应用开发基础教程(微课版)-教学大纲

《Android移动应用开发基础教程(微课版)》教学大纲 学时:62 代码: 适用专业: 制定: 审核: 批准: 一、课程的地位、性质和任务 Android移动应用开发基础是普通高等学校计算机科学与技术专业的一门重要的专业基础课。通过本课程的学习,使学生能够在已有的计算机基础知识基础上,对Android移动应用开发有一个系统的、全面的了解、为掌握移动应用开发打下良好的基础;在系统理解和掌握Android移动应用开发基本原理的基础上,了解和掌握移动应用开发的基本原理和方法,具有设计和开发Android移动应用APP的基本能力。 Android移动应用开发是一门实践性非常强的学科,它要求学生在理解和掌握Android移动应用开发语言语法的基础上,充分利用实验课程,在计算机上动手完成程序的编写和调试。 二、课程教学基本要求 1.课程教学以Android移动应用开发方法为主,在教学过程中让学生掌握Android移动应用开发的基本原理和方法。 2.要求在教学过程中合理安排理论课时和实验课时,让学生有充分的使用在计算机上练习理论课程中学到的Android移动应用开发技巧和方法。 三、课程的内容 第1章 Android开发起步 让学生了解Android平台特点、体系架构和版本,掌握如何搭建Android开发环境,熟悉如何创建Android项目和Android编程的日志工具 第2章 Android核心组件:活动 让学生了解Android核心组件之一的活动是什么、活动生命周期,掌握活动基本操作、在活动中使用Intent、在活动之间传递数据、活动的启动模式。 第3章 UI设计 让学生熟练掌握线性布局、相对布局、通用UI组件、消息通知和菜单。 第4章广播机制 让学生了解广播机制,并熟练掌握如何使用广播接收器。 第5章数据存储 让学生熟练掌握Android文件存储、共享存储和SQLite数据库存储。 第6章多媒体 让学生熟练掌握播放多媒体文件、记录声音、使用摄像头和相册。 第7章网络和数据解析

Android高级技术11月考试试题及答案

Android高级技术11月考试试题及答案 一、单选题(共33题,共62分)1、(2分)WebView中可以用来处理js中警示,确认等对话框的是(C)A.WebSettingsB.WebViewClientC.WebChromeClientD.WebView Chrome2、(2分)Android解析xml的方法中,将整个文件加载到内存中进行解析的是?(C)A、SAX B、PULL C、DOM D、JSON3、(2分)以下属于调用摄像头硬件的权限的是:(A)A.B.C.D.4、(1分)使用Android系统进行拍照用到的类有:(D) A.SurfaceView B.SurfaceHolder C.Callback D. Camera5、(2分)LocationManager获取位置信息的途径下列说法不正确的是(B)A,GPS定位更精确,缺点是只能在户外使用B,NETWORK通过基站和Wi-Fi信号来获取位置信息,速度较慢,耗电较少。C,获取用户位置信息,我们可以使用其中一个,也可以同时使用两个。D,GPS定位耗电严重,并且返回用户位置信息的速度远不能满足用户需求。6、(2分)在开发AppWidget窗口小部件时,需要继承(D)类A,AppWidgetReceiverB,AppWidgetConfigure C,AppWidgetManagerD,AppWidgetProvider 7、(4分)在AsyncTask中下列哪个方法是负责执行那些很耗时的后台计算工作的(C) A,runB,executeC,doInBackgroundD,onPostExecute 8、(2分)如果希望自定义TabHost标题部分的显示内容需要使

安卓开发考试复习题含答案

1 安卓核心组件有哪些?What are the Android core components? 提供界面显示的Activtiy, 提供后台计算的Service, 提供进程间通信的Intent 提供广播接收的BroadcastRsceiver. 2 安卓 key features 有哪些? Intergrated browser SQLite Media support Wireless services DVM Application framework Rich development environment 3安卓用什么数据库?Android with what database? SQLite 4几个流行的移动平台各自的 IDE 是什么? IOS Xcode Android Eclipse Windows phone Visual Studio 黑莓Native平台 5 R.java 是什么文件?干什么用的?在什么地方?What is R.java file? What

for? In what place? R.java文件是Android项目自动生成的终态类 R.java文件除了有自动标识资源的"索引"功能之外,还有另一个主要的功能,当"res"目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。 "gen/"目录下 6安卓平台架构分为几层?各是什么?The Android platform structure is divided into several layers? Each is what? Android 系统分为四层,从下往上分别是 Linux Kernel, Libraries 和Android Runtime, Application Framework, Applications. 7创建一个 UI 并运行之,有哪几个步骤? 创建一个Activity 把UI和Activity关联起来 注册这个Activity 8 Int ent 有几个组件?各是干什么用的?哪些组件是必须存在的,哪些是可选的,在Manifest中intent filter 是如何声明的? Componment name(接收者名字) Action(指定需要被执行的动作) Data(指定用于操作的数据) Category(指定目标应用程序组件的行为) Extras

Android移动应用开发习题答案

Android移动应用开发习题答案 单元1 Android开发环境搭建与模拟器创建 1.填空题 (1) 2008 (2) Linux、操作系统 (3) 应用程序层、应用程序框架层、核心类库、Linux内核 (4) Java C++/C (5) 应用框架 (6) 应用程序 (7) 模拟器、Android模拟器 (8) IntelliJ IDEA Android 2.选择题 (1)创建程序的过程中,填写Application Name表示()。 正确答案:A (2)Android操作系统的手机可以有以下几个方法进行软件安装()。(多选题)ABCD (3)Android操作系统主要的特点是:()。(多选题) 正确答案:ABC (4)以下对Android操作系统描述正确的是:()。(多选题) 正确答案:ABCD (5)以下哪些是Android Stuido的优势()。(多选题) 正确答案:ABCD (6)以下哪些是Genymotion模拟器的优势()。(多选题) 正确答案:ABCD 3.简答题 (1)Android的四层架构分别包括哪几层?分别起到什么作用? 参考答案: Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 核心类库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提

基于Android Studio的移动应用开发任务驱动教程 供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 (2)简述Android开发环境安装的步骤。 参考答案: 下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK路径)。 (3)简述Android Studio的优势。 参考答案:略。 (4)简述Genymotion模拟器的优势。 参考答案:略。 (5)简述Android应用程序创建和运行的步骤。 参考答案: 通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。 单击菜单中的运行按钮可以直接运行Android项目(也可以通过菜单配置运行参数, 指定运行的模拟器)。 单元2 Android Studio的组成结构与基本操作 1.填空题 (1) res/layout (2) Activity、Bundle (3) XML (4) java代码文件 (5) AndroidManifest.xml (6) 打包成.apk文件 2.选择题 (1)如果需要创建一个字符串资源,需要将字符串放在res\values的哪个文件中?()B (2)新建的Android程序默认的布局方式是相对布局(RelativeLayout),该布局中包含一个()控件。 B (3)要让布局文件或者控件能够显示在界面上,必须要设置RelativeLayout和控件的

Android面试题附答案

Android面试题附答案 一、选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(c),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(g) A、输入流和输出流 B、字节流和字符流 C、节点流和处理流 D、File stream E、Pipe stream F、Random stream G、Filter stream 2.下列代码的执行结果是:(b) public class Test3{ public static void main(String args[]){ System.out.print(100%3); System.out.print(“,”); System.out.println(100%3.0); } } A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0

3.在继承中,关于构造方法的说明,下列说法错误的是(d) A、子类无条件的继承父类的无参构造方法, B、子类可以引用父类中的有参构造方法,使用super关键字, C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法, D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。 4.以下程序的运行结果为(b) public class IfTest{ public static void main(String args[]){ int x=3; int y=1; if(x==y) System.out.println(“Not equal”); else System.out.println(“Equal”); } } A、Not equal B、Equal C、无输出 D、编译出错 5.Java语言中字符串“学Java”所占的内存空间是(a) A. 6个字节 B. 7个字节

Android Java面试笔试题

Android Java笔试题(带大部分答案) 请将试题答在答题卡上,不要在试卷中做任何标记 一、基础题: 1. 1. 请写出输出结果 public class Test1 { public static void changeStr(String str){ str=”welcome”; } public static void main(String[] args) { String str=”1234″; changeStr(str); System.out.println(str); } } ___”1234″____________________________________________________ 1. 2. 请写出输出结果 public class Test2 { static boolean foo(char c) { System.out.print(c); return true; } public static void main(String[] argv) { int i = 0; for (foo(…A?); foo(…B?) && (i < 2); foo(…C?)) { i++; foo(…D?); } } } _____ABDCBDCB___________________________________________________ 1.class A {

protected int method1(int a, int b) { return 0; } } 以下A扩展类中的方法哪两个是正确的:(选择两个) A.public int method1(int a, int b) { return 0;} B.private int method1(int a, int b) { return 0;} C.private int method1(int a, long b) { return 0;} D.public short method1(int a, int b) { return 0;} E.static protected int method1(int a, int b) { return 0;} ____AD___________________________________________________ 1.public class Outer{ public void someOuterMethod() { // Line 3 } public class Inner{} public static void main(String[] args) { Outer o = new Outer(); // Line 8 } } 下列哪一个对Inner类实例化的描述是正确的?D A.new Inner(); // At line 3 B.new Inner(); // At line 8 C.new o.Inner(); // At line 8 D.new Outer.Inner(); // At line 8//new Outer().new Inner() 1. 5. 下面这个程序正确吗? 如果不正确请说出哪里错误。 public class Something { public static void main(String[] args) { Other o = new Other(); new Something().addOne(o); } public void addOne(final Other o) { o.i++;

android笔试题及答案

单选题 中可以用来处理js中警示,确认等对话框的是(C) 2.假设assets目录下有文件结构html/,用loadUrl()方法将该网页加载至 webView 时,需传入的参数是(B) A. B. C. D. 3.下列不属于补间动画相关类的是(B) 中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状 态码表示请求完成的是(D) 5.关于ImageSwitcher 说法错误的是:( B ) 里可以通过Alpha设定转换时候的透明位 B.在使用一个ImageSwitcher之前,不一定要调用setFactory方法 是设置资源被读入到这个ImageSwitcher的时候动画效果 是资源文件从这个ImageSwitcher里消失的时候要实现的动画效果 6.建立蓝牙连接时通过_D_方法来获取BluetoothAdapter对象 D. () 7.关于Handler的说法不正确的是( A ) A.它实现不同进程间通信的一种机制 B.它避免了在新线程中刷新UI的操作 C.它采用队列的方式来存储Message D.它实现不同线程间通信的一种机制 8.Vector和ArrayList的主要区别是(B): A. ArrayList内部基于链表,而Vector是基于数组的

B. Vector的大部分方法做了同步,而ArrayList没有同步 C. Vector是可串行化的,而ArrayList不是 D. Vector实现了RandomAccess,而ArrayList没有 9.下列属于SAX解析xml文件的优点的是(B ) A.将整个文档输在内存中,便于操作,支持删除,修改,重新排列等多种功能 B.不用事先调入整个文档,占用资源少 C.整个文档调入内存,浪费时间和空间 D.不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失 a1="abc"; String a2="abc"; String a3="abcd"; 总共创建( A )个String对象。 多选题 1.在添加第一个appwidget窗口小部件时,会执行的方法是(ABD) 2.下列属于SOAP优点的是(ABCD) A,SOAP 与编程语言无关。SOAP 可以使用任何语言来完成 B,SOAP 是完全和厂商无关。 C,SOAP 与平台无关D,SOAP 是简单的,可扩展的 3.下列属于SAX解析XML需要用到的类和接口是(BCD) A.DocumentBuilder 4.在使用蓝牙必须获取的权限是(AD) 5.Chronometer类的重要方法(ABC) 简答题 1.oom是什么如何避免 当程序需要申请一段“大”内存,但是虚拟机没有办法及时的给到,即使做了GC操作以后这就会抛出OutOfMemoryException 也就是OOM 避免:

移动应用开发-实验报告

实验一Android开发基础 实验时间:实验地点:X501 一、实验目的 1. 掌握Android开发环境的搭建; 2. 了解Android SDK的安装、配置、使用; 3. 熟悉开发工具Android Studio的使用; 4. 了解创建项目并熟悉文件目录结构; 二、实验学时 2学时/次,共2学时 三、实验环境 Android Studio;;PC机 四、实验内容和要求 1.Android Studio安装 (1) Android Studio的下载与安装 前提准备工作:安装JDK 并配置JDK 环境变量。 请使用传统的JAVA_HOME 环境变量名称。很多人会被提醒JVM 或者JDK 查找失败,几乎都是因为JDK 版本或者没有使用JAVA_HOME 这个环境变量名称的原因。 ①Android Studio可以从中文社区进行下载,网址为。在浏览器中打开该网址,如图1-1所示。 图1-1 Android Studio官方网站 ②选择合适的平台,进行下载,如图1-2所示。

图1-2 Java platform(JDK) ③安装之前,要确定JDK版本必须是或以上,否则安装之后会报错。双击Android Studio 的安装文件,按照提示一步步安装,具体参考教材。不出意外的话,看到图1-3所示的界面,说明Android Studio已经安装成功了。 图1-3 Android Studio已经安装成功 2. 配置Android Studio 安装Android Studio完成之后,运行Android Studio。每一次安装,都会显示图1-4所示的这个界面,用以选择导入Android Studio的配置文件。 第一个选项:使用以前版本的配置文件夹。 第二个选项:导入某一个目录下的配置文件夹。 第三个选项:不导入配置文件夹。 如果你以前使用过Android Studio,可以选择到以前的版本。如果你是第一次使用,可以选择第三项。 图1-4 导入Android Studio配置文件 3. 创建AVD

Android移动开发复习

1.以下说法正确的是(D) A.DVM指dalivk的虚拟机,每一个android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Linux中的一个进程,所以说可以认为是同一个概念 B.DVM指dalivk的虚拟机,每一个Android应用程序都在它的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念 C.DVM指dalivk的虚拟机,每一个Android应用程序都在它的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM不一定都是在Linux中的一个进程,所以说不是一个概念 D.DVM指dalivk的虚拟机,每一个Android应用程序都在它的进程中运行,都拥有一个独立的Dalvik虚拟机实例,而每一个DVM都是在Linux中的一个进程,所以说是一个概念 2.下列哪个不是Activity的生命周期方法之一?( B ) A.onCreate B.startActivity C.onStart D.onResume 3.以下那个控件可以用来显示图片(D)。 A.ImageView B.TextView C.Button D.以上都可以 4.Android开发中常用的数据库是(D )。 A.SQL Server B.MySQL C.Oracle D.SQLite 5.以下调整宽度和高度的属性,哪个不是Android系统提供的?(C)。A.match_parentB.wrap_content C.fill_contentD.fill_parent 6.下列哪个可做EditText编辑框的提示( D )。 A.android:inputTypeB.android:textC.android:digitsD.android:hint 7.Android中下列属于Intent的作用的是(C)。 A.实现应用程序间的数据共享 B.是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C.可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带D.处理一个应用程序整体性的工作 8.Hanlder是线程与Activity通信的桥梁,如果线程处理不当,你的机器就会变 得越慢,那么线程销毁的方法是(A ) A onDestroy() B onClear() C onFinish() D onStop()。 9.关于res/raw 目录说法正确的是(A)。 A 这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B 这里的文件是原封不动的存储到设备上会转换为二进制的格式 C 这里的文件最终以二进制的格式存储到指定的包中

Android移动应用试题(带答案)

<>试题 一.选择题(2’X12) 1.下面哪一个不属于Android体系结构中的应用程序层 A.电话簿 B.日历 C.SQLite D.SMS程序 2.下面哪种说法不正确 A.Android应用的gen目录下的R.java被删除后还能自动生成; B.res目录是一个特殊目录,包含了应用程序的全部资源,命名规则可以支持数字(0-9) 下横线(_),大小写字母(a-z , A-Z); C.AndroidManifest.xml文件是每个Android项目必须有的,是项目应用的全局描述。其 中指定程序的包名(pack age=”…”)+指定android应用的某个组件的名字(android:name=”…”)组成了该组件类的完整路径 D.assets和res目录都能存放资源文件,但是与res不同的是assets支持任意深度的子目 录,在它里面的文件不会在R.java里生成任何资源ID 3.在一个相对布局中怎样使一个控件居中 A.android:gravity="center" B.android:layout_gravity="center" C.android:layout_centerInParent="true" D.android:scaleType="center" 4.下面是一段生成对话框的代码,哪一行有错误? Builder builder = new Builder(getApplicationContext()); 1 builder.setTitle("提示").setMessage("请选择"); 2 builder.setPositiveButton("重置", new OnClickListener() 3 { 4 public void onClick(DialogInterface dialog, int which) 5 { 6 Log.i("log", "重置被按了!"); 7 } 8 }); 9 builder.setNegativeButton("取消", null); 10 builder.setNeutralButton("确定", new OnClickListener() 11 { 12 public void onClick(DialogInterface dialog, int which) 13 { 14 Toast.makeText(getApplicationContext(), "确定被按了!", 15 Toast.LENGTH_SHORT).show(); 16 } 17

android移动应用开发

《android移动应用开发》试题 姓名张勇超学号0950283227 成绩 一、笔试部分 1、描述Android平台体系结构的层次划分,并说明各个层次的作用。 答:Android 是基于Linux内核的软件平台和操作系统,采用了软件堆层的架构,共分为4层。第一层是Linux 内核,提供由操作系统内核管理的底层基础功能;第二层是中间件层,由函数库和Android运行时构成;第三层是应用程序框架层,提供了Android平台基本的管理功能和组件重用机制;第四层是应用程序层,提供了一系列核心应用程序。 2、简述Android系统的四种基本组件Activity、Service、BroadcaseReceiver和ContentProvider的用途。 答:Activity是android程序的呈现层,显示可视化的用户界面,并接受与用户交互所产生的界面事件,与“窗体”的概念非常相似。Android应用程序可以包含一个或多个Activity,一般在程序启动后会呈现一个Activity,用于提示用户程序已经正常启动。Activity在界面上的表现形式一般是全屏窗体,也可以是非全屏悬浮窗体或对话框。 Service一般用于没有用户界面,但需要长时间在后台运行的应用。例如在播放MP3音乐时,使用service播放MP3音乐,可以在关闭播放器界面的情况下长时间播放MP3音乐,并通过对外公开service的通信接口,控制MP3音乐播放的启动,暂停和停止。 Broadcasereceiver是用来接收并响应广播消息的组件。大部分广播消息是由系统产生的,例如时区改变,电池电量低或语言选项改变等,但应用程序也可以产生广播消息,例如数据下载完毕等。Broadcasereceiver不包含任何用户界面,但可以通过启动activity或者notification通知用户接收到重要信息。Notification能够通过多种方法提示用户,包括闪动背景灯,震动设备,发出声音或者在状态栏上放置一个持久的图标等。 Contentprovider是android系统提供的一种标准的共享数据的机制,应用程序可以通过contentprovider访问其他应用程序的私有数据。私有数据可以是存储在文件系统中的文件,也可以是SQlite中的数据库。Android系统内部也提供一些内置的contentprovider,能够为应用程序提供重要的数据信息,例如联系人信息和通话记录等。 3、简述Activity生命周期的四种状态,以及状态之间的变换关系。 答:Activity生命周期指activity从启动到销毁的过程,在这个过程中,activity一般表现为四种状态,分别是活动状态,暂停状态,停止状态和非活动状态。1,活动状态,当activity在用户界面中处于最上层,用户完全看不到,能够与用户进行交互,则这个activity处于活动状态。2,暂停状态,当activity 在界面上被部分遮挡,该activity处于暂停状态。3,停止状态,当activity 在界面上能完全不被用户看到,也就是说这个activity被其他activity全部遮

Android面试题-带答案

1.介绍一下Android系统的体系结构 答:应用层:android的应用程序通常涉及用户界面和交互。 应用框架层:UI组件、各种管理器等。 函数库层:系统C库、媒体库、webkit、SQLite等。 linux核心库:linux系统运行的组件。 2.Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期及一些跳转逻辑 service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事物,定义好需要接受的Intent提供同步和异步的接口 Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径 BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型 3.请介绍下Android的数据存储方式。 答:一.SharedPreferences方式 二.文件存储方式 三.SQLite数据库方式 四.内容提供器(Content provider)方式 五. 网络存储方式 4.说说mvc模式的原理 答:mvc是model,view,controller的缩写,mvc包含三个部分: 模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。 视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个mvc架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。 控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,响应用户出发的相关事件,交给m层处理。 5.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 答:重写onSaveInstanceState()方法,在此方法中保存需要保存的数据,该方法将会在activity被回收之前调用。通过重写onRestoreInstanceState()方法可以从中提取保存好的数据

android开发笔试题及答案

Android开发笔试题及答案 一、选择题(20题,每题2分,共40分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(CG) A、输入流和输出流 B、字节流和字符流 C、节点流和处理流 D、File stream E、Pipe stream F、Random stream G、Filter stream 2.下列代码的执行结果是:(B) public class Test3{ public static void main(String args[]){ System.out.print(100%3); System.out.print(","); System.out.println(100%3.0); } } A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0 3.以下程序的运行结果为( B ) public class IfTest{ public static void main(String args[]){ int x=3; int y=1; if(x==y) System.out.println("Not equal"); else System.out.println("Equal"); } } A、Not equal B、Equal C、无输出 D、编译出错 4.Java语言中字符串“学Java”所占的内存空间是(A) A. 6个字节 B. 7个字节 C. 10个字节 D. 11个字节 5.关于下列程序段的输出结果,说法正确的是:(D ) public class MyClass{ static int i; public static void main(String argv[]){ System.out.println(i); } }

相关文档
最新文档