Android面试题整理1

1 简述如何利用搜索引擎快速找到你想要的资料?

详细地描述你的要查找的内容的关键字,描述得越详细,就越好找。多个关键字的话,使用空格分开。改进自己的搜索提问。

2 简述activity的生命周期 ?

A、onCreate( ) : Activity的初始化,调用此方法

B、onStart( ):Activity的启动,调用此方法

C、onResume( ):当Activity获取用户焦点将要与用户交互时调用此方法,此时activity在activity栈的栈顶,用户输入已经可以传递给它

D、onPause( ):当系统要启动一个其他的activity时调用(其他的activity显示之前),这个方法被用来提交那些持久数据的改变、停止动画、和其他占用CPU资源的东西。由于下一个activity在这个方法返回之前不会resumed,所以实现这个方法时代码执行要尽可能快

E、onStop( ) :当另外一个activity恢复并遮盖住此activity,导致其对用户不再可见时调用

F、onDestroy( ):在你的activity被销毁前所调用的最后一个方法,当进程终止时会出现这种情况

G、onRestart( ):当activity从停止状态重新启动时调用。其后调用onResume()。

3 简述MVC在android中的实现

Android中界面部分也采用了当前比较流行的MVC框架,在Android中: 

  1) 视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。当然,如何你对Android了解的比较的多了话,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作为View层,当然这里需要进行Java和JavaScript之间的通信,幸运的是,Android提供了它们之间非常方便的通信实现。     

  2) 控制层(Controller):Android的控制层的重任通常落在了众多的Acitvity的肩上,这句话也就暗含了不要在Acitivity中写代码,要通过Activity交割Model业务逻辑层处理,这样做的另外一个原因是Android中的Acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。

  3) 模型层(Model):对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的。就是应用程序中二进制的数据。
      在Android SDK中的数据绑定,也都是采用了与MVC框架类似的方法来显示数据。在控制层上将数据按照视图模型的要求(也就是Android SDK中的Adapter)封装就可以直接在视图模型上显示了,从而实现了数据绑定。比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。 
















你可能感兴趣的:(Android面试题整理1)