精通android(Pro Android 4)面试题总结(一)

    有些知识会了,但不一定理解了机制,或者不会很深入体会。最近开始看《精通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错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

 

转载于:https://www.cnblogs.com/anumbrella/p/4869002.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431262.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验

来源:百问网作者:韦东山本文字数:924,阅读时长:3分钟阅读本节前先阅读:Pinctrl子系统重要概念GPIO子系统重要概念基于GPIO子系统的LED驱动程序1.1 确定引脚并生成设备树节点NXP公司对于IMX6ULL芯片&#xf…

php foreach 收邮件_php机制本身不提供多线程的操作,有了swoole就不一样了

多个任务同时执行比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送。不使用多进程时,我们首先判断是否发送邮件,如果需要则发送;然后再判断是否需要发送短信,如…

C#中的interface

接口(interface) 接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。 接口实际上是一个约定: 如&…

网易不进垃圾箱html,腾讯QQ、网易126、163邮箱发送邮件进入垃圾箱及收不到邮件怎么办?...

近期有用户反馈在云奇付(www.361ser.com)会员中心通过腾讯QQ邮箱、网易126、163邮箱绑定账号及安全验证无法正常收取或收不到云奇付发送的邮件怎么办?其实这是因为QQ邮箱、126邮箱、163邮箱等其它邮箱都有反垃圾邮件机制,很多企业网站的邮件都被误拦截到…

java技术分享主题_Java开发入门:适合新手练手的Java项目(附源码下载)

Java作为一门古老的语言,已有20年左右的历史,这在发展日新月异的技术圈可以说是一个神话。虽然不少人曾抱怨Java语言就像老太太的裹脚布,又臭又长,有时写了500行都不能表达程序员的意图。但从市场上的招聘现状看,Java工…

ehcache 缓存丢失_解决Ehcache缓存警告问题

警告: Creating a new instance of CacheManager using the diskStorePath "D:\Apache Tomcat 6.0.18\temp" which is already used by an existing CacheManager.The source of the configuration was classpath.The diskStore path for this CacheManager will be …

html简单父子页面,js 的 iframe 父子页面通信的简单方法

1、获取 子页面 的 window 对象在父页面中,存在如下两个对象window.framesdocument.iframeElement.contentWindow可以获取到 子页面 window 对象// iframe iddocument.getElementById(menuIframe).contentWindow// iframe namewindow.frames[menuIframe].window// i…

uni app 调用网络打印机_uni-app 的使用体验总结

[实践] uni-app 的使用总结最近使用 uni-app 的感受。使用体验没用之前以为真和 Vue 一样,用了之后才知道。有点类似 Vue 和 小程序结合的感觉。写类似小程序的标签,有着小程序和 Vue 的生命周期钩子。对比 uni-app 文档和微信小程序的文档,不…

iOS开发——高级篇——二维码的生产和读取

一、二维码的生成 从iOS7开始集成了二维码的生成和读取功能此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤:导入CoreImage框架通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码只能放数字):纯文本名片URL // 1. 实例化二维码滤镜 …

python 地址_python 解析地址 | 学步园

socekt.getaddrinfo的返回值介绍family: 表示socket使用的协议簇。常用的协议簇包括AF_UNIX(本机通信)/AF_INET(TCP/IP协议簇中的IPv4协议)/AF_INET6(TCP/IP协议簇中的IPv4协议)。在python的socket包中,用1表示AF_UNIX,2表示AF_INET,10表示AF…

html 微信发送给朋友,H5链接分享给微信好友,显示标题、描述、缩略图

效果展示image.png1.公众号设置1.1公众号需要经过认证,具有分享接口功能image.png1.2填写正确的域名(域名需要经过备案)image.png1.3 保存好AppID、AppSecret、设置好ip白名单(非常重要)image.png2.php代码(需要有php环境下,放到域名目录下)2.1展示下目录…

python怎么创建变量_python怎么创建变量

变量(variable)是学习python初始时,就会接触到的一个新的知识点,也是一个需要熟知的概念。python是一种动态类型语言,在赋值的执行中可以绑定不同类型的值,这个过程叫做变量赋值操作,赋值同时确定了变量类型。在python…

nginx 学习笔记【持续更新...】

1.如果在安装过程中出现以下错误 需要安装pcre库 解决方案:yum install pcre 2.如果nginx启动提示端口被占用,则停止该端口的服务再启动nginx,一般为httpd服务 解决方案:service httpd stop 3.nginx下php编译 ./configure --prefix/usr/local/fastphp …

python问号表达式_python中的问号表达式

我们知道C语句中存在问号表达式,例如下面:1a2>1? 10: -10;那么,Python脚本语言中是否也存在类似的问号表达式呢?答案是肯定的。而且存在两种方式。方式1:使用if else实现如下例:1b 5a 2 if b 4 else 1p…

计算机入门在线阅读,电脑入门基础教程..doc

PAGEPAGE 8大学计算机基础实验指导书A班2013年9月实验一 windows基本操作、系统环境一、实验目的1.熟悉Windows的基本知识和基本操作。2.熟悉Windows的程序管理。3.熟悉“Windows资源管理器”和“我的电脑”的使用。4.熟悉文件和文…

efcore 实体配置_创建并配置模型

创建并配置模型Creating and configuring a model10/13/2020本文内容Entity Framework 使用一组约定基于实体类的形状构建模型。Entity Framework uses a set of conventions to build a model based on the shape of your entity classes. 可指定其他配置以补充和/或替代约定的…

python怎么放音乐_python怎么播放音乐

Python播放音乐要使用pygame模块 首先安装pygame模块:pip install pygame 方法实现:def play_music(self): filepath r"E:\music\消愁.mp3"; pygame.mixer.init() # 加载音乐 pygame.mixer.music.load(filepath) pygame.mixer.music.play(sta…

sprintf_s与_snprintf与_snprintf_s

MSDN页面分别如下: spirntf_s: http://msdn.microsoft.com/zh-cn/library/ce3zzk1k%28VS.80%29.aspx _snprintf: http://msdn.microsoft.com/zh-cn/library/2ts7cx93%28vVS.90%29.aspx _snprintf_s: http://msdn.microsoft.com/zh-cn/library/f30dzcf6.aspx 三个页面…

git ssh配置文件 服务器_git登录ssh服务器

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

怎么用计算机打分数,电脑excel中分数怎么打出来(图解excel分数输入法)

在日常工作中,我们经常需要在excel中输入分数,默认情况下,当我们直接输入分数,比如输入“9/16” 回车后,会发现系统显示的却是日期数据,如下图所示,那么分数该怎么输入呢?今天就来和…