安卓面试题二

填空题:

1.我们用________来定义一个整数,用Char来定义一个字符类型,称为原始数据类型;

2.android 的四大组件是____________,service,broadcast和contentprovide;

3.activity一般会重载7个方法用来维护其生命周期,除了_____________________,onStart(),onDestory() 外,

还有onRestart(),onResume(),onPause(),onStop();

4.android的数据存储的方式______________,

文件,SQlite,contentprovider,网络;

5.新建一个Activity需要在_________________.xml文件中申明;

6.Android解析xml的方法中,将整个文件加载到内存中进行解析的是______;

7. Timer中取消定时器的方法是________;

8.给ListView设置适配器的方法是____________;

9. 全局定时器中设置时间的方法是__________;

10. web service的标准通信协议是_________(写大写字母);

11. httpClient中发送请求的方法是___________

12. Android安装程序的后缀名为____________

13. android虚拟设备的缩写是_____________

14.为了使android适应不同分辨率的机型,布局时字体应使用___单位

15. Android使用____________数据库

16. Android主要以______语言为开发基础

17. Android当中基本的所有的UI都是由______或者其子类实现的

18. Android.jar是一个标准的压缩包,其内容包含的是编译后的_______,包含了全部的API

19. layout布局文件的命名不能出现字母______ 

20. 设置TextView字体的属性是: _____________

单选题:

1.Android项目工程下面的assets目录的作用是(  )

A、放置应用到的图片资源
B、主要放置一些文件资源,这些文件会被原封不动打包到 apk 里面
C、放置字符串,颜色,数组等常量数据
D、放置一些与UI相应的布局文件,都是xml文件

2.以下程序的运行结果为(  )
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、编译出错

3. Math.round(11.5)及Math.round(-11.5)分别等于 (  ).
A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12
4
. 使用HttpURLConnection的Get方式请求数据时,下列哪个属性是必须设置的(  ) 

A、connection.setDoOutput(true)

B、connection.connect()

C、connection.setRequestMethod("POST")

D、connection.setDoInput(true)
5.activity对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(  )
A、onPause() B、onCreate() C、 onResume() D、onStart()

6.下列属于SAX解析xml文件的优点的是(  )

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

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

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

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

7.Android语言中字符串学Android所占的内存空间是(   )
A、 8个字节

B、 9个字节
C、 10个字节
D、 11个字节

8. Hanlder是线程与Activity通信的桥梁,如果线程处理不当,机器就会变得越慢,那么线程销毁的方法是(  )
    A、onDestroy()
    B、onClear()
    C、onFinish()
    D、onStop()

9.下面退出Activity错误的方法是(  )
A、finish()
B、抛异常强制退出

C、System.exit()
D、onStop()

10. 关于Socket通讯正确的是( ) 

A、服务器端需要ServerSocket需要绑定端口号   

B、服务器端需要ServerSocket需要绑定端口号和IP地址 

C、客户端需要Socket,需要绑定端口号

D、客户端需要ServerSocket,需要绑定端口号

判断题:

1. EditText编辑框的提示信息可以通过android:text属性设置(   );

2.使用地图不需要用到android.permission.WRITE_SECURE_SETTINGS权限(  );

3.使用Sqlite数据库,当数据库版本发生变化时,可以自动更新数据库结构( );

4. Activity类都必须在Androidmaniefest.xml中进行声明( );

5. Android采用单线程模型( );

6. Android会默认会为线程创建一个关联的消息队列( );

7. Handler会与多个线程以及该线程的消息队列对应( );

8. 程序组件首先通过Handler把消息传送给Looper,Looper把消息放入队列( );

9. 关于应用程序的生命周期,一个Activity从启动到运行状态需要执行3个方法,它的正确顺序是:onCreate()->onStart()->onResume(  );

10. res目录:该目录存放程序中需要使用的资源文件,在打包过程中android的工具会对这些文件做对应的处理( );

11. R.java文件是自动生成而不需要开发者维护的。在res文件夹中内容发生任何变化,R.java文件都会同步更新( );

12. Assets目录:在该目录下存放的文件,在打包过程中将会经过编译后打包在APK中( );

13. AndroidManifest.xml是程序的配置文件,程序中用到的所有Activity、Service、Broadcast Intent Receiver和Content Provider都必须在这里进行声明( );

14.在 Android 中,1pt 大概等于 1.22sp( );

