首页 > 代码库 > Pro Android4 面试题归纳
Pro Android4 面试题归纳
前几天在奶茶东买了本Pro Android4,忽然间发现章节之后的面试题很棒,决定花点时间整理整理,学习学习,放在这里,敬请各位看官拍砖!
2.1 Android开发是否需要JRE和JDK
JRE为Java Runtime Environment的简称,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。JRE是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其它工具。JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
Android开发使用的是Java,故必须有一个jvm去解析Java,因此JRE和JDK都是必须的。
2.2 能否不使用Eclipse进行Android开发
能。Android开发中编辑的对象同样也是文本文档,我们可以直接在记事本中编写Java代码,而不一定使用Eclipse,使用Eclipse只是为了使开发更加简洁、高效。开发Android可以使用的ADT还有Android Studio
2.3 Android SDK 中tools和platform-tools目录有什么区别
platform-tools 保存着一些通用工具,比如adb、和aapt、aidl、dx等文件,Android123提示,这里和platforms目录中tools文件夹有些重复,主要是从Android2.3开始这些工具被划分为通用了。
tools作为SDK根目录下的tools文件夹,这里包含了重要的工具,比如ddms用于启动Android调试工具,比如logcat、屏幕截图和文件管理器,而draw9patch则是绘制android平台的可缩放png图片的工具,sqlite3可以在PC上操作SQLite数据库,而monkeyrunner则是一个不错的压力测试应用,模拟用户随机按键,mksdcard则是模拟器SD映像的创建工具,emulator是Android SDK模拟器主程序,不过从android 1.5开始,需要输入合适的参数才能启动模拟器,traceview作为android平台上重要的调试工具。
2.4 什么是Android的视图
2.5 什么是Intent
Intent是具有相关的数据负载的操作。从最简单的层面上讲,Intent是你可以告诉Android要执行或调用的一种操作,它定义执行某种工作的“意图”,Intent封装了几种概念,所以理解它们的最佳方法就是查看它们的使用示例。可以使用Intent执行的任务:广播消息,启动Service,启动Activity,显示网页或一组联系人,拨出或接听电话。Intent并不总是由应用程序发起,系统也会使用它们来向应用程序通知特定的事件。
2.6 判断:应用的构建目标必须同设定的最低SDK版本一样,为什么?
错误。在开发Android应用时,不得不考虑的一个问题就是兼容性的问题,比如说:SDK的版本可能需要兼容2.2到4.4的全部版本。而我们也知道,低版本SDK相当于高版本SDK的子集,如果设置成为低版本的SDK也就无法兼容高版本机器了。
2.7 在选择应用包名时,必须要采取哪些预防措施?
不可和其他包名重复,以免出现语义错误;
最好使用有具体含义的词汇,以免时间太长忘记包内的内容;
2.8什么是AVD?它的作用是什么?
AVD的全称为:Android Virtual Device,就是Android运行的虚拟设备,他是Android的模拟器识别。建立的Android要运行,必须创建AVD,每个AVD上可以配置很多的运行项目。
AVD的存在使开发人员无需使用真实的Android设备就也已测试应用程序。
2.9什么是AVD快照?如何使用?
有时候,会想对原来软件增加新功能或者修改bug。在eclipse修改后保存代码(注意,要保存所有你修改过的文件)。然后右击你的项目—Run as—Android Application,结果可能如你所愿,增加或修改了。但是也会遇到一种情况,不管你怎么修改源文件都无法应用你的修改,程序还是跟上一次关闭时的状态一样。原因可能是snapshot引起的。
Snapshot的意思是“快照”。能够保存AVD关闭时的状态,然后再下一次启动的时候显示上一次关闭时的状态,类似缓存机制。这样的话,效果自然无法显示了。一般取消enable就可以了。
2.10 应用所需要的MP3文件应该存储在哪一个源文件夹?
2.11 应用的图标文件保存在什么位置?
res/drawable
2.12 活动的第一个生命周期回调函数是什么?
onCreate();
2.13 活动的最后一个生命周期回调函数是什么?
onDestroy();
2.14 哪一个类可以用于记录应用的日志消息?
2.15 用于记录日志消息的所有方法都有哪些,它们的区别是什么?