Android开发

Android复习题2

本文主要是介绍Android复习题2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第1章 Android基础入门

习题

一、 填空题

2. Android底层是基于【Linux  】操作系统的。

3. Android系统采用分层架构,由高到低分别为应用程序层、应用程序框架层、【核心类库

】、【Linux内核】。

5. Android工程中src目录下存放【Java】文件。

二、 判断题

1. Android是Google公司基于Linux平台开发的手机及平板电脑操作系统。 √

4. 在创建Android工程时,填写的Package Name表示工程的名称。×

5. Android 工程中AndroidManifest.xml文件是整个程序的配置文件。√

三、 选择题

4. 下列关于Android起源的说法中,错误的是( A )。

A.Android1.5被称为甜甜圈 B.Android是第一个真正为手机打造的开放性系统

C.Android本意指“机器人” D.Android最初由Andy Rubin开发的

5. 下列选项中不属于Android体系结构的是( D )。

A.应用程序层 B.应用程序框架层

C.核心类库 D.WindowManager;

四、 简答题

1. 请简要说明Android程序结构中AndroidManifest.xml的功能?

该文件是整个项目的配置文件,在程序中定义的四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明,也可以重新指定创建项目时程序最低兼容的版本和最高版本。在清单文件配置的信息会配置到Android系统中,当程序运行时,系统会先找到清单文件中配置的信息然后根据设置的信息打开相应的组件。

第2章 Android UI开发

习题

一、 填空题

1. 网格布局使用的标签是【GridLayout 】。

3. 在Android系统中,线性布局使用【  LinearLayout 】控件表示。

5. 在【EditText】控件中可以输入文字,并且可以通过inputType属性控制输入的内容只能是数字或者字母等。

二、 判断题

1. 相对布局中的控件都是按照相对位置摆放的。√

2. Android UI开发中,相对布局通常有两种形式,一种是相对于容器而言的,一种是相对于控件而言的。√

3. Android UI开发中,线性布局默认为垂直显示。×

4. TableLayout可以将视图按照行、列进行排列。√

5. 帧布局在界面上是一帧一帧显示的。√

三、 选择题

1. 在下列选项中,设置GridLayout中的某控件占3行的是(B  )。

A.android:rowSpan="3"   B.android:layout_rowSpan="3"

C.android:layout_columnSpan="3"   D.android:layout_column="3"

2. 在Android UI开发中,常见的刮刮卡是通过( A )实现的。

A.FrameLayout B.LinearLayout C.RelativeLayout D.TableLayout

3. Android相对布局中,使控件相对父控件底部对齐使用的属性是( A )。

A.android:layout_alignParentBottom B.android:layout_alignBottom

C.android:layout_alignBaseline D.android:layout_alignParentTop

4. 在下列选项中,设置线性布局方向的属性是( A )。

A.orientation B.gravity C.layout_gravity D.padding

5. Android UI开发中,TableLayout的stretchColumns属性表示(D  )。

A.TableLayout的列数 B.TableLayout的行数

C.TableLayout最多能加入的列数 D.拉伸指定列填充满TableLayout

第3章 Activity

习题

一、 填空题

1. 通过【getIntent() 】方法可以获取到Intent对象。

2. 【ProgressBar】控件通常用于显示进度信息。

3. 在Android中通常使用【Intent 】传递数据。"

5. 打开Activity的界面时会执行onCreate,onStart,【onResume】 三个方法。

二、 判断题

1. 在目标Activity中,通常使用setResult方法设置返回数据。√

2. 使用Intent不能传递Parcelable类型的对象。×

3. 启动系统相机使用的action是android.media.action.VIDEO_CAPTURE。×

4. Activity必须在AndroidManifest.xml文件中注册才能运行。√

5. 使用Intent传递数据只需调用putExtra()方法将想要存储的数据存在Intent中即可。√

三、 选择题

1. 在下列选项中,Activity获得焦点时执行方法是( B )。

A. onStart() B. onResume() C. onPause() D. onDestroy()

2. 在下列选项中,设置ProgressBar的最大进度的方法是( A )。

A. setMax() B. setProgress() C. setCurrentProgress () D. setTotalProgress()

3. Android使用( A )的方式来管理Activity的实例。

