完整word版移动应用开发复习Word格式文档下载.docx

上传人:b****2 文档编号:5148009 上传时间:2023-05-04 格式:DOCX 页数:34 大小:387.08KB
下载 相关 举报
完整word版移动应用开发复习Word格式文档下载.docx_第1页
第1页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第2页
第2页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第3页
第3页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第4页
第4页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第5页
第5页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第6页
第6页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第7页
第7页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第8页
第8页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第9页
第9页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第10页
第10页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第11页
第11页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第12页
第12页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第13页
第13页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第14页
第14页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第15页
第15页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第16页
第16页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第17页
第17页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第18页
第18页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第19页
第19页 / 共34页
完整word版移动应用开发复习Word格式文档下载.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整word版移动应用开发复习Word格式文档下载.docx

《完整word版移动应用开发复习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整word版移动应用开发复习Word格式文档下载.docx(34页珍藏版)》请在冰点文库上搜索。

完整word版移动应用开发复习Word格式文档下载.docx

A、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 

B、不用事先调入整个文档,占用资源少 

C、整个文档调入内存,浪费时间和空间 

D、不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失

6.下面的对自定style的方式正确的是(a) 

A、 

<

resources>

style 

name="

myStyle"

>

itemname="

android:

layout_width"

fill_parent<

/item>

/style>

/resources>

B、 

C、 

D、 

stylename="

7.在android中使用Menu时可能需要重写的方法有(ac)。

(多选) 

A、onCreateOptionsMenu() 

B、onCreateMenu() 

C、onOptionsItemSelected() 

D、onItemSelected() 

8. 

在android中使用SQLiteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库版本进行管理的方法可以是(ab) 

A、getWriteableDatabase() 

B、getReadableDatabase() 

C、getDatabase() 

D、getAbleDatabase() 

9. 

关于service生命周期的onCreate()和onStart()说法正确的是(ad)(多选题) 

A、当第一次启动的时候先后调用onCreate()和onStart()方法 

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

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

10.下面在AndroidManifest.xml文件中注册BroadcastReceiver方式正确的(a) 

A、<

receiver 

NewBroad"

intent-filter>

action 

android.provider.action.NewBroad"

/>

/intent-filter>

/receiver>

B、<

C、<

action>

D、<

11. 

关于ContenValues类说法正确的是(a) 

A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值都是基本类型 

B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是任意类型,而值都是基本类型 

C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名,可以为空,而值都是String类型 

D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的名是String类型,而值也是String类型 

