8461 Android智能手机编程复习题-最新

8461 Android复习题

一、判断题(每小题2分,共10分)

1、Toast的作用是显示一些提示信息。(√)

2、Android程序中是不支持国际化的。(×)

3、一个Intent可以包含多个category。(×)

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

5、无论Service是以启动方式还是绑定方式运行,该Service类都要重写onBind方法。(√)

二、单项选择题(在每小题的四个备选答案中,有且只有一个正确答案,请将正确答案的序号填在题干的括号内。每小题2分,共20分)

1、下列关于继承的哪项叙述是正确的?( D )

A、在Java中类允许多重继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口允许继承自另一个接口

2、以下哪种方式不能退出当前活动状态的Activity?( C )

A、调用finish()方法

B、单击(返回)按钮

C、单击(回到桌面)按钮

D、Activity运行时出现异常

3、对于TextView,使用哪个属性来设置显示的文本?( B )

A、android:textSize

B、android:text

C、android:textColor

D、android:string

4、要处理Button的点击事件,需要注册哪个监听器?( A )

A、OnClickListener()

B、OnButtonClickListener()

C、OnButtonListener()

D、OnItemClickListener()

5、浏览网页使用的Intent的Action是什么?(D )

A、ACTION_CALL

B、ACTION_EDIT

C、ACTION_SEND

D、ACTION_VIEW

6、Android 关于启动方式的service生命周期的onCreate()和onStartCommand()方法,说法正确的是( D )

A、当第一次启动的时候只会调用onCreate()方法

B、当第一次启动的时候只会调用onStartCommand ()方法

C、如果service已经启动,将先后调用onCreate()和onStartCommand ()方法

D、如果service已经启动,只会执行onStartCommand ()方法,不再执行onCreate()方法

7、下列控件中,只有两种状态并能相互切换的是:( D )

A、ImageButton

B、SeekBar

C、Toast

D、ToggleButton

8、对于音乐播放器程序中的播放进度控制,使用哪个控件适合?( C )

A、ProgressBar

B、RatingBar

C、SeekBar

D、CheckBox

9、要往SD卡写入数据,需要加上哪个权限?( B )

A、WRITE_STORAGE

B、WRITE_EXTERNAL_STORAGE

C、WRITE_INTERNAL_STORAGE

D、WRITE_SD

10、下列关于ContentProvider的说法错误的是:( B )

A、ContentProvider的作用是实现数据共享和交换

B、要访问ContentProvider,只需调用ContentProvider的增删改查相关方法

C、ContentProvider提供的URI必须以“content://”开头

D、Android对于系统里的音视频、图像、通讯录提供了内置的ContentProvider

三、填空题(每空2分,共10分)

1、Android中常用的布局有LinearLayout、AbsoluteLayout 、RelativeLayout 和FrameLayout。

2、Service的onStartCommand()方法允许的返回值有START_NOT_STICKY、

START_STICKY 、START_REDELIVER_INTENT 。

3、要想操作ContentProvider所封装的数据,需要使用ContentResolver 类。

四、名词解释(每小题5分,共15分)

1、Intent Filter

答:Intent Filter其实是一个Intent属性限制条件的集合,包含Intent对象的action、data、category等属性限制。每个Intent Filter描述组件的一种能力,即能够接收的一组Intent。

2、Service

答:Service是Android系统的后台服务组件,适用于开发无界面、长时间运行的应用功能。

3、BroadcastReceiver

答:如果应用程序注册了BroadcastReceiver,则可以接收到指定的广播消息并作相应的处理。所以BroadcastReceiver可以看成是全局的监听器,用于监听系统广播消息或自定义广播消息。

五、简答题(每小题5分,共20分)

1、新启动的Activity如何将结果返回给之前的Activity?

答:获取子Activity的返回值,一般可以分为以下三个步骤:(1)使用startActivityForResult()去启动子Activity。(2)设置子Activity的返回值。在子Activity调用finish()函数关闭前,调用setResult()方法将所需的数据返回给父Activity。(3)在父Activity中获取返回值。当子Activity关闭时,启动它的父Activity的onActivityResult()方法将被调用;如果需要在父Activity中处理子Activity的返回值,则重载此方法即可。

2、如何启用Service,如何停用Service?

答:(1)启动方式通过Context的startService()方法启动Service,访问者与Service之间没有关联,即使访问者退出了,Service仍然运行。访问调用stopService()停用Service。(2)绑定方式通过Context的bindService()方法绑定Service,访问者与Service绑定在了一起,访问者一旦退出,Service也就终止。访问者调用unbindService()来解绑定Service。

