本文属于转载 原文地址http://www.2cto.com/kf/201309/246530.html

在接下来的一段时间,我将收集一些常见面试题,综合网上资料加自己测试与理解,将其总结出来和大家分享,里面难免有一些问题,希望大家提出宝贵意见以便及时更正。

 
 
 
一、Activity、Service、BroadcastReceiver的作用
 
1. Activity是android四大组件中最基本的组件,是程序与用户交互的窗口,代表一个用户所能看到的屏幕,它具有自己的生命周期,由系统控制。它可以用来显示控件、监听系统事件(按键事件、触摸屏事件等)、为保持各界面的状态做很多持久化的事情。
 
2. 一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序等。比如音乐播放器就是启动一个Service来保持音乐在后台的播放。所以,Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。
 
3. Broadcast(广播)是一种广泛运用的在应用程序之间传输信息的机制。BroadcastReceiver代表广播接收器,是对发送出来的 Broadcast进行过滤接受并响应的一类组件。广播接收器没有用户界面,然而,它们可以启动一个activity或service 来响应它们收到的信息,或者用NotificationManager 来通知用户。
 
 
 
二、显式intent和隐式intent的区别是什么
 
显式Intent:对于明确指出了目标组件名称的Intent,我们称之为显式Intent。
 
隐式Intent:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent。
 
显式Intent直接用组件的名称定义目标组件,这种方式很直接。但是由于开发人员往往并不清楚别的应用程序的组件名称,因此,显式Intent更多用于应用程序内部传递消息。比如在某应用程序内,一个Activity启动一个Service。
 
隐式Intent恰恰相反,它不会用组件名称定义需要激活的目标组件,它更广泛地用于在不同应用程序之间传递消息。
 
另外,在显式Intent消息中,决定目标组件的唯一要素就是组件名称,一旦名称确定,就不需要其他内容即可找到相应组件。 但在隐式Intent中需要借助过滤器IntentFilter 来寻找与之相匹配的组件。
 
 
 
三、怎么将一个Activity封装成对话框的样子? 半透明的样子?长按Menu菜单的样子?  
 
1. 封装成对话框的样子:给activity加上如下属性
 
android :theme="@android:style/Theme.Dialog"
 
2.封装成半透明的样子:给activity加上如下属性
 
android:theme="@android:style/Theme.Translucent"
 
3.封装成长按菜单的样子:
 
重写onKeyDown()和onKeyLongPress()方法,在onKeyDown中对menu键调用event.startTracking()方法跟踪,这样长按Menu键会回调onKeyLongPress()方法,在里面弹出对话框式的activity即可。
 
四、介绍一下Android系统的体系结构
 
从上至下包括应用层(Applications)、应用框架层(Application Framework)、系统运行库层(Libraries and Android Runtime)和Linux内核层(Linux Kernel)。
 
1.应用层包含开发者自己开发的一些应用和Google已经绑定的一些核心应用。比如Email客户端、浏览器、联系人、日历等等。
 
2. 应用框架层就是应用开发者所必须了解API。该层提供了很多组件和管理器,比如活动管理器(Activity Manager)、窗口管理器(Window Manager)、内容提供器(Content Providers)、视图系统(View System)、包管理器(Package Manager)等等,那么开发者基于该层进行开发,就容易多了。
 
3. 系统运行库层是一些底层C/C++库,主要包括Bionic系统C库(C语言标准库,系统最底层的库)、多媒体库(Media Framework)、SGL(2D图形引擎库)、SSL(位于TCP/IP协议与各种应用层协议之间,提供数据通信支持)、OpenGL ES 1.0(3D效果支持)、SQLite(关系数据库)、Webkit(Web浏览器引擎)、FreeType(位图bitmap及矢量图vector)。
 
