Android 面试问题
亲爱的读者,这些安卓面试问题是专门为你设计的,让你熟悉在面试时可能遇到的Android问题。根据我的经验,好的面试官在你的面试中几乎不打算问任何特定的问题,通常问题从一些基本的主题概念开始,然后会根据你的回答继续进一步的讨论。 −
Android 安卓是一个用于移动设备的软件堆栈,包括一个操作系统、中间件和一些关键的应用程序。应用程序在自己的进程和自己的Dalvik虚拟机实例中执行。
安卓应用架构有以下组成部分。具体如下 −
服务 − 它将执行后台功能
意图 − 它将执行活动之间的相互连接和数据传递机制。
资源外化 − 字符串和图形
通知 − 灯光、声音、图标、通知、对话框和toast
内容提供商 − 它将在应用程序之间共享数据
活动在屏幕上执行动作。如果你想做任何操作,我们可以用活动来做
安卓系统的包装密钥是由类、用户界面、支持性资产和清单组成的,所有文件都被压缩成一个叫做 APK 的文件。
它连接到应用程序的外部世界或应用程序的内部世界,例如,打开一个PDF是一个意图,并连接到网络浏览器等。
Android 明确的意图指定了要从活动中调用的组件。换句话说,我们可以通过显式意图在 Android 中调用另一个活动。
隐含的意图不指定组件。在这种情况下,意图提供了由系统提供的可用组件的信息,该系统将被调用。
每个应用程序的根目录下都必须有一个AndroidManifest.xml文件(正是这个名字)。该清单文件向安卓系统展示了关于你的应用程序的基本信息,该系统在运行该应用程序的任何代码之前必须拥有该信息。
Android应用程序是用java(Android SDK)和C/C++(Android NDK)编写的。
ADT 是 Android 开发工具的缩写,它对开发应用程序和测试应用程序很有用。
Android SDK与Android模拟器、DDMS(Dalvik调试监控服务)、AAPT(Android资产打包工具)和ADB(Android调试桥)。
视图组是一个视图和其他子视图的集合,它是一个不可见的部分,也是布局的基类。
该服务就像一个活动,在没有UI交互的情况下做后台功能。
一个内容提供者组件根据请求从一个应用程序向其他应用程序提供数据。这种请求由ContentResolver类的方法来处理。一个内容提供者可以使用不同的方式来存储其数据,数据可以存储在数据库中,也可以存储在文件中,甚至可以通过网络存储。
Toast 通知 − 它将在窗口的表面显示一个弹出的信息
状态栏通知 − 它将在状态栏上显示通知
对话通知 − 这是一个与活动有关的通知。
容器容纳对象、部件、标签、字段、图标、按钮等。
它是仿真器和IDE之间的桥梁,它执行远程shell命令,在仿真器上运行应用程序。
ANR 是指应用程序没有响应,基本上是当应用程序没有响应时出现的一个对话框。
适配器用于创建子视图来代表父视图项目。
共享偏好是在 XML 文档中存储数据的最简单机制。
- Linux Kernel
- Libraries
- Android Framework
- Android applications.
意图过滤器是过滤掉意图的。
在 "Layout" 文件夹中,布局是以XML文件形式放置的。
我们可以改变位图图像的九个部分,如四个角、四个边缘和一个轴。
AlertDialog, ProgressDialog,DatePickerDialog, 和 TimePickerDialog
InflateException,Surface.OutOfResourceException,SurfaceHolder.BadSurfaceTypeException,和 WindowManager.BadTokenException
积极的,中立的,消极的。
共享首选项、内部存储、外部存储、SQLite数据库和网络连接
粘性意图也是一种类型的意图,它允许一个函数和一个服务之间的通信,例如,sendStickyBroadcast()也是在Intent完成后执行操作。
安卓系统使用谷歌翻译器将一种语言的数据翻译成另一种语言,并在开发时以字符串的形式放置。
WebView 是 UI 组件,可以显示远程网页或静态 HTML。
Android 使用DVM(Dalvik Virtual Machine),而不是使用JVM(Java Virtual Machine),如果我们愿意,我们可以把.jar文件作为一个库来使用。
Android 为所有的应用程序提供了一个独特的ID,称为Linux ID,这个ID用于跟踪每个应用程序。
我们并不真正建议在应用程序部署后改变它的名称,如果我们改变,它将影响到所有其他的内部组件。
JSON,XML bitmap.etc 是应用程序的资源。你可以将这些文件注入到构建过程中,并可以从代码中加载它们。
使用意图,我们可以启动一个活动。
Intent intent = new Intent(this, MyTestActivity.class); startActivity(intent);
通过使用Bundle,我们可以将数据传递给子活动。
Bundle bun = new Bundle(); bun.putString("EMAIL", "contact@tutorials.com");
一个只能创建一个对象的类,该对象可以与所有其他类共享。
片段是一块活动,如果你想把你的应用程序转360度,你可以通过片段做到这一点。
睡眠模式意味着CPU将处于睡眠状态,除了无线电接口层和警报之外,它不接受来自安卓设备的任何命令。
安卓是定制的Linux 3.6内核。
在活动中使用一个动态广播接收器,并从服务中发送一个广播。一旦动态接收器被触发,就从该接收器更新用户界面。
AndroidManifest.xml
build.xml
bin/
src/
res/
assets/
应用程序小部件是微型的应用程序视图,可以嵌入到其他应用程序中(如主屏幕),并接受定期更新。这些视图在用户界面上被称为Widget,你可以用App Widget提供商发布一个。
利用findViewById,我们可以找到视图元素。
一个汇编的视觉资源,可用作背景、横幅、图标、闪屏等。
FLAG_ACTIVITY_NEW_TASK
FLAG_ACTIVITY_CLEAR_TOP.
下一步是什么?
此外,你可以通过你过去做的关于该主题的作业,确保你能够自信地谈论它们。如果你是应届生,那么面试官一般不会希望你回答非常复杂的问题,而你必须将基本概念非常清晰了解。
其次,如果你不能回答几个问题,这真的不重要,重要的是无论你回答什么,你都必须自信地回答。所以,在面试时要有自信。我们祝愿你有一个好的面试官,未来所有努力都将有最好的运气。:-)