3、如何注册一个BroadcastReceiver?

答:要实现自己的BroadcastReceiver,就需要继承BroadcastReceiver作为应用级组件,必须注册才能处理广播消息。注册有两种方式:(1)静态地在AndroidManifest.xml中用标签声明,并在标签内用标签设置过滤器。(2)动态的在代码中先定义并设置好一个Intent Filter 对象,然后在需要注册的地方调Context. registerReceiver (BroadcastReceiver,IntentFilter)方法。

4、通过Android的学习,你觉得Android系统及开发平台有哪些需要改进的地方?

答:-优势:

1.Android价格占优价廉性能并不低

2.Android系统的开源性,跟新快,利于创新

3.无缝结合的Google应用

4.运营商鼎力支持

5.机型多,硬件配置好

-不足:

1.安全和隐私做的不足人意

2.机型太多, 缺少标准配置

六、编程题(第1小题10分,第2小题15分,共25分)

1、设计一个Android程序,包含一个TextView和一个Button,每当点击一次Button时,TextView中文字的颜色就发生改变。颜色可以随机产生,也可以直接预先定义好若干种指定的颜色。假设在xml布局文件中,TextView的id定义为“@+id/tv”,按钮的id定义为“@+id/change”。请你写出该程序中的Activity类ChangeTextColorActivity的代码,不需要写xml布局文件。参考运行效果如下图所示:

2、写一个Se rvice类TimeService,功能是每隔5秒在后台(LogCat)中输出当前日期和时间。

一、填空题

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

2、Android系统采用分层结构,由高到低依次为应用程序层、应用程序框架层、核心类库、Linux内核。

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

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

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

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、Activity生命周期的三种状态分别是运行状态、暂停状态和停止状态。

2、Activity的4种启动模式是standard、singleTop、singleTask和singleInstance。

3、Android中Intent寻找目标组件的方式有两种:隐式Intent和显式Intent。

4、Activity生命周期中“回到前台,再次可见时执行”时调用的方法是onRestart()。

5、Android提供了一个startActivityForResult()方法来实现回传数据。

1、序列化是将对象状态转换为可保持或传输的过程。

2、Android中的文件可以存储在内存和SD卡中。

3、通常情况下,解析XML文件有三种方式,分别为DOM、SAX、PULL。

4、SharedPreferences是一个轻量级的存储类,主要用于存储一些应用程序的配置参数。

5、Android中的数据存储方式有5中,分别是文件、Sharedpreferences、Sqlite、网络和ContentProvider。

1、ListView的适配器有三种,分别是BaseAdapter、SimpleAdapter和ArrayAdapter。

2、创建数据库及数据库版本更新需要继承SQLiteOpenHelper。

3、SQLite创建时调用onCreate()方法,升级时调用onUpgrade()方法。

4、要查询SQLite数据库中的信息需要使用Cursor接口,使用完毕后条用close关闭。

5、创建ListView的布局界面必须通过id属性才能使数据显示在界面上。

1、ContentProvider匹配Uir需要使用的类是UriMatcher。

2、使用内容观察者时,调用onChange()方法可以得到数据变化的信息。

3、ContentProvider提供了对数据增、删、改、查的方法,分别为insert、delete、update和query。

4、ContentProvider用于保存和检索数据,是Android不同应用程序之间共享数据的接口。

5、在应用程序中,使用ContentProvider暴露自己的数据,通过ContentResolver对暴露的数据进行操作。

1、广播接收者可以在清单文件使用receiver注册。

2、终止广播需要使用abortBroadcast()方法。

3、广播的发送有两种形式,分别为有序广播和无序广播。

4、代码注册广播需要使用registerReceiver方法,接触广播需要使用unregisterReceiver方法。

5、指定接收广播类型的函数是sendOrderedBroadcast()。

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

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

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

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

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

1、Android系统提供了多种网络通信方式,包括Socket通信、HTTP通信、URL通信和WebView。

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

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

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

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

1、对图片添加旋转、缩放等特效需要使用Matrix 类。

2、要注册各种传感器需要先获取SensorManager对象。

3、绘制图像需要使用多个类,分别是Bitmap、BitmapFactory、Paint、Canvas。

4、Fragment与Acitivity相比多出的几种生命周期方法是onAttach()、onCreateView()、onActivityCreate()、onDestroyView()、onDetach()。

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