4. Linux内核主要是作为硬件和软件栈之间的抽象层,内核层提供如下一些驱动:显示驱动(Display Driver)、键盘驱动(Keyboard Driver)、Flash内存驱动(Flash Memory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、蓝牙驱动(Bluetooth Driver,基于IEEE 802.15.1)、WiFi驱动、Binder IPC驱动(Android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信)、Power Management(电源管理)。从软件角度看,Linux内核就是“硬件”。
 
五、一条最长的短信息约占多少 byte?
 
英文:160字节。中文:70个汉字即140字节,还有20字节用来标识是中文短信。

android面试题之一(红黑联盟)相关推荐

  1. it技术 学习资料库 红黑联盟:

    http://www.xuexi111.com/book/jisuanji/68383.html 红黑联盟: android教程_android高级教程_android教程 pdf_android开发 ...

  2. 我就纳闷了。。。红黑联盟。。的水印真的好明显,欺负我大csdn

    红黑联盟的人为毛老转载我的原创文章,而且还不标明出处... 还有其他的我就不说了.. 看看下面这张图: 有多可怜: 里面我的csdn是最不明显的....郁闷啊郁闷..    哎,也没什么了, 就那么回 ...

  3. mysql索引红黑联盟_MySQL索引

    MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 可以把索引看作是汉语字典的目录页,我们可以按拼音.笔画.偏旁部首等排序的目录(索引)快速查找到需要的字. ...

  4. 红黑联盟c语言教程,1.1.2 C语言的特点

    C语言与C#.C++和Java有着密切的"血缘"关系,可以说C语言是这几种语言的"鼻祖",因为这几种语言都是在C语言的基础上发展起来的,所以常常能听到" ...

  5. Android面试题大全(中高级)

    目录 Android Android主流框架 JAVA部分 设计模式 网络 其他 Android 1.synchronized和lock的区别 答: 详解synchronized与Lock的区别与使用 ...

  6. 2020 android面试题答案

    (1)java面试题(基础+进阶)(必须) java中==和equals和hashCode的区别 ==是运算符,用来比较两个值.两个对象的内存地址是否相等: equals是Object类的方法,默认情 ...

  7. Android面试题整理(源自鸿洋大神公众号【201803】的一篇BAT面试题推送)

    三月,想必各位程序员GG 此刻想要的,莫过于一篇面试宝典.鄙人不才,也从未系统的刷过面试题,以鸿洋大哥一篇面试题为引,略加整理,希望能帮到各位不知道看什么小伙伴.(大部分知识都是有答案的). 原文链接 ...

  8. Android面试题集锦(持续更新)

    一.java 熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等. (一)ja ...

  9. Android面试题算法篇

    Android面试题算法篇,由本人整理汇总,后续将继续推出系列篇,如果喜欢请持续关注和推荐,更多精彩内容可以关注微信公众号(Android高级编程):android-tech 系列文章目录: Andr ...

最新文章

  1. reindex-maven 私服(nexus)架设以及项目管理中遇到的问题及解决方案(updating)
  2. php ci cookie使用,CI框架实现cookie登陆的方法详解
  3. 【译】Effective TensorFlow Chapter10——在TensorFlow中利用多GPU处理并行数据
  4. 线程池的种类,区别和使用场景
  5. 利用 Domino V8 新特性开发 Mashup 应用(转载)
  6. 初学Java必写的小程序。
  7. guava 工具类及代码
  8. 第14章 学习scikit-learn文档
  9. Amlogic Linux系列(三) 视频解码分析
  10. python画图时常用的颜色——color=‘ ’
  11. java 获取视频编码_Java如何获取文件编码格式
  12. 利用python openpyxl库实现对多个excel工作簿的快速汇总
  13. 拓路前行-TDSQL追求极致体验的这一路
  14. Pandas 日期处理:生成及去除工作日与节假日
  15. 电脑打开excel文件的方式没有excel程序
  16. 项目经理之项目经理的必备能力
  17. 「力扣」第 546 题:移除盒子(很难的动态规划问题)
  18. android指定sim卡拨号,android – 在双SIM卡设备中使用指定的SIM拨打电话
  19. electron 中遇到的报错
  20. c语言把结构体首地址放入指针,C语言基础———指针,结构体指针,函数指针

热门文章

  1. 人工神经网络算法的应用,人工智能神经网络算法
  2. 关于PageRank算法的一些整理
  3. modbus CRC校验计算程序 demo
  4. php获取数组长度的方法+实例
  5. android 开发板 root后无法打开资源管理器Device File Explorer
  6. 浅谈Powerbuilder的未来和Powerbuilder使用者的未来
  7. 电子传真将推动企业无纸化办公进程
  8. 一楼二楼教师办公室图书馆操场计算机房,新版PEP小学四年级英语下册复习知识点整理...
  9. 深入了解zipline
  10. 科研tips——透过参考文献看科研素养