android测试题答案.docx

上传人:b****5 文档编号:14726886 上传时间:2023-06-26 格式:DOCX 页数:47 大小:35.25KB
下载 相关 举报
android测试题答案.docx_第1页
第1页 / 共47页
android测试题答案.docx_第2页
第2页 / 共47页
android测试题答案.docx_第3页
第3页 / 共47页
android测试题答案.docx_第4页
第4页 / 共47页
android测试题答案.docx_第5页
第5页 / 共47页
android测试题答案.docx_第6页
第6页 / 共47页
android测试题答案.docx_第7页
第7页 / 共47页
android测试题答案.docx_第8页
第8页 / 共47页
android测试题答案.docx_第9页
第9页 / 共47页
android测试题答案.docx_第10页
第10页 / 共47页
android测试题答案.docx_第11页
第11页 / 共47页
android测试题答案.docx_第12页
第12页 / 共47页
android测试题答案.docx_第13页
第13页 / 共47页
android测试题答案.docx_第14页
第14页 / 共47页
android测试题答案.docx_第15页
第15页 / 共47页
android测试题答案.docx_第16页
第16页 / 共47页
android测试题答案.docx_第17页
第17页 / 共47页
android测试题答案.docx_第18页
第18页 / 共47页
android测试题答案.docx_第19页
第19页 / 共47页
android测试题答案.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

android测试题答案.docx

《android测试题答案.docx》由会员分享,可在线阅读,更多相关《android测试题答案.docx(47页珍藏版)》请在冰点文库上搜索。

android测试题答案.docx

android测试题答案

第一天:

1,

对于如下的一些映射关系,当请求URL为”/xxx/yyy/a.do”时,哪个Servlet会响应()