二、判断题

1、Android实际上就是一个手机。×

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

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

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

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

1、相对布局中android:layout_alignRight属性表示“在指定控件左边”。√

2、Toast的作用是显示一些提示信息。√

3、Table Row必须要设置layout_width和layout_height属性。×

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

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

1、Activity是Android应用程序的四大组件之一。√

2、Intent一般只用于启动Activity不能开启广播和服务。×

3、Intent可以用来卡其Activity,同样它也可以用来在Activity之间传递数据。√

4、Activity默认的启动模式是singleTop模式。×

5、在数据传递时,如果需要获取返回的数据,需要使用onActivityResult()方法。√

1、SharedPreferences本质上是一个XML文件,以Map形式存入文件中。√

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

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

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

档用户将文件保存至SD卡时,需要在清单文件中添加权限"android.permission.WRITE_EXTERNAL_STORAGE"。√

1、SQLite数据库使用完后不需要关闭,不影响程序性能。×

2、使用ListView显示较为复杂的数据时最好用ArrayAdapter配适器。×

3、SQLite既支持Android的API又支持SQL语句进行增、删、改、查操作。√

4、使用BaseAdapter控制ListView显示多少条数据是通过getView()方法设置。×

5、SQLite只支持NULL、INTEGER、REAL、TEXT和BLOB等5种数据类型。×

1、ContentProvider所提供的Uir可以随便定义。×

2、ContentResolver可以通过ContentProvider提供的Uir进行数据操作。√

3、ContentObserver观察指定Uir数据发生变化时,调用ContentProvider的是OnChange方法。√

4、使用ContentRsolver操作数据是,必须在清单文件进行注册。×

5、ContentProvider与Activitry一样,创建时首先会调用onCreatr()方法。√

1、每一个广播只能有一个广播接收者接收。×

2、广播接收者是四大组件之一,必须要在清单文件中注册。√

3、广播接收者的注册信息必须要保持唯一性。×

4、可以在BroadcastReceiver和onReceiver方法中处理耗时复杂的业务。×

5、广播接收者注册后必须要手动关闭。×

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

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

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

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

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

1、HttpURLConnection是一个标准的Java类。√

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

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

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

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

1、只要是Android设备就可以使用任何传感器。×

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

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

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

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

二、选择题

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、一下属性中,(D)属性可以“在指定控件左边”。

A、android:layout_alignLeft

B、android:layout_alignParentLeft

C、androif:layout_left

D、androi d: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、一个应用程序默认会包含(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、下列文件操作全险种,指定文件内容可以追加的是(C)

A、MODE_PRIV A TE

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、使用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、下列选项中,属于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、继承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、每一次启动服务都会调用(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、下列选项中,不属于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、使用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体系结构总共包含四层,分别是:

●应用程序层:设备上安装的软件应用都属于这一层

●应用程序框架层:包含应用API

●核心类库:包含系统库和运行环境,系统库包含了底层C代码;运行环境包含了Java的核心库和Dalvik虚拟机

●Linux内核:提供Android的底层驱动。

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

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

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:通过绝对的坐标控制控件摆放的位置。

1、简要说明Activity的4种启动模式的区别。

四种启动模式分别是:

●Standard:每当启动一个新的Activity,它就会进入任务栈,并处于栈顶的位置,对于使用standard模式的Activity,系统不会判断该Activity

在栈中是否存在,每次启动都会创建一个新的实例。

●SingleTop:与standard类似,不同的是,当启动的Activity已经位于栈顶时,则直接使用它不创建新的实例。如果启动的Activity没有位于

栈顶时,则创建一个新的实例位于栈顶。

●SingleTask:创建的Activity只存在一个实例。已经存在则直接使用该实例,并将当前Activity之上的所有Activity出栈,如果没有发现则

创建一个新的实例。

●singleInstance:启动一个新的任务栈管理Activity

2、简要说明Activity的三种状态以及不同状态使用的方法。

Activity三种状态分别是:

●运行状态:该状态下可以对界面进行操作

●暂停状态:界面可见但不具有焦点无法点击

●停止状态:界面不可见,一般在停止状态时保存数据以防止程序被系统强制杀死。

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

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

●文件存储:可以存储较大文件,以IO流形式传输数据。

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

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

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

●ContentProvider:提供自身暴漏的数据给第三方应用使用,统一了数据访问格式,以数据库形式保存数据。

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

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

SharedPreferences sp = getSharedPreferences("config", 0);

Editor editor = sp.edit();

editor.putString("a", "a");

https://www.360docs.net/doc/d119209699.html,mit();

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对象。

1、请简要说明ContentProvider对外共享数据的好处。

通过ContentProvider共享数据统一了数据访问方式,使用起来更规范,通过数据库存储并指定了URI,只有通过特定URI才能访问数据,使数据更安全。

2、请简要说明ContentProvider、ContentResolver和ContentOberver之间的联系。

ContentProvider可以共享自己的数据给外部应用访问,要访问ContentProvider暴漏的数据就要用到ContentResolver。而ContentObserver就相当于中间人的角色,它可以事实监听ContentProvider的数据是否发生变化,如果发生变化就会触发onChange()方法,Contentresolver可以在onChange()方法中查询的哪些数据发生了变化再对数据进行操作。

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

注册广播有两种方式。

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

移除。

●常驻型广播:当应用程序关闭后,如果接收到其他应用程序发出的广播,那么该程序会自动重新启动。但是4.0以上的系统中如果

安装了应用但是没有打开过,当有广播发出时应用也接收不到广播信息。

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

拨打电话:

发送短信:

设备开机:

电池电量低:

1、请简要说明使用AIDL访问远程服务的步骤。

使用AIDL接口实现通信的步骤如下:

1)在需要被调用的服务的项目中创建AIDL接口;

2)创建相应的服务

