美文网首页
1111面试记录

1111面试记录

作者: 黎庶光速绕树 | 来源:发表于2017-11-17 15:39 被阅读0次

    1.说说MVC模式的原理,它在Android中的运用,Android的官方建议应用程序的开发采用MVC模式。何谓MVC?

    MVC是model, view, controller的缩写,MVC包含三个部分:

    模型(model)对象:是应用程序的主体部分,所有的业务逻辑都应该写在该层。

    视图(view)对象:是应用程序中负责生成用户界面的部分。也是在整个MVC架构中用户唯一可以看到的一层,接收用户的输入,显示处理结果。

    控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分,控制器更重要的一种导航功能,响应用户出发的相关事件,交给m层处理。

    Android鼓励弱耦合和组件的重用,在Android中MVC的具体体现如下:

    (1)视图层(view):一般采用xml文件进行界面的描述,使用的时候可以非常方便的引入,

    (2)控制层(controller):Android的控制层的重任通常落在了众多的 activity的肩上,意味者不要在activity中写代码,要通过activity交割model业务逻辑层处理。这样做的另外一个原因是Android中的activity的响应时间是5s,如果耗时的操作放在这里,程序就很容易出现ANR。

    (3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。

    2.Application类的作用?

    Android系统自动会为每个程序运行时,创建一个唯一的Application类的对象

    Application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期。因为它在全局中是单例的,所以在不同的Activity/Service中获得的对象都是同一个对象。因此可以通过Application类来进行一些,如:数据传递、数据共享和数据缓存等操作。

    3.如何将打开res aw目录中的数据库文件?

    在Android中不能直接打开res aw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中,然后再打开该数据库文件。

    复制的基本方法是使用getResources().openRawResource方法获得res aw目录中资源的 InputStream对象,然后将该InputStream对象中的数据写入其他的目录中相应文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法来打开任意目录中的SQLite数据库文件。

    InputStream is = getResources().openRawResource(R.raw.word);

    InputStreamReader isr = new InputStreamReader(is);

    BufferedReader br = new BufferedReader(isr);

    String line;

    while ((line = br.readLine()) != null) {}

    相关文章

      网友评论

          本文标题:1111面试记录

          本文链接:https://www.haomeiwen.com/subject/lqrjvxtx.html