![](https://csdnimg.cn/release/download_crawler_static/10202306/bg4.jpg)
android 面试题总结加强版 -- LhyPKU 整理 2013-5-27
4 / 20
11. 如何将 SQLite 数据库(dictionary.db 文件)与 apk 文件一起发布?
可以将 dictionary.db 文件复制到 Eclipse Android 工程中的 res aw 目录中。所有在 res aw 目录中的文件不
会被压缩,这样可以直接提取该目录中的文件。可以将 dictionary.db 文件复制到 res aw 目录中。
12. 如何将打开 res aw 目录中的数据库文件?
在 Android 中不能直接打开 res aw 目录中的数据库文件,而需要在程序第一次启动时将该文件复制到
手机内存或 SD 卡的某个目录中,然后再打开该数据库文件。复制的基本方法是使用 getResources
().openRawResource 方法获得 res aw 目录中资源的 InputStream 对象,然后将该 InputStream 对象中的数
据写入其他的目录中相应文件中。在 Android SDK 中可以使用 SQLiteDatabase.openOrCreateDatabase 方法来
打开任意目录中的 SQLite 数据库文件。
13. 在 android 中 MVC 的具体体现
Android 的官方建议应用程序的开发采用 MVC 模式。MVC 是 Model,View,Controller 的缩写,MVC
是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用 MVC 应用程序被分成三个核心部
件:模型、视图、控制器:
模型(Model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。
视图(View)对象:是应用程序中负责生成用户界面的部分。也是在整个 MVC 架构中用户唯一可以
看到的一层,接收用户的输入,显示处理结果。
控制器(Control)对象:是根据用户的输入,控制用户界面数据显示及更新 Model 对象状态的部分,
控制器更重要的一种导航功能,响应用户触发的相关事件,交给 Model 处理。即要求在 Application 开
发中你把商业逻辑,界面显示,数据分离。
Android 鼓励弱耦合和组件的重用,在 Android 中 MVC 的具体体现如下
1) 视图层(view):一般采用 xml 文件进行界面的描述,使用的时候可以非常方便的引入,当然,如何你
对 android 了解的比较的多了话,就一定可 以想到在 android 中也可以使用 javascript+html 等的方式作
为 view 层,当然这里需要进行 java 和 JavaScript 之间的通 信,幸运的是,android 提供了它们之间非
常方便的通信实现。
2) 控制层(controller): android 的控制层的重任通常落在了众多的 activity 的肩上,这句话也就暗含了不
要在 activity 中写代码,要通过 activity 交割 model 业务逻辑层处理, 这样做的另外一个原因是 android
中的 activity 的响应时间是 5s,如果耗时的操作放在这里,程序就很容易被回收掉。
3) 模型层(model): 对数据库的操作、对网络等的操作都应该在 model 里面处理,当然对业务计算等操
作也是必须放在的该层的。
MVC 模式不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、
可移植性和组件的可复用性。
14. Android 系统的架构
android 的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android 分为四个层,从高层