1、关于android进程,说法不正确的是( 

A、组件运行所在的进程,是由androidManifest.xml决定,它可以指定该组件运行于哪个进程。

B、背景进程是不为用户所见的Activity,但是还会有可能被用户看到,所以它不能被杀死 

C、当急需内存时,android会决定优先关闭那些空闲的进程 

D、可视进程一般不会不被系统所杀死 

2、Matrix类的作用( 

A、可以存储缩小或放大比列 

B、存储文件中的图片信息 

C、存储资源中的图片信息 

D、存储内存中的图片信息 

3、关于主题的说法,错误的是( 

A、它是属性集合 

B、它可以在程序中来设置 

C、它通常用于一个Activity或所有Activity上 

D、它可以用于单个TextView上 

4、setOnTouchEvent 

设置返回值为true 

和 

false有何区别?

以下说法较准确是( 

A、没有区别,都能对事件进行监听 

B、设置为true时 

只能在移动时获得一次监听事件,false则可以多次 

C、设置为false是 

,在处理一次监听事件后,系统将抛弃该次事件 

D、返回true表示这个消息已经被处理结束,后续的handler不再接收到这个消息

简答题

12. 

页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。

(10分)

public 

class 

ProgressBarStu 

extends 

Activity 

private 

ProgressBar 

progressBar 

null;

protected 

void 

onCreate(BundlesavedInstanceState) 

super.onCreate(savedInstanceState);

setContentView(R.layout.progressbar);

//从这到下是关键 

(ProgressBar)findViewById(R.id.progressBar);

Thread 

thread 

new 

Thread(newRunnable() 

run() 

int 

progressBarMax 

=progressBar.getMax();

try 

while(progressBarMax!

=progressBar.getProgress()) 

intstepProgress 

progressBarMax/10;

intcurrentprogress 

progressBar.getProgress();

progressBar.setProgress(currentprogress+stepProgress);

Thread.sleep(1000);

catch(InterruptedException 

e) 

e.printStackTrace();

});

thread.start();

//关键结束 

13. 

注册广播有几种方式,这些方式有何优缺点?

请谈谈Android引入广播机制的用意。

静态AndroidManifest.xml注册,2.动态registerReceiver. 

静态注册可以伴随着App启动而存在,动态注册只是在代码运行时注册,如果代码没有执行则该广播接收不到消息。

Android引入广播的机制用意是方便组件之前进行数据交互。

14. 

什么情况会导致Force 

Close 

?

如何避免?

能否捕获导致其的异常?

未处理的异常出现时会导致ForceClose,UI界面中Null指针导致ForceClose,当出现异常时,通过Logcat查看日志信息来判断原因。

尽量在可能出现异常的地方加入异常处理。

15. 

简要解释一下activity、 

intent 

、intent 

filter、service、Broadcase、BroadcaseReceiver 

Activity:

表示一个用户交互界面 

Intent:

消息封装对象,用来在Android组件间进行数据通信。

intentFilter:

消息过滤器,用来过滤不响应的消息,保留要处理的消息。

Service:

后台长期运行的Android组件。

Broadcast:

广播,用来发送异步广播。

BroadcaseReceiver:

广播接收器,用来接收响应的广播消息。

16. 

简要解释下Handler的工作原理。

andriod提供了Handler 

Looper 

来满足线程间的通信。

Handler先进先出原则。

Looper类用来管理特定线程内对象之间的消息交换。

1)Looper:

一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。

2)Handler:

你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;

或者接收Looper从Message 

Queue取出)所送来的消息。

3) 

Message 

Queue(消息队列):

用来存放线程放入的消息。

4)线程:

UIthread 

通常就是main 

thread,而Android启动程序时会替它建立一个MessageQueue。

17.Android应用容易发生ANR错误,请简述几种避免ANR错误的办法。

不要在Service,Activity,BroadCastReceiver中进行长时间耗时、阻塞、等待、睡眠等操作,上述操作通过AsyncTask或Handler机制实现。

18. 

Android应用对于内存的大小是有限制的,请简述几种解决办法。

1.可以在 

manifest 

文件中的 

application>

标签中设置 

largeHeap 

属性的值为 

"

true"

时, 

当前应用就可以获取到系统分配的最大堆内存. 

如果你设置了该值, 

可以通过 

ActivityManager 

的 

getLargeMemoryClass() 

函数获取最大的堆内存. 

2. 

修改dalvik代码 

修改/system/build.prop配置文件,dalvik.vm.heapsize=32m 

在使用大量内存之前调用ActivityManager中的getMemoryClass()来获得当前应用可用内存大小进行检测。

5. 

当使用Bitmap时,decode 

bitmap 

的时候,尽量配置下Options,例如:

inSameSize,Bitmap使用完以后,调用 

bitmap.recycle()来释放内存。

6. 

如果应用是基于图片的应用,尽量采用LazyLoad和DymanicRecycle 

7. 

decode 

的时候,将decode代码 

catch 

出来,catch 

oom 

error,避免程序crash,可以在catch里面做一些释放内存操作

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全部遮挡,则这个activity处于停止状态。

4,非活动状态,活动状态暂停状态和停止状态是activity的主要状态,不在以上三种状态的中activity则处于非活动状态。

Activity启动后处于活动状态,此时的activity位于界面的最上层,是与用户正在进行交互的组件,因此android系统会努力保证处于活动状态activity的资源需求,资源紧张时可终止其他状态的activity;

如果用户启动了新的activity,部分遮挡了当前的activity,或新的activity是半透明的,则当前的activity转换为暂停状态,android系统仅在为处于活动状态的activity释放资源时,才终止处于暂停状态的activity:

如果用户启用了新的activity完全遮挡了当前的activity,则当前的activity转变为停止状态,停止状态的activity将优先被终止;

活动状态的activity被用户关闭后,或暂停状态或停止状态的activity被系统终止后,activity便进入了非活动状态。

