Android基础笔试题

1、Activity有哪几种启动方式?分别代表什么意思?

(1)standard 默认模式:每次激活Activity时都会创建Activity实例,并放入回退栈中。

(2)singleTop 如果在回退栈的栈顶正好存在该Activity的实例,就重用该实例,只要不在栈顶,都会创建实例。

(3)singleTask 如果在栈中已经有该Activity 的实例,就重用该实例。重用时,会让该实例回到栈顶,因此在

它上面的实例将会被移除栈。

(4)singleInstance 在一个新栈中创建该Activity 实例,并让多个应用共享该Activity 实例。

2、Android中常用的布局有哪些?

(1)LinearLayout 线性布局

(2)RelativeLayout 相对布局

(3)FrameLayout 帧布局(框架布局)

(4)GridLayout 网格布局

(5)TableLayout 表格布局

(6)AbsoluteLayout 绝对布局

3、ListView优化方案有哪些?数据集合更新后如何更新ListView显示?

(1)重写getView方法,对view对象的复用做的优化。

(2)viewHolder类,调用setTag和getTag方法,将view与holder对象进行绑定。

(3)分页加载

4、Intent都可以传递哪些数据类型?

(1)第一类:简单或基本数据类型 如:putExtra(String name, int[] value)

(2)第二类:传递一个Bundle

(3)第三类:传递Serializable对象

(4)第四类:Parcelable对象

(5)第五类:Intent

5、Fragment和Activity之间是如何传值的?

(1)方式一:拿到对方的对象。如Activity拿到Fragment的对象

(2)方式二:Actviity传递给Fragment,可以通过fragment的setArguments(bundle);getArguments()

(3)方式三:Fragment传递给Activity。可以在Fragment中定义一个内部接口回调,让Activity去实现。

6、介绍下Android都有哪些数据存储方式?

(1) 通过SharedPreferences方式存储,这类存储主要适用于存储信息量小的操作。具有操作和存储简便,

代码简单的特点

(2) 通过SD卡等磁盘介质存储,这类一般都是存成文件的形式。适用于存储信息量大,操作相对复杂些。

(3) 通过数据库,一般都是sqlite的方式进行存储,适用于存储信息量适中,这类存储在查询的时候比较

方便。而且能很好的支持SQL语句。

(4) 通过网络方式存储到其他服务器,这类一般适用于CS方式,且存储数据需要集中存储,具有联网的性

质。比如网游或者复杂应用。

7、解释Message、Handler、MessageQueue、Looper之间的关系,以及如何工作的?

Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,

再有Handler进行Message的分发和处理.

(1)Message Queue(消息队列):用来存放通过Handler发布的消息,通常附属于某一个创建它的线程,

可以通过Looper.myQueue()得到当前线程的消息队列

(2)Handler:可以发布或者处理一个消息或者操作一个Runnable,通过Handler发布消息,消息将只

会发送到与它关联的消息队列,然也只能处理该消息队列中的消息

(3)Looper:是Handler和消息队列之间通讯桥梁,程序组件首先通过Handler把消息传递给Looper,

Looper把消息放入队列。Looper也把消息队列里的消息广播给所有的

(4)Handler:Handler接受到消息后调用handleMessage进行处理

(5)Message:消息的类型,在Handler类中的handleMessage方法中得到单个的消息进行处理

8、页面上有ProgressBar控件,请写一个线程用十秒的时间来完成其从0-100的显示。

你可能感兴趣的:(Android基础笔试题)