A. 任务栈  B. 任务堆   C. 队列   D. 任务列

4. 在下列选项中, 重新打开最小化的Activity界面时执行的方法是(A  )。

A. onRestart、onResume  B. onCreate、onStart

C. onRestart、onStart D. OnPause、 onDestroy

5. 下列不是onActivityResult()方法参数的是( D )。

A. requestCode  B. resultCode  C. data D. result

第4章 数据存储

习题

一、 填空题

1. 在Android中有【】种存储数据的方式。

2. Android中常见数据存储方式有【ContentProvider、SQLite、文件存储、SharedPreferences、网络存储】。

3. 使用文件存储数据时,文件存储在软件的【/data/data/包名/files/】目录下。

5. 在Activity中,可以使用【openFileOutput()】方法可以打开/data/data/包名/files/a.txt文件的输出流对象。

二、 判断题

1. Android中数据存储方式只有一种。×

2. Android中数据只能存储到sd卡上。×

3. 在/data/data/包名/cache目录下可以cache软件的缓存数据,当清除缓存时数据就会删除。√

4. 在Android中存储数据时,可以使用SQL Server数据库。×

5. Android中使用openFileOutput(String name,int mode)方法获取到文件输出流时, 第二个参数mode常用模式有4种。√

三、 选择题

1. 在下列选项中,Android中的五大存储数据方式不包括(D)。

A.文件 B.SQLite数据库 C.SharedPreferences   D.Map

4. Android中使用openFileOutput(String name,int mode)方法获取到文件输出流时, 第二个参数mode常用模式有( A )。

A. MODE_PRIVATE B. MODE_APPEND

C. MODE_WORLD_READABLE D. MODE_WORLD_WRITEABLE

四、 简答题

1. 请简要写出如何使用SharedPreferences存储数据。

第1步:得到SharedPreferences对象

   SharedPreferences sp = this.getSharedPreferences("info", Context.MODE_PRIVATE);

第2步:获得SharedPreferences的编辑器

   Editor editor = sp.edit();

第3步:使用editor存储数据

   editor.putString("name", username);

第4步:提交保存数据

   editor.commit();

第5章 SQLite数据库

习题

一、 填空题

2. 在Android中, 需要使用【数据适配器】给ListView填充数据。

3. BaseAdapter中的getCount( )方法作用是【返回ListView显示的条目个数 】。

4. Android中,通常使用【sqlite3】命令行工具操作SQLite数据库。

5. Android中用到的数据库是【SQLite】

二、 判断题

2. 关于Android中操作数据库, SQLiteOpenHelper类是用于操作数据库的。×

3. 使用SQLiteDatabase的execSQL()方法可以实现数据库表增删改的操作。√

4. ListView通常用于在界面上显示一个垂直滚动的列表。√

5. Android 中ListView控件显示数据和TextView一样。×

三、 选择题

2. 在下列选项中,用来给ListView填充数据的方法是( A )。

A. setAdapter() B. setDefaultAdapter() C. setBaseAdapter() D. setView()

3. 在下列选项中,用于查询数据的方法是( C )。

A. update B. insert C. query D. delete

5. Android系统中使用的数据库是( D )。

A. Oracel B. SQLServer C. MySQL D. SQLite

四、 简答题

1. 请简要写出如何使用ListView在界面显示数据列表。

1、在布局文件中使用控件ListView

   <ListView android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:id="@+id/lv" />

2、在代码中声明并初始化ListView对象

   ListView lv = (ListView) findViewById(R.id.lv);

3、给ListView填充数据

   lv.setAdapter(new MyAdapter());

4、自定义数据适配器类,继承BaseAdapter类,实现其中的getCount()方法和getView()方法。

第6章 内容提供者

习题

一、 填空题

1. 在短信接收器案例中,注册短信内容观察者时,使用的到Uri是【Content://sms/】。

2. 在Android中,通常使用【ContentResolver】调用内容提供者。

3. 创建一个内容提供者类AccountContentProvider,需要让它继承父类【ContentProvider】。

4. Android中通过内容提供者来读取联系人信息,【data】表用来保存联系人信息的。

5. 内容观察者是通过观察【指定的Uri】来观察数据库的变化。

二、 判断题