5、简述Android系统支持的三种菜单。

(1)选项菜单,是一种经常被使用的Android系统菜单,用户可以通过“菜单键”(MENU 

key)打开选项菜单。

(2)子菜单,是能够显示更加详细信息的菜单子项。

(3)快捷菜单,同样采用了动窗体的显示方式,虽然快捷菜单的实现方式与子菜单相同,但两种菜单的启动方式却截然不同。

6、简述Intent过滤器的定义和功能。

Intent过滤器是一种根据intent中的动作,类别和数据等内容,对适合接受该intent的组件进行匹配和筛选的机制。

Intent过滤器还可以匹配数据类型,路径和协议,还包括可以用来确定多个匹配顺序的优先级。

应用程序的activity组件,service组件和broadcastreceiver都可以注册intent过滤器。

这样,这些组件在特定的数据格式上则可以产生相应的动作。

7、简述Service的基本原理和用途;

(1)基本原理:

Service的生命周期从onCreate()开始到onCreate()中完成Service的初始化工作,在onDestroy()中释放所有占用的资源。

活动生命周期从onStart()开始,但没有与之对应的“停止”函数,因此可以近似认为活动生命周期也是以onDestroy()标志 

结束的。

(2)用途:

Service非常适用于无需用户干预,且需要长期运行的后台功能;

还可以用于进程间通信(IPC),解决两个不同Android应用程序之间的调用和通信问题。

1.常见的手机操作系统 

在移动开发领域,常见的手机操作系统有android、ios以及windows 

mobile 

2.常见术语 

Dalvik虚拟机:

Android应用程序是在Dalvik虚拟机的实例下以进程的形式运行的,Dalvik允许一个设备有效的运行多个虚拟机,虚拟机的执行文件时.dex,被优化为最小内存存放;

需要注意的是Dalvik虚拟机是基于寄存器的 

ADT:

developement 

Tools,目的是为用户提供一个强大的Android集成开发环境,使用户能够快速创建项目,调试程序以及导出签名的APK 

AVD:

Virtual 

Device,每个AVD模拟了一套设备来运行Android平台,这个平台只要有自己的内核、系统图像和数据分区,还可以有自己的SD卡,用户数据以及外观现实 

3.Android应用程序的四大组件以及每一个组件的作用 

(1)Activities:

一个Activity(活动)表示一个用户界面,可以和用户进行交互;

(2)Services:

Service(服务)是运行在后台的组件,一般用于执行需要长时间运行的操作,不提供用户界面,也不直接与用户进行交互,且比Activity具有更高的优先级;

(3)Content 

Provider:

内容提供器管理应用程序共享的数据,程序员可以将数据存储在文件系统、SQLite数据库、网络或任何其他应用程序可以访问到的位置;

(4)Broadcast 

Receives:

广播接受者是一个负责全系统广播通知的组件。

4.Android生命周期的调用的每一个方法及及作用 

onCreate( 

):

在Activity第一次被创建的时候调用,可在此处做初始化设置——创建视图、绑定数据至列表等 

onStart( 

当Activity正要变得为哦难怪乎所见时被调用,若Activity转向前台接着调用onResume(),若转向后台,则调用onStop( 

);

onRestart( 

在Activity停止后,再次启动前被调用 

onResume( 

在Activity与用户开始进行交互之前被调用,此时Activity处于栈顶,用户可见 

onPause( 

当系统要启动另一个Activity或弹出对话框时调用 

onStop( 

当Activity不再为用户可见时,调用 

onDestroy( 

当Activity销毁前被调用 

5.Android应用程序界面之间的跳转 

在一个android应用程序中有多个屏幕,即多个activity,并且在这些Activity之间进行切换是通过Intent机制来实现的。

在使用Intent进行Activity之间的跳转时,有三种方式 

(1)不带参数的跳转:

Intent 

Intent();

intent.setClass(Activity1.this,Activity2.class);

startActivity(intent);

(2)带参数的跳转 

Intent( 

Bundle 

bundle 

Bundle( 

bundle.putString(“name”,”kite”);

intent.putExtras(bundle);

(3)带返回值的跳转 

in

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2