3)创建第二个项目用于调用服务。将服务中的aidl接口拷贝到第二个项目中,包名要和服务中的包名一致。

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

服务两种启动方式,分别是:

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

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

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()方法开启消息循环。

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

计算机病毒复习题(最终修改不完整版)

2.选择题 1.计算机病毒是(C) A.被损坏的程序 B.硬件故障 C.一段特制的程序 D.芯片霉变 2.计算机病毒的危害主要造成(D) A.磁盘破坏 B.计算机用户的伤害 C.CPU的损坏 D.程序和数据的破坏 3.新买回来的未格式化的软盘(A) A.可能会有计算机病毒 B.与带病毒的软盘放在一起会有计算机病毒 C.一定没有计算机病毒 D.经拿过带病毒的软盘的手碰过后会感染计算机病毒 4.计算机病毒一般由(ABCD)四大部分组成。 A.感染模块 B.触发模块 C.破坏模块 D.引导模块 E.执行模块 5.计算机病毒生命周期中,存在(B)和(C)两种状态。 A.静态 B.潜伏态 C.发作态 D.动态 6.在Windows 32 位操作系统中,其EXE文件中的特殊表示为(B) A.MZ B.PE C.NE D.LE 7.能够感染EXE、COM 文件的病毒属于(C)。 A.网络型病毒 B.蠕虫型病毒 C.文件型病毒 D.系统引导型病毒

8.著名特洛伊木马“网络神偷”采用的隐藏技术是(A) A.反弹式木马技术 B.远程线程插入技术 C.ICMP协议技术 D. 远程代码插入技术 9.下列(B)不是常用程序的默认端口。 A.80 B.8080 C.23 D.21 9.第一个真正意义的宏病毒起源于(A)应用程序。 A. Word B. Lotus 1-2-3 C. Excel D. PowerPoint 10.总结移动终端的恶意代码感染机制,其感染途径主要分为(ABC) A.终端—终端 B.终端—网关—终端 C.PC(计算机)—终端 D .终端—PC 11.移动终端的恶意代码的攻击方式分为(ABCDE) A.短信息攻击 B.直接攻击手机 C.攻击网关 D.攻击漏洞 E.木马型恶意代码 12.下列病毒中(C)计算机病毒不是蠕虫病毒。 A.冲击波 B.震荡波 C. CIH D.尼姆达 13.蠕虫和从传统计算机病毒的区别主要体现在(B)上。 A.存在形式 B.传染机制 C.传染目标 D.破坏方式 14.多数流氓软件具有的特征是(ABCD)

嵌入式系统复习题

