厦门Android培训
达内厦门Android培训中心

0592-5903858

热门课程

6个常见的andorid面试题

  • 时间:2018-03-27 17:18
  • 发布:厦门达内
  • 来源:企业面试题

1、简要解释一下activity、intent 、intentfilter、service、Broadcase、BroadcaseReceiver

答:一个activity呈现了一个用户可以操作的可视化用户界面

一个service不包含可见的用户界面,而是在后台无限地运行

可以连接到一个正在运行的服务中,连接后,可以通过服务中暴露出来的借口与其进行通信

一个broadcastreceiver是一个接收广播消息并作出回应的component,broadcastreceiver没有界面

intent:contentprovider在接收到ContentResolver的请求时被激活。

activity,service和broadcastreceiver是被称为intents的异步消息激活的。

一个intent是一个Intent对象,它保存了消息的内容。对于activity和service来说,它指定了请求的操作名称和待操作数据的URI

Intent对象可以显式的指定一个目标component。如果这样的话,android会找到这个component(基于manifest文件中的声明)并激活它。但如果一个目标不是显式指定的,android必须找到响应intent的最佳component。

它是通过将Intent对象和目标的intentfilter相比较来完成这一工作的。一个component的intentfilter告诉android该component能处理的intent。intentfilter也是在manifest文件中声明的。

2、IntentService有何优点?

答:IntentService的好处

*Acitivity的进程,当处理Intent的时候,会产生一个对应的Service

*Android的进程处理器现在会尽可能的不kill掉你

*非常容易使用

3、横竖屏切换时候activity的生命周期?

1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

4.如何将SQLite数据库(dictionary.db文件)与apk文件一起发布?

解答:可以将dictionary.db文件复制到EclipseAndroid工程中的resaw目录中。所有在resaw目录中的文件不会被压缩,这样可以直接提取该目录中的文件。可以将dictionary.db文件复制到resaw目录中

5.如何将打开resaw目录中的数据库文件?

解答:在Android中不能直接打开resaw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中,然后再打开该数据库文件。复制的基本方法是使用getResources().openRawResource方法获得resaw目录中资源的InputStream对象,然后将该InputStream对象中的数据写入其他的目录中相应文件中。在AndroidSDK中可以使用SQLiteDatabase.openOrCreateDatabase方法来打开任意目录中的SQLite数据库文件。

6.Android引入广播机制的用意?

答:a:从MVC的角度考虑(应用程序内)

其实回答这个问题的时候还可以这样问,android为什么要有那4大组件,现在的移动开发模型基本上也是照搬的web那一套MVC架构,只不过是改了点嫁妆而已。android的四大组件本质上就是为了实现移动或者说嵌入式设备上的MVC架构,它们之间有时候是一种相互依存的关系,有时候又是一种补充关系,引入广播机制可以方便几大组件的信息和数据交互。

b:程序间互通消息(例如在自己的应用程序内监听系统来电)

c:效率上(参考UDP的广播协议在局域网的方便性)

d:设计模式上(反转控制的一种应用,类似监听者模式)

上一篇:Android面试需要注意的一些问题
下一篇:面试官竟然问我“生不生二胎”

面试常见问题--android高级面试题精选3篇

Android面试之高级篇

Android 高级面试题精选及答案

高级Android工程师面试回忆录

选择城市和中心
贵州省

广西省

海南省