网站首页 > 教程文章 正文
这里北大青鸟深圳嘉华学校将介绍6个安卓面试题和答案,希望能对安卓人员有所帮助,不周之处请指正。
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:设计模式上(反转控制的一种应用,类似监听者模式)
用心办好学,深圳嘉华邀您加入互联网队伍!
微信号:jhzyjy(长按复制)
我们专注IT教育,欢迎你前来咨询!
猜你喜欢
- 2025-03-19 10款你可能不知道的Android开发辅助工具
- 2025-03-19 2021年四大流行Android手机自动化测试工具,全在这里了
- 2025-03-19 安卓16锁屏组件将回归! 更多信息展示,不用解锁即可浏览!
- 2025-03-19 如何查看Android设备中的组件和控件
- 2025-03-19 Android历史版本以及最新版本:Android 15
- 2025-03-19 「字节跳动测试开发面经」一二三面+hr面+超级多干货+复习资料
- 2025-03-19 技术分享 | 想做App测试就一定要了解的App结构
- 2025-03-19 大厂面试原来是这样,这份面试攻略你值得拥有!
- 2025-03-19 我的第一个鸿蒙app,以及所见内容(ZT)
- 2025-03-19 10款可以直接拿来用的Android UI工具
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)