1. ContentResolver是通过Uri匹配内容提供者的。√

2. 联系人信息是存放在数据库的sms表中的。×

3. Uri是指统一资源标示符。√

4. Android中创建内容提供者要继承ContentObserver。×

5. Android中的内容观察者是Android的四大组件之一。×

三、 选择题

1. 短信的内容提供者是( C )。

A. ContactProvider B. MessageProvider

C. SmsProvider D. TelephonyProvider

2. 可以在Activity中得到ContentResolver实例对象的方法是( B )。

A. new ContentResolver() B. getContentResolver()

C. newInstance() D. ContentUris.newInstance()

3. 利用内容解析者查询短信数据时uri怎么写( A )。

A. Uri uri = Uri.parse(“content://sms”) B. Uri uri = Uri.parse(“content://sms/data”)

C. Uri uri = Uri.parse(“content://sms/contact”) D. Uri uri = Uri.parse(“sms/”)

4. 在Provider的节点中,用来指定内容提供者的主机名的属性是( B )。

A. android:name B. android:authorities C. android:process D. android:label

5. 在下列选项中,关于内容提供者的说法错误的是( D )。

A. ContentProvider 是一个抽象类,只有继承后才能使用。

B. 内容提供者只有在AndroidManifest.xml文件中注册后才能运行。

C. 内容提供者为其它应用程序提供了统一的访问数据库的方式。

D. 内容提供者不是抽象类。

四、 简答题

1. 请简要介绍一下Android中内容提供者的作用。

内容提供者主要作用是实现对外共享数据,其他应用可以通过内容解析者来访问通过内容提供者暴露出来的数据。

在Android开发中,经常需要访问其他应用程序的数据。例如,使用支付宝转账时需要填写收款人的电话号码,此时就需要获取到系统联系人的信息。获取访问系统短信的信息,为了实现这种跨程序共享数据的功能,Android系统提供了一个组件叫做内容提供者。

第7章 广播接收者

习题

一、 填空题

1. sendBroadCast是发送【 无序  】广播。

2. 【abortBroadcast()】方法可以用来拦截有序广播,终止广播。

3. 采用代码【registerReceiver 】方式可以动态的注册广播接收者。

4. 广播分【 有序  】广播和【无序 】广播。

5. 注册系统短信到来的广播事件类型的action是【android:name="android.provider.Telephony.SMS_RECEIVED"】。

二、 判断题

1. 注册系统短信到来的广播事件不需要接收短信的权限。×

2. 有序广播和无序广播都可以被拦截。×

3. 有序广播配置优先级对应的属性是property。√

4. 发送自定义广播可以通过sendbroadCast()方法进行发送。√

5. 代码注册广播需要调用registerReceiver()方法。√

三、 选择题

1. 关于sendBroadcast()方法说法正确的是( B )。

A. 该方法是发送一条有序广播 B. 该方法是发送一条无序广播

C. 该方法即是发送有序广播也可以发送无序广播 D. 以上说法都不正确

2. 关于有序广播和无序广播说法正确的是( A )。

A. 有序广播可以被拦截,数据可以被修改,无序广播数据不可以被拦截,数据不可以被修改。

B. 有序广播和无序广播类似。

C. 有序广播不可以被拦截。

D. 无序广播是按照优先级进行发送。

3. Android中定义广播接收者要继承( A )。

A. BroadCastReceiver B. BroadCast C. Receiver D. BroadCastReboot

4. 有序广播可以通过以下( D )方法拦截广播。

A. abort( )  B. abortReceiver( ) C. abortReceiver( ) D. abortBroadcast( )

5. 注册一个短信到来的广播事件需要在清单文件配置什么权限( C )。

A. <uses-permission android:name="android.permission.SMS"/>

B. <uses-permission android:name="android.permission.SEND_SMS"/>

C. <uses-permission android:name="android.permission.RECEIVE_SMS"/>

D. <uses-permission android:name="android.permission.RECEIVE_SEND_SMS"/>

四、 简答题

1. 请简要说明有序广播和无序广播的区别

无序广播是一种完全异步执行的广播,在广播发出去之后,所有监听了这个广播事件的广播接收器几乎都会在同一时刻接收到这条广播,他们之间没有任何先后顺序可言,这种广播的效率会比较高,但同时意味着它是无法被截断的。

有序广播则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够接收到这条消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。所以此时的广播接收器是有先后顺序的,并且可以被拦截。

第8章 服务

习题

一、 填空题

1. Android进程间通信(IPC)可以通过【 AIDL 】技术来进行通信。

2. 通过bindService方式开启的服务,【unbindService()】方法可以进行解绑服务。

3. Android中有【startService()】方式开启服务和【bindService()】方式开启服务。

4. 在Android中,用于管理后台服务的控件是【Service】。

5. 采用startService()方法开启服务,肯定会调用【onCreate()】方法。

二、 判断题

1. 远程服务是指运行在Tomcat上的服务。×

2. AIDL用于解决进程间通信问题。√

3. Android中服务的生命周期和Activity的生命周期一样。×

4. Android中服务是四大组件之一。√

5. Android中创建服务组件需要继承Service类。√

三、 选择题

1. 通过bindService方式开启服务,服务生命周期是( C )。

A. onCreate()àonStart()àonBind()àonDestroy()

B. onCreate()àonBind()àonDestroy()

C. onCreate()àonBind()àonUnBind()àonDestroy()

D. onCreate()àonStart()àonBind()àonUnBind()àonDestroy()

2. 以startService开启服务以下说法正确的是( A )。

A. startService方式开启服务,服务一旦被开启,服务就会在后台长期运行。

B. 服务开启后只能关机后才能关闭服务。

C. 服务不需要在清单文件里注册。

D. 服务停止时会调用onStop()。

3. 关于Service和Thread的区别说法,不正确的是( B )。

A. service默认运行在声明它的应用进程的主线程中。

B. service里可以执行密集运算或阻塞操作。

C. 可以在Service里创建一个Thread。

D. 当有耗时或阻塞的操作时应该在其中创建一个线程。

4. 关于AIDL描述错误的是( D )。

A. AIDL全称是Android interface definition Language。

B. AIDL出现目的是解决进程间通信。

C. AIDL定义接口的源代码必须以.aidl结尾。

D. AIDL语言就是java语言的演变。

5. 关于服务的创建说法错误的是( D )。

A. Android中创建服务需要继承Service类。

B. Android中的服务需要在清单文件配置。

C. Android中的服务可以理解成是在后台运行且没有界面的activity。

D. Android中定服务能做的事情完全可以开一个子线程替代。

四、 简答题

1. 请简要介绍一下服务的生命周期的回调函数

onCreate():第一次创建服务时执行的方法。

onDestory():服务被销毁时执行的方法。

onStartCommand():客户端通过调startService(Intent service)显式启动服务时执行该方法。

onBind():客户端通过调用bindService(Intent,Service,int)启动服务时执行该方法。

onUnbind():客户端调unBindService(ServiceConnection conn)断开服务时执行的方法。

第9章 网络编程

习题

一、 填空题

1. Andoid中使用【 XmlPullParser 】方式进行xml的解析。

2. 在进行多线程下载时,用到的随机文件存储的类是【RandomAccessFile】。

3. 采用post方式提交数据原理是【是以流的形式把数据写给服务器  】。

4. Androi中线程之间传递消息使用的是【Message】对象。

5. HTTP协议中,数据提交方式有两种,分别是【Get】和【Post】。

二、 判断题

1. 多线程下载请求服务器资源返回的状态码是206。√

2. 使用httpclient方式只能进行post方式提交。×

3. BitmapFactory位图工厂类可以直接将流转换为bitmap格式。√

4. Android客户端访问网络发送HTTP请求只可以使用HttpUrlConnection。×

5. RandomAccessFile类的实例支持对随机访问文件的读取和写入。×

三、 选择题

1. 多线程下载设置Range头信息代表( A )。

A. 代表告诉服务器每个线程下载的开始位置和结束位置。

B. 代表告诉服务器线程下载的开始位置。

C. 代表告诉服务器下载的结束位置。

D. 以上都不正确。

2. 以下是Android中用于xml解析方式的是( C )。

A. SAX B. DOM C. XmlPullParser D. Juint

3. 关于Android中消息机制说法正确的是( B )。

A. Handler只能用来发送消息。

B. Handler是用来发送消息和处理消息的。

C. MessageQueue是用来收集消息并主动发送消息。

D. Looper是主消息的循环器.Looper是由handler创建的。

4. 做网络图片查看器的时候,需要把获取的流信息转换为( C )。

A. String B. int C. Bitmap D. text

5. 关于HttpClient使用说法错误的是( A )。

A. 获取HttpClient实例可以直接new HttpClient()。

B. 获取到HttpClient实例client后,想执行get请求,client.execute(httpGet),然后封装HttpGet。

C. 使用HttpClient方式进行post请求需要封装HttpPost实例。

D. UrlEncodedFormEntity是将提交给服务器参数进行编码的类。

四、 简答题

1. 简单介绍一下get方式和post方式提交数据的区别。

GET方式是以实体的方式得到由请求URL所指向的资源信息,它向服务器提交的参数跟在请求URL后面。使用GET方式访问网络URL的长度是有限制的。HTTP协议规定GET方式请求URL的长度不超过4k。但是IE浏览器GET方式请求URL的长度不能超过1k,为了兼容,因此 GET方式请求URL的长度要小于1K。

POST方式用来向目的服务器发出请求,要求它接受被附在请求后的实体。它向服务器提交的参数在请求后的实体中,它提交的参数是浏览器通过流的方式直接写给服务器的。此外,POST方式对URL的长度是没有限制的。

第10章 高级编程

习题

一、 填空题

1. 【 Canvas 】类代表画布,通过该类提供的方法,可以绘制各种图形(如矩形、圆形、线条等)。

2. Android中【Paint】类代表画笔,用来描述图形的颜色和风格,如线宽、颜色、透明度和填充效果等信息。

3. MeidiaPlayer播放视频使用【SurfaceView】组件进行显示视频。

4. 使用VideoView播放视频,设置从指定位置开始播放的方法是【seekTo()】。

5. Fragment【OnCreateView()】生命周期方法是用来加载Fragment的View。

二、 判断题

1. 在Android中,补间动画会改变控件真实的坐标。×

2. 用SoundPool播放出来的效果和MediaPlayer播放出来的效果一样。×

3. Fragment是在Android3.0被引入的,如果想兼容低版本的手机可以使用V4包中的Fragment。√

4. Fragment的生命周期和Activity的生命周期完全一样。×

5. Android对图像进行颜色方面的处理,通过使用ColorMatrix来实现。√

三、 选择题

1. 下列选择中,关于Canvas类说法错误的是( C )。

A. Canvas代表画布 。

B. Canvas可以绘制各种各样的图形,如矩形。

C. Canvas和Paint作用一样。

D. Canvas有一个方法drawRect(Rect r ,Paint paint),表示画出一个指定矩形。

2. 下列选项中,关于Bitmap类描述正确的是( C )。

A. Bitmap类表示画笔 B. Bitmap类代表画布

C. Bitmap类是最常用的绘图类 D. Bitmap类表示位图工厂

3. 以下MeidiaPlayer的( A )方法是用于设置播放音频文件的位置

A. setDataSource() B. prepareData()  C. start() D. prepareDataSource()

4. 以下Fragment说法错误的是( D )。

A. Fragment(碎片)是一种可以嵌入在Activity中的UI片段,它能让程序更加合理地利用大屏幕空间,因而Fragment在平板上应用的非常广泛。

B. Fragment与Activity十分相似,它能包含布局,同时也具有自己的生命周期。

C. Fragment在Android 3.0版本才被引入。

D. Fragment的生命周期函数比Activity少很多。

5. 以下Fragment的( D )方法是为Fragment创建视图(加载布局)时调用。

A. onCreate() B. onCreateView() C. onActivityCreate() D. onAttach()

四、 简答题

1. 简单介绍一下使用MediaPlayer播放视频文件的步骤。

1)定义SurfaceView组件。最好在布局文件中实现。

2)创建MediaPlayer对象,并为其加载要播放的视频。

3)将所播放的视频画面输出到SurfaceView中。使用MediaPlayer对象的setDisplay方

法,可以将所播放的视频画面输出到SurfaceView。

4)调用MediaPlayer对象的相应方法控制视频的播放。播放play,暂停,pause,停止stop。

这篇关于Android复习题2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!