15. SQLite数据库文件可以保存在SD卡中( );

16. 安卓系统含有如下各版本( );

Android1.5代号cupcake  

Android1.6代号Donut  

Android2.0代号Éclair  

Android2.1代号eclair

Android2.2代号froyo  

Android2.3代号gingerbread   

Android3.0代号honeycomb 

Android4.0代号ice cream sandwich

17. Android dvm的进程和Linux的进程,应用程序的进程是否为同一个概念(  );

18. 在android中使用Menu时可能需要重写的方法有onCreateOptionsMenu()和onOptionsItemSelected(  );

19. Tween、Frame属于android的动画分类(  );

20. 内存回收程序负责释放无用内存(  );

问答题:

1.Android有哪三个基础组件?

 

 

 

 

 

2.简述Windows 环境下配置Android开发环境(ADT+Eclipse 方式)的步骤。

 

 

 

 

 

3. 简述Android中常用几种布局(Layout)?

 

 

 

 

 

4.请尽可能多的说出Android的数据存储方式?

 

 

 

 

 

5.列举TextView控件中属性(至少5个,例:android:text) 。

 

6. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面? 请说明原由

 

 

 

7. 实例化一个UITableView对象 要求写出关键语句

 

8. 请解释下Android程序运行时权限与文件系统权限的区别

 

 

9. 什么情况会导致Force Close ?如何避免?能否捕获导致其的异常

 

10. IntentService有何优点?

 

 

 

 

11. handler机制的原理

 

 

 

12. Android中的多线程,有几种方式?

 

 

 

13. 编码UTF-8GBKUniCode,分别一个字符占几个字节

 

 

 

 


答案:

一、填空题

1.int
2. Activity
3.onCreate()
4. SharedPreferences
5. AndroidManifest
6.DOM
7.cancel
8.setAdapter
9.set
10.SOAP

11.execute

12.apk

13.AVD

14.sp

15.SQLite

16.java

17.view

18.class

19.大写

20.android:textSize  

二、单选题

1

2

3

4

5

6

7

8

9

10

B

B

C

B

D

B

B

A

C

A

 

三、判断题

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

N

Y

Y

Y

Y

N

N

Y

Y

Y

Y

Y

N

N

Y

Y

Y

Y

N

Y

 

三、简答题

1. 答:

1Activity Manager

(2)Service

(3)Broadcast Receiver

2.答:

(1)JDK的安装;

(2)Java环境变量的设置;

(3)安装Eclipse;

(4)安装Android SDK;

(5)安装配置ADT;

3. 答:

(1)Linearlayout 线性布局

(2)Relativelayout 相对布局

(3)FrameLayout 框架布局

(4)TableLayout 表格布局

(5)AbsoluteLayout 绝对布局

4. 答:

(1) 使用SharedPreferences存储数据;

(2) 文件存储数据;

(3) SQLite数据库存储数据;

(4) 使用ContentProvider存储数据;

(5) 网络存储数据;

5. 答:

android:text

android:hintandroid:textColor

android:textSize

android:bufferType

android:maxLines

android:lines

android:layout_width

android:layout_height

android:layout_gravity

 

6. 答:

通过直接发送Uri把参数带过去,或者通过manifest里的intentfilter里的data属性

 

7. 答:

UITableView *my = [[UITableView alloc] initWithFrame:<#(CGRect)frame#> style:<#(UITableViewStyle)style#>];

my.delegate = self;

my.dataSource = self;

 

8. 答:

运行时权限Dalvik( android授权)

文件系统 linux 内核授权

9. 答:

一般像空指针啊,可以看起logcat,然后对应到程序中 来解决错误

10. 答:

IntentService 的好处

  1) Acitivity的进程,当处理Intent的时候,会产生一个对应的Service

  2) Android的进程处理器现在会尽可能的不kill掉你

  3) 非常容易使用

11. 答:

andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。

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

  2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到MessageQueue里;或者接收Looper从Message Queue取出)所送来的消息。

  3) Message Queue(消息队列):用来存放线程放入的消息。

4)线程:UIthread 通常就是main thread,而Android启动程序时会替它建立一个MessageQueue。

12. 答:

Thread、asyncTask、TimetTask、Looper

13. 答:

3(中文字符)    2       2

猜你喜欢

转载自blog.csdn.net/P876643136/article/details/81952238