zoukankan      html  css  js  c++  java
  • 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 用于记录日志消息的所有方法都有哪些,它们的区别是什么?

  • 相关阅读:
    网站安全编程 黑客入侵 脚本黑客 高级语法入侵 C/C++ C# PHP JSP 编程
    【算法导论】贪心算法,递归算法,动态规划算法总结
    cocoa2dx tiled map添加tile翻转功能
    8月30日上海ORACLE大会演讲PPT下载
    【算法导论】双调欧几里得旅行商问题
    Codeforces Round #501 (Div. 3) B. Obtaining the String (思维,字符串)
    Codeforces Round #498 (Div. 3) D. Two Strings Swaps (思维)
    Educational Codeforces Round 89 (Rated for Div. 2) B. Shuffle (数学,区间)
    洛谷 P1379 八数码难题 (BFS)
    Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords (贪心)
  • 原文地址:https://www.cnblogs.com/ProgrammerHu/p/3751327.html
Copyright © 2011-2022 走看看