Android 应用开发经典面试题
1、 Android 的四大组件是哪些,它们的作用?
答:Activity:Activity 是 Android 程序与用户交互的窗口,是 Android 构造块中最基本的一
种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转
逻辑
service:后台服务于 Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关
的食物,定义好需要接受的 Intent 提供同步和异步的接口
Content Provider:是 Android 提供的第三方应用数据的访问方案,可以派生 Content
Provider 类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,
向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径
BroadCast Receiver:接受一种或者多种 Intent 作触发事件,接受相关消息,做一些简单
处理,转换成一条 Notification,统一了 Android 的事件广播模型
2、 请介绍下 Android 中常用的五种布局。
常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),
AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。
一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放
一点比较简单的东西。
二、LinearLayout:线性布局,每一个 LinearLayout 里面又可分为垂直布局
(android:orientation=”vertical”)和水平布局(android:orientation=”horizontal” )。当垂
直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每
一个元素依次向右排列。
三、AbsoluteLayout:绝对布局用 X,Y 坐标来指定元素的位置,这种布局方式也比较简单,
但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。
四、RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。主
要属性有:相对于某一个元素 android:layout_below、 android:layout_toLeftOf 相对于父元
素的地方 android:layout_alignParentLeft、android:layout_alignParentRigh;
五、TableLayout:表格布局,每一个 TableLayout 里面有表格行 TableRow,TableRow
里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相
互嵌套应用,做出美观的界面。
3、 android 中的动画有哪几类,它们的特点和区别是什么
答:两种,一种是 Tween 动画、还有一种是 Frame 动画。
Tween 动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;
另一种 Frame 动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。
4、 android 中有哪几种解析 xml 的类?官方推荐哪种?以及它们的原理和区别。
答:XML 解析主要有三种方式,SAX、DOM、PULL。常规在 PC 上开发我们使用 Dom 相
对轻松些,但一些性能敏感的数据库或手机上还是主要采用 SAX 方式,SAX 读取是单向
的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方
便。而 DOM 方式会把整个 XML 文件加载到内存中去,这里 Android 开发网提醒大家该方
法在查找方面可以和 XPath 很好的结合如果数据量不是很大推荐使用,而 PULL 常常用在