Servlet1 映射到 /abc/*

Servlet2 映射到 /*

Servlet3 映射到 /abc

Servlet4映射到*.do

(10分)

A、Servlet1

B、Servlet2

C、Servlet3

D、Servlet4

参考答案:

B

答案说明:

url-pattern匹配规则:

①完全匹配:

以“/”开头,以字母(非“*”)结束

   如:

/test/list.do

②目录匹配:

以“/”开头且以“/*”结尾

   如:

/test/*

/*

③扩展名匹配:

以“*.”开头,以扩展名结束

   如:

*.do

④ “/” 用来表明对应的Servlet为应用默认的Servlet。

在这种情况下Servlet路径是请求的URI去掉上下文路径并且路径信息为null。

2、

下列选项中,哪个方法可以准确的获取请求页面的一个文本框的输入(文本框的名称为name) ()。

(10分)

A、request.getParamter(name)

B、request.getParamter(“name”)

C、request.getParamterValues(name)

D、request.getParamterValues(“name”)

参考答案:

B

答案说明:

request.getParameter("name")   根据name获取value值

request.getParameterNames("name")   根据name获取一组值,如多选框

3、

在web.xml中下面哪一个标签标示servlet的URL映射()(10分)

A、mapping

B、servlet-url

C、url-mapping

D、servlet-mapping

参考答案:

D

答案说明:

HelloServlet

/hello

多选题共2题满分:

20分

4、

下列选项中,说法正确的是()。

(10分)

A、客户端每次请求都会创建一个request对和response对象并且把这2个对象传递到doGet方法和doPost方法中

B、在浏览器的地址栏输入地址,点击回车,这个过程称为一次请求

C、HttpServletResponse,是一个接口,父接口是Servlet

D、服务器端根据客户端的请求,返回数据到浏览器中进行显示,这个过程称为一次响应

参考答案:

A,B,D

答案说明:

C错误原因:

HttpServletResponse,是一个接口,父接口是ServletResponse

5、

下列选项中,()是http相应包含的组成部分。

(10分)

A、响应体

B、响应头

C、响应尾

D、响应行

参考答案:

A,B,D

答案说明:

HttpServletResponse,是一个接口,父接口是ServletResponse,代表响应对象。

http的响应包含三部分组成:

第一部分:

响应行l第二部分:

响应头l第三部分:

响应体

判断题共0题满分:

0分

填空题共1题满分:

10分

6、

_____是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

(10分)

参考答案:

Servlet

答案说明:

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。

 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

简答题共1题满分:

20分

7、

请简述HttpServletRequest实例的getContextPath() 方法,getRequestURL()方法和getParameter("name") 方法的作用。

(20分)

参考答案:

request.getContextPath()   获取根路径;

request.getRequestURL();   获取请求的url;

request.getParameter("name")   根据name获取value值;

答案说明:

request对象是请求对象。

请求一次就创建一个request对象,并且存储了请求的信息。

所以在表单提交中,我们可以通过request对象获取用户提交的所有信息。

HttpServletRequest类中的常用方法:

request.getContextPath()   获取根路径。

        

request.getParameter("name")   根据name获取value值

request.getParameterNames("name")   根据name获取一组值,如多选框

request.getRequestURL();   获取请求的url

request.getRequestDispatcher(" 路径 ").forward(request,response)  转发是一次请求

request.getCookie();获取请求中的cookie

request.getSession(true)获取session。

 默认参数为true表示如果没有获取到,则重新创建并返回;false如果没有获取到,返回null

代码题共1题满分:

20分

8、

写一个HelloServlet ,实现向页面输出内容hi czbk。

(20分)

参考答案:

JavaWeb101.txt 下载

答案说明:

实现Servlet

(1)实现Servlet接口

如果实现接口,需要把接口里面的方法都实现。

(2)继承GenericServlet, HttpServlet类

如果继承类,不需要把类中的方法都实现。

(3)需要web服务器知道java程序不是一个普通的java程序,而是一个servlet

通过配置进行操作,在web项目中,web.xml里面进行配置。

[1]定义一个类继承httpServlet

publicclassHelloServletextendsHttpServlet{

//处理get请求

@Override

protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

PrintWriterwriter=resp.getWriter();//向浏览器的输出流

writer.println("");

writer.println("");

writer.println("hiczbk");

writer.println("");

writer.println("");

}

//处理post请求

@Override

protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)

throwsServletException,IOException{

doGet(req,resp);

}

}

[2]重写2个方法doGet,doPost

[3]在在web.xml中配置

HelloServlet

cn.itcast.servlet.ServletDemo1

HelloServlet

/hello

第二天:

1、

关于ANR描述错误的是( )。

(10分)

A、ANR全称是ApplicationNotResponding

B、出现ANR异常不会影响用户使用

C、在主线程中执行了耗时的操作会引起ANR

D、应用超过5秒钟不响应用户操作会出现anr

参考答案:

B

答案说明:

在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:

Application Not Responding)对话框。

用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。

因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。

2、

关于handler消息分发机制,下列( )方法可以延时发送消息。

(10分)

A、sendEmpty(..)

B、sendEmptyMessage(..)

C、sendMessageDelayed(..)

D、sendMessage(..)

参考答案:

C

答案说明:

我们利用Handler的sendMessageDelayed(msg, secs*1000),可以要求secs秒后,将信息放置在队列中,排队处理,很简单就能实现。

3、

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

(10分)

A、Handler只能用来发送消息

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

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

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

参考答案:

B

答案说明:

Handler顾名思义就是处理者的意思,它主要用于发送消息和处理消息。

一般使用Handelr对象的sendMessage()方法发送消息,发出的消息经过一系列的辗转处理后,最终会传递到Handler对象的handlerMessage()方法中.

多选题共2题满分:

20分

4、

下列选项中说法正确的是() 。

(10分)

A、避免ANR,可以把耗时操作放到子线程

B、ANR是ApplicationNotResponse应用无响应

C、只有在主线程(UI线程)才可以更新UI

D、消息机制可以用来处理这种更新UI的情况

参考答案:

A,B,C,D

答案说明:

(1)ANR  Application Not Response 应用无响应。

主线程(UI线程)。

(2)如果在主线程中进行了耗时的操作(比如连接网络,拷贝大数据)Thread.sleep();

(3)避免ANR,可以把耗时操作放到子线程。

(4)在4.0之后谷歌强制要求连接网络不能在主线程中进行访问。

09-26 01:

49:

03.818:

 W/System.err(1638):

 android.os.NetworkOnMainThreadException

(5)只有在主线程(UI线程)才可以更新UI

09-26 01:

51:

50.050:

 W/System.err(1708):

 android.view.ViewRootImpl$CalledFromWrongThreadException:

 Only the original thread that created a view hierarchy can touch its views.

(6)消息机制可以用来处理这种更新UI的情况。

5、

由于子线程不能更新UI代码,我们可以使用下列哪种方式()解决这个问题。

(10分)

A、在子线程中使用setImageView(..)设置图片

B、调用runOnUiThread(..)方法中更新ui

C、在子线程中用handler发送message给主线程,然后在主线程中更新ui

D、Thread中直接更新ui

参考答案:

B,C

答案说明:

runOnUiThread(),顾名思义就是运行在UI线程,也就是主线程。

1. 如果仅仅就是更新UI,那么我们可以用runOnUiThread(),当中的代码都会在主线程中执行。

2. 当我们需要传递参数的时候,这时候就需要使用handler来实现

判断题共0题满分:

0分

填空题共1题满分:

10分

6、

_____ 主要用于存放所有通过Handler发送的消息。

(10分)

参考答案:

MessageQueue

答案说明:

1. Message

Message是在线程之间传递的消息,它可以在内部携带少量的信息what字段,用于在不同线程之间交换数据。

除此之外还可以使用arg1和arg2字段来携带一些整型数据,使用obj字段携带一个Object对象。

2. Handler

Handler顾名思义也就是处理者的意思,它主要是用于发送和处理消息的。

发送消息一般是使用Handler的sendMessage()方法,而发出的消息经过一系列地辗转处理后,最终会传递到Handler的handleMessage()方法中。

3. MessageQueue

MessageQueue是消息队列的意思,它主要用于存放所有通过Handler发送的消息。

这部分消息会一直存在于消息队列中,等待被处理。

每个线程中只会有一个MessageQueue对象。

4. Looper

Looper是每个线程中的MessageQueue的管家,调用Looper的loop()方法后,就会进入到一个无限循环当中,然后每当发现MessageQueue中存在一条消息,就会将它取出,并传递到Handler的handleMessage()方法中。

每个线程中也只会有一个Looper对象。

简答题共1题满分:

20分

7、

简单介绍一下Handler使用步骤.(20分)

参考答案:

1 在主线程创建Handler对象

  Private Handler handler = new Handler(){

  }

2 重写handlemessage方法 

3 拿着主线程创建的Handler发送一条消息

  handler.sendMessage();

4 重写的handlemessage方法就会接收到我们发送的消息.

答案说明:

Android4.0以后不能在UI线程访问网络,而子线程也不能更新UI界面。

为了根据下载进度实时更新UI界面,就需要用到Handler消息机制来实现线程间的通信,一般我们在主线程创建Handler对象.然后开启一个子线程去访问网络处理耗时的任务,然后通过主线程创建的Handler发送消息,消息就被加入到了消息队列MessageQueue中,系统里有一MainLooper(主消息的循环器),不断的监视消息队列,一旦发现消息队列里有消息,就把消息给取出来交给Handler,我们重写Handler的handleMessage()方法,在这个方法里面去更新ui.

代码题共1题满分:

20分

8、

编写一个图片查看器的案例,访问指定的url地址,并将获取到的图片更新ui界面。

(请使用除handler以外的方式)。

(20分)

答案说明:

子线程不能更新ui,所以通过runOnUiThread在主线程中更新ui.

Xml布局文件:

android=""

xmlns:

tools=""

android:

layout_width="match_parent"

android:

layout_height="match_parent"

android:

orientation="vertical"

tools:

context=".MainActivity">

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"

android:

onClick="click"

android:

text="查看"/>

android:

id="@+id/iv"

android:

layout_width="wrap_content"

android:

layout_height="wrap_content"/>

Java代码中:

publicclassMainActivityextendsActivity{

privateImageViewiv;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//[1]找到我们关心的控件

iv=(ImageView)findViewById(R.id.iv);

}

//[2]点击按钮进行查看指定路径的源码

publicvoidclick(Viewv){

newThread(){

publicvoidrun(){

Stringpath="";

try{

URLurl=newURL(path);

HttpURLConnectionconn=(HttpURLConnection)

url.openConnection();

conn.setRequestMethod("GET");

conn.setConnectTimeout(5000);

intcode=conn.getResponseCode();

if(code==200){

InputStreaminputStream=conn.getInputStream();

finalBitmapbitmap=

BitmapFactory.decodeStream(inputStream);

runOnUiThread(newRunnable(){

publicvoidrun(){

iv.setImageBitmap(cacheBitmap);

}

});

}

}catch(Exceptione){

e.printStackTrace();

}

};

}.start();

}

第三天:

1,当前Activity被其他Activity覆盖或者锁屏,系统会调用()生命周期方法 ,暂停当前Activity的执行。

(10分)

A、onDestroy()

B、onStop()

C、onPasue()

D、以上都会调用

参考答案:

C

答案说明:

1. 启动Activity:

系统会先调用onCreate()方法,然后调用onStart()方法,最后调用onResume()方法,Activity进入运行状态。

2. 当前Activity被其他Activity覆盖或者锁屏:

系统会调用onPasue()方法,暂停当前Activity的执行。

3. 当前Activity由覆盖恢复到前台或者被解锁屏:

系统会调用onResume()方法,再次进入运行状态。

4. 当前Activity转到新的Activity界面或者Home键回到主屏,自居后台:

系统会调用onPasue()方法,然后调用onStop()方法,进入停滞状态。

5. 用户退回到此Activity:

系统会调用onRestart()方法,然后调用onStart()方法,最后调用onResume()方法,再次进入运行状态。

6. 当前Activity处于被覆盖状态或者后台不可见状态:

有的时候系统内存不足,会杀死该Activity,而后用户退回到该Activity时:

再次调用onCreate(),onStart(),onResume()方法,进入运行状态。

7. 用户退出该Activity:

系统会调用onPause()方法,然后onStop()方法,最后onDestroy()方法,结束该Activity。

2、

Intent中如果既要设置类型又要设置数据,需要使用()方法。

(10分)

A、setData(..)

B、setType(..)

C、setDataAndType(..)

D、setTypeAndData(..)

参考答案:

C

答案说明:

Intent.setData(data)和intent.setType(type)注意这两个方法会互相清除,意思就是:

如果先设置setData(data)后设置setType(type),那么后设置的setType(type)会把前面setData(data)设置的内容清除掉,而且会报错,反之一样,所以如果既要设置类型与数据,那么使用setDataAndType(data,type)这个方法。

3、

使用() 管理器来完成发送短信的功能。

(10分)

A、ActivityManager

B、WifiManager

C、SmsManager

D、ConnectivityManager

参考答案:

C

答案说明:

ActivityManager 是与系统中所有运行着的Activity交互提供了接口,主要的接口围绕着运行中的进程信息,任务信息,服务信息等。

WifiManager  类似获得wifi链接名字,判断是否链接,开关等一些和无线相关;

SmsManager 管理短信操作,如发送数据,文本和PDU短信;

ConnectivityManager  主要管理网络连接相关操作;

多选题共2题满分:

20分

4、

intent传递数据时可以传递()类型的数据。

(10分)

A、Serializable

B、charsequence

C、Parcelable

D、Bundle

参考答案:

A,B,C,D

答案说明:

第一类:

简单或基本数据类型; 

第二类:

传递一个Bundle;

第三类:

传递Serializable对象;

第四类:

Parcelable对象;

第五类:

Intent return this;

5、

下列选项中()属于Activity的生命周期方法。

(10分)

A、onCreate()

B、onStart()

C、onCreateView()

D、onRestart()

参考答案:

A,B,D

答案说明:

生命周期方法 调用时间

onCreate()     当Activity第一次创建的时候调用

onDestory()   

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

当前位置:首页 > 小学教育

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

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