一、名词解释: 1、A RM :Advanced RISC Machines 2、伪指令:是ARM汇编语言程序里的特殊指令助记符,不由处理器执行,而是在汇编时被合适的机器指令代替为ARM或Thumb指令,实现真正的指令操作 3、JTAG:(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。 4、EMCU:Embedded Microprocessor Unit嵌入式微处理器 5、MCU:Microcontroller Unit嵌入式微控制器又称单片机 6、RTOS:Real-Time Operating System实时操作系统 7、大(小)端地址模式: 大端:字数据的高位字节存储在低地址中,字数据的低字节则存放在高地址中小端:低地址中存放字数据的低字节,高地址中存放字数据的高字节 8、IDE:Integrated Drive Electronics外部接口,主要接硬盘和光驱。 9、交叉开发环境: 由运行于宿主机上的交叉开发软件和宿主机到目标机的调试通道组成。提供调试工具对目标机上运行的程序进行调试。 10、目标系统: 二、简答题: 1、国内对于嵌入式系统的定义是什么? 以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 2、什么是实时系统?根据实时性,嵌入式操作系统有哪些类型? 一个优先级高的任务能够获得立即的、没有延迟的服务,它不需要等候任何其它任务,而且在得到CPU使用权后,可一直执行到工作结束或有更高级的进程出现为止。或:一个能够在指定的或确定的时间内,实现 系统功能和对外部或内部、同步或异步事件作出响应的系统。或:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务 才能占有CPU的控制权。 ●强实时系统,其系统响应时间在毫秒或微秒级(数控机床); ●一般实时系统,其系统响应时间在毫秒-几秒的数量级上,其实时性的 要求比强实时系统要差一些(媒体播放); ●弱实时系统,其系统响应时间约为数十秒或更长。 3、选择嵌入式操作系统原则有哪些? 市场进入时间;可移植性;可利用资源;系统定制能力;成本;中文内核支持 4、列举三种以上常见的嵌入式操作系统。 Linux、uClinux、VxWorks、WinCE、ThreadX、uCOS-II、PalmOS、Symbian、android。 5、嵌入式系统有什么特点? 完成某一项或有限项功能; 在性能和实时性方面有严格的限制; 能源、成本和可靠性通常是影响设计的重要因素;

小米公司战略成本管理案例分析

战略成本管理案例研究 ——以小米公司为例 目录 1案例介绍1 1。1 公司简介1 1。2 小米手机1 1。3 战略概况1 2案例分析2 2.1小米公司的产业链及竞争环节分析2 2.2小米公司价值链分析10 2.2。1小米公司价值链重构的分析10 2。2。1。1小米公司商业模式的创新11 2.2。1。2解读小米公司价值链重构11 2.2。1.3小米公司的创新与挑战14 2.2。2小米手机竞争对手的价值链分析15 2。2。2。1苹果手机15 2.2.2。2华为手机16 2。3 小米公司企业战略的三个基本命题17 2。3。1 行业选择与业务定位17 2。3。1。1 行业选择17 2。3。1。2 业务定位17 2。3.2 竞争战略的选择18 2。3.2。1创新的低成本营销模式18 2。3。2.2实施成本企划,精选方案,精简成本18 2。3。3 如何依靠、培育、发展竞争所需的资源和能力19 2.3。 3.1优秀的团队19 2.3.3。2客户与公司有效沟通的网络平台19 2.3.3。3强大的关联公司后盾19 2。4 小米公司的价值创新战略20 2.4.1价值创新20 2.4。1。1价值创新的概念20 2。4。1。2价值创新的原则20 2。4。1。3价值创新的实施途径20 2。4。2小米公司的价值创新点21 2。4.2。1销售方式不同21 2。4。2.2产品定位不同21 2.4。2.3商业模式不同22

2。4.2。4营销模式不同22 2。4。3小米公司未来的价值创新点23 2。4。3.1和行业内实力雄厚的企业进行深度的合作23 2。4.3。2将部分研发和设计的工作外包23 2。4。3.3重点发展MIUI操作系统、米聊等移动互联网产品24 2。4.3。4增强品牌知名度24 2.4。3。5细化市场,个性化战略25 2。5 小米公司的成本动因分析25 2。5。1 结构性成本动因分析26 2。5.1.1规模经济26 2。5.1.2整合程度26 2。5。1。3 学习与溢出28 2.5。1。4地理位置28 2.5.1.5技术29 2。5。1。6 结构性成本动因分析下影响小米公司成本的主要因素29 2。5。2 执行性成本动因分析30 2。5。2.1生产能力运用模式30 2。5。2。2价值活动之间的联系31 2.5.2.3全面质量管理33 2.5。2.4员工对企业的向心力34 2。5。2。5 执行性成本动因分析下影响小米公司成本的主要因素34 3总结与建议34 3。1总结34 3。2建议36 3.2.1供应链方面36 3。2.2售后服务方面37

相关主题
相关文档
最新文档