有些知识会了,但不一定理解了机制,或者不会很深入体会。最近开始看《精通android》(Pro Android 4)这本书,发现书本后面有一些面试题,看了一下。发现还是有些帮助,不错!!就上网找答案,可是网上好像没有这类资源(也许是我没找到),所以准备自己总结一下。
这本书工31章,除了第一章没有面试问题外,其余都有。所以楼主会根据自己看书的进度,定期更新。(答案是搜索+自己理解体会,可能有不对的地方欢迎指正!)
欢迎访问新博客:www.anumbrella.net , 我尽量两个博客都更新。
本博文为原创转载请注明链接:http://www.cnblogs.com/anumbrella/p/4869002.html
第二章:
1.Android开发是否需要JRE或JDK?
答: android开发主要是用java语言,当然也支持ndk(c,c++),如果用java开发,肯定是需要JDK(Java Development Kit ,java语言开发工具包),而JRE(Java Runtime Environment,Java运行环境)则不需要,它主要用于运行java编写的程序。
2.是否能够不使用Eclipse进行Android开发?
答: 首先我们要知道Eclipse是什么,它是一款开源的ide集成软件(像Android Studio、Intelij IDEA一样的),只是提供一种便利的开发方式,你可以不使用它,比如直接使用Android SDK(Software Development Kit,Google提供的android软件开发工具包),通过使用SDK命令来使用开发。(eclipse其实也是调用的这些命令,只是它把它们都图形化了)
3.Android SDK 中 tools 和 platform-tools 目录有什么区别?
答:tools文件夹包含重要的工具,比如ddms用于启动Android调试工具,比如logcat、屏 幕截图和文件管理器,如:draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,monkeyrunner是一个不错的压力测试应用,模拟用户随机按键,mksdcard是模拟器SD映像的创建工具,emulator是 Android SDK模拟器主程序。而platform-tools则保存着一些通用工具,比如adb、和aapt、aidl、dx等文件(其实SDK目录下还包含platforms文件夹,它是每个平台的SDK真正的文件,里面会根据APILevel划分的SDK版本)
4.什么是Android视图?
答:View是UI元素,是构成用户界面的基本构建块。View可以是一个按钮、便签、文本字段或者各种其他UI元素。视图也可以是其他视图的容器,如:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)等,最终,所看到的一切都是视图。
5.什么是Intent?
答:Intent是执行某种工作的“意图”。主要是解决Android应用的各项组件之间的通讯。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。
6.判断:应用的构建目标必须同时设定的最低SDK版本一样。为什么?
答:不正确,因为android系统存在多个版本,如android4.0,5.0,6.0,不同的手机系统版本不一样。我们设置最低的SDK和构建目标是保证app应用能够在多个版本上都能兼容运行,为了保证程序的兼容性不能设置为一样的。
7.在选择应用包名时,必须采取哪些预防措施?
答:包名是一个应用的唯一身份标示,包名一样系统就认为是同一个应用,重复安装的时候会覆盖。因此我们在设计app包名时应当保证包名的唯一性,一般是使用域名倒置的写法来保证唯一性。
8.什么是AVD?它的作用是什么?
答:AVD(Android Virtual Device,Android虚拟设备),AVD使开发人员无需使用真实的Android设备(手机或者平板电脑)就可以测试应用程序。可以在各种配置下创建AVD来模拟不同类型的真实设备。
9.什么是AVD快照?如何使用?
答:Snapshot的意思是“快照”。能够保存AVD关闭时的状态,然后再下一次启动的时候显示上一次关闭时的状态,类似缓存机制。因为AVD启动比较缓慢,启动快照,能够加快启动速度。使用:在编辑AVD菜单上勾选上snapshots选项即可。
10.应用所需要的MP3文件应该存储在哪一个源文件夹?
答:存放在assets文件夹下面。
11.应用的图标文件保存在什么位置?
答:存放在drawable文件夹下面。
12.活动的第一个生命周期回调函数是什么?
答:onCreate()函数。
13.活动的最后一个生命周期回调函数是什么?
答:onDestroy()函数。
14.哪一个类可以用于记录应用的日志消息?
答:Log类。
15.用于记录日志消息的所有方法有哪些,它们的区别是什么?
答:Log类,提供了5个静态方法z,Log.v(String tag, String msg)、Log.d(String tag, String msg);、Log.i(String tag, String msg)、 Log.w(String tag, String msg)、Log.e(String tag, String msg)、分别对应 Verbose(啰嗦), Debug(调试), Info(提示), Warning(警告),Error(错误)。区别:Log.v 的调试颜色为黑色的,任何消息都会输出;Log.d的输出颜色是蓝色的,仅输出调试的信息,它也会输出上层的信息;Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息;Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息;Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。