2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)

合集下载

Android开发工程师岗位面试题及答案(经典版)

Android开发工程师岗位面试题及答案(经典版)

Android开发工程师岗位面试题及答案1.请介绍一下您在Android开发方面的经验。

答:我在过去的X年中,一直从事Android应用开发工作。

我曾参与开发了多个项目,涵盖了各种领域,如电子商务、社交媒体以及物联网。

我熟悉AndroidSDK、Java和Kotlin编程语言,能够设计并优化用户界面、处理数据、进行性能调优等。

2.请解释一下MVC(Model View Controller)和MVVM (ModelView View Model)的架构模式。

答:MVC是一种将应用程序分为模型、视图和控制器的架构,用于分离数据、用户界面和应用逻辑。

MVVM是MVC的演变,引入了ViewModel层来处理视图和数据之间的通信,通过数据绑定实现更松散的耦合。

3.在Android中,什么是Content Provider?它的作用是什么?答:Content Provider用于在不同的应用程序之间共享数据。

它提供了一种标准的接口,允许应用访问和修改其他应用的数据,如联系人、媒体文件等。

4.如何在Android应用中处理不同屏幕尺寸和分辨率的适配?答:为了适配不同屏幕,可以使用不同的布局文件、尺寸单位和限定符。

例如,可以创建不同分辨率的资源文件夹,以确保应用在各种屏幕上都能正确显示。

5.请讲解一下Android中的线程和异步任务处理。

答:在Android中,主线程负责处理UI更新,而耗时操作应该在后台线程中执行,以避免阻塞主线程。

可以使用Thread、Handler、Async Task或RxJava等来管理线程和执行异步任务。

6.什么是Depend encyIn jection(依赖注入)?为什么在Android 开发中使用它?答:依赖注入是一种设计模式,用于将依赖关系从代码中分离出来,以提高可维护性和测试性。

在Android开发中,使用依赖注入可以更轻松地管理组件之间的依赖关系,例如使用Dagger框架。

安卓面试题及答案详解版

安卓面试题及答案详解版

安卓面试题及答案详解版1. 问题:什么是Android操作系统?答案: Android操作系统是一种基于Linux内核的开源操作系统,主要用于触屏移动设备,如智能手机和平板电脑。

它由Google公司开发并发布,允许设备制造商和开发者自由地修改和分发。

2. 问题:请解释Android的架构。

答案: Android架构从下到上分为四个层次:- 应用层:包含用户界面和应用程序。

- 应用框架层:提供应用程序开发接口(API)。

- 运行时环境层:包括Android核心库和Android运行时环境。

- Linux内核层:提供底层的硬件抽象层、内存管理、进程管理等功能。

3. 问题: Android应用是如何打包的?答案: Android应用通常使用APK(Android Package)格式进行打包。

APK文件是一个压缩文件,包含应用的代码、资源、资产、库和AndroidManifest.xml文件。

4. 问题:什么是Activity?答案: Activity是Android应用程序中的基本构建块,用于定义用户界面和用户交互。

每个Activity都是一个独立的屏幕,用户可以与之交互。

5. 问题:请解释Intent的概念。

答案: Intent是Android中用于请求操作的抽象描述符。

它可以用于启动Activity、启动服务或广播信息。

Intent可以显式地指定目标组件,也可以隐式地通过Intent Filter来匹配。

6. 问题:如何在Android中处理网络请求?答案:在Android中处理网络请求通常使用HTTP客户端库,如OkHttp或Retrofit。

这些库提供了简化的API来发送HTTP请求和接收响应。

7. 问题:解释Android中的Context对象。

答案: Context是Android中一个非常关键的类,它允许访问应用程序环境的全局信息。

Context可以用于启动Activity、获取资源、启动服务等。

Android面试题整理

Android面试题整理

Android常用面试简答题1、android 中得动画有哪几类,它们得特点与区别就是什么?参考答案:有两种,一种就是 Tween(补间)动画、还有一种就是 Frame(帧)动画。

Tween 动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度得变化;另一种 Frame 动画,传统得动画方法,通过顺序得播放排列好得图片来实现,类似电影。

2、请简述Handler得机制原理参考答案:andriod 提供了 Handler 与 Looper 来满足线程间得通信。

Handler 先进先出原则。

Looper类用来管理特定线程内对象之间得消息交换(Message Exchange)。

1)Looper: 一个线程可以产生一个 Looper 对象,由它来管理此线程里得 Message Queue(消息队列)。

2)Handler: 您可以构造 Handler 对象来与 Looper 沟通,以便 push 新消息到 Message Queue 里;或者接收 Looper从 Message Queue 取出)所送来得消息。

3) Message Queue(消息队列):用来存放线程放入得消息。

4)线程:UI thread 通常就就是 main thread,而 Android 启动程序时会替它建立一个Message Queue。

3、说说mvc模式得原理,它在android中得运用参考答案:MVC 就是 Model,View,Controller 得缩写,从上图可以瞧出 MVC 包含三个部分:模型( Model )对象:就是应用程序得主体部分,所有得业务逻辑都应该写在该层。

视图( View )对象:就是应用程序中负责生成用户界面得部分。

也就是在整个MVC 架构中用户唯一可以瞧到得一层,接收用户得输入,显示处理结果。

控制器( Control )对象:就是根据用户得输入,控制用户界面数据显示及更新Model 对象状态得部分,控制器更重要得一种导航功能,想用用户触发得相关事件,交给 Model处理。

Android面试题集合(含答案)

Android面试题集合(含答案)

Android面试题集合(含答案).云时代Android面试题集[键入文档副标题]目录第一章 Android最全面试题 71道题 (4)一、选择题 (4)二.填空和问答 (9)25. android中常用的五个布局是FrameLayout(单帧布局)、RelativeLyout(相对布局)、LinerLayout(线性布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局) (9)26. android 的四大组件是__Activity Service BrodcastReceiverContentProvier。

(9)27. java.io包中的__ObjectInputStream_和_ObjectOutputStream_类主要用于对对象(Object)的读写。

(9)28. android 中service的启动方法有:__startService____bindService_ (9)29. activity一般会重载7个方法用来维护其生命周期,分别是:onCreateonStart onResume onPause onStop onDestroy onRestart (9)30. android的数据存储的方式有:SharedPreferences数据存储、文件存储、SQLite数据库存储数据、Contentprovider存储数据、网络存储数据 (10)31. 当启动一个 Activity 并且新的 Activity 执行完后需要返回到启动它的Activity 数据,启动新Activity的方法是_startActivityForResult(intent,RequestCode)_,用来处理返回数据的Activity回调函数是void onActivityResult(int requestCode,int resultCode,intent data)_。

android面试问题与答案

android面试问题与答案

android面试问题与答案View重绘和内存泄露的好似是经常问的问题1. View的刷新:在需要刷新的地方,使用handle.sendmessage发送信息,然后在handle的getmessage里面执行invaliate或者postinvaliate.2. GC内存泄露出现情况:1.数据库的cursor没有关闭2.构造adapter时,没有使用缓存contentview衍生listview的优化问题—–减少创立view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程/3.Bitmap对象不使用时采用recycle()释放内存4.activity中的对象的生命周期大于activity调试方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size] 还有其他问题,大家欢送提出阿,可以是整体架构的,还有这个Hal层.这篇文章会涉及到以下几个内容一 Activity的生命周期二让Activity变成一个窗口:Activity属性设定三你后台的Activity被系统回收怎么办:onSaveInstanceState四调用与被调用:我们的通信使者– Intent一 Activity的生命周期和其他手机平台的应用程序一样,Android的应用程序的生命周期是被统一掌控的,也就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能并适应它。

简单地说一下为什么是这样:我们手机在运行一个应用程序的时候,有可能打进来发进来短信,或者没有电了,这时候程序都会被中断,优先去效劳的根本功能,另外系统也不允许你占用太多资源,至少要保证功能吧,所以资源缺乏的时候也就有可能被干掉。

言归正传,Activity的根本生命周期如下代码所示:Java 代码publicclass MyActivity extends Activity {protectedvoid onCreate(Bundle savedInstanceState);protectedvoid onStart();protectedvoid onResume();protectedvoid onPause();protectedvoid onStop();protectedvoid onDestroy();public class MyActivity extends Activity { protectedvoid onCreate(Bundle savedInstanceState); protected void onStart(); protected void onResume(); protected void onPause(); protected void onStop(); protected voidonDestroy(); }你自己写的Activity会按需要重载这些方法,onCreate是免不了的,在一个Activity正常启动的过程中,他们被调用的顺序是onCreate -> onStart -> onResume, 在Activity被干掉的时候顺序是onPause -> onStop -> onDestroy ,这样就是一个完整的生命周期,但是有人问了,程序正运行着呢来了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop ,恢复的时候onStart->onResume ,如果打断这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复的时候onResume 。

android 面试题及答案

android 面试题及答案

android 面试题及答案Android面试题及答案Android作为目前全球最主流的移动操作系统之一,为许多开发者提供了广阔的机会。

然而,要在Android开发领域取得成功并不容易。

在面试过程中,面试官常常会提问一些关于Android开发的问题,以考察面试者的技术能力和经验。

本文将介绍一些常见的Android面试题,并提供相应的答案。

一、Java基础1. Java中的面向对象特性是什么?请举例说明。

答案:Java中的面向对象特性包括封装、继承和多态。

封装是将数据和方法封装在一个类中,以提高代码的可维护性和安全性。

继承是通过创建子类来继承父类的属性和方法。

多态允许不同类的对象对同一方法作出不同的响应。

2. 抽象类和接口有什么区别?答案:抽象类是一个类,可以包含具体方法和抽象方法,有时候用于模板设计模式。

接口是一组完全抽象的方法集合,没有具体的实现,用于实现类的多继承。

类可以实现多个接口,但只能继承一个抽象类。

二、Android基础1. 请解释一下Activity的生命周期。

答案:Activity的生命周期主要包括以下几个方法:onCreate()、onStart()、onResume()、onPause()、onStop()、onRestart()和onDestroy()。

onCreate()在Activity被创建时调用,onStart()在Activity可见但无法响应用户输入时调用,onResume()在Activity可见并可以响应用户输入时调用,onPause()在Activity失去焦点但仍可见时调用,onStop()在Activity完全不可见时调用,onRestart()在Activity重新启动时调用,onDestroy()在Activity被销毁时调用。

2. 请解释一下Android中的四大组件。

答案:Android中的四大组件分别是Activity、Service、Content Provider和Broadcast Receiver。

android 百度面试题

android 百度面试题

android 百度面试题一、简介Android 是一个开放源代码的操作系统,主要用于移动设备,如手机、平板电脑和智能电视等。

在 Android 的发展过程中,百度作为中国互联网巨头,既积极参与 Android 生态系统的建设,也在自身的产品中广泛应用 Android 技术。

本文将介绍一些与 Android 相关的百度面试题,以帮助读者更好地了解和掌握 Android 开发。

二、常见面试题1. 请简述 Activity 的生命周期,并说明各个生命周期的用途。

答:Activity 是 Android 应用程序的基本组件,其生命周期包括onCreate、onStart、onResume、onPause、onStop、onDestroy 等方法。

其中 onCreate 在活动创建时调用,通常用于初始化操作;onStart 在活动可见但无法与用户交互时调用;onResume 在活动可见并且可与用户交互时调用;onPause 在活动失去焦点但仍可见时调用;onStop 在活动不可见时调用;onDestroy 在活动销毁时调用。

2. 请解释 Android 中的 Fragment,并说明其与 Activity 的关系。

答:Fragment 是在 Android 3.0 及以上版本引入的一种界面组件,它可以在一个 Activity 中承载多个独立模块的 UI。

Fragment 可以包含自己的布局和逻辑,相当于一个子 Activity。

一个 Activity 可以包含多个 Fragment,它们共享 Activity 的生命周期并且可以在运行时动态地添加、删除和替换。

3. 请解释 Intent 的作用,并说明其有哪些类型。

答:Intent 是 Android 进行组件间通信的一种机制,它用于在不同组件之间传递数据和触发操作。

Intent 既可以用于启动一个组件(如Activity、Service、BroadcastReceiver),也可以用于向其他组件发送广播。

常见Android面试题及答案(详细整理)

常见Android面试题及答案(详细整理)

常见Android⾯试题及答案(详细整理)以下是⼀些常⽤的Android⾯试题及答案,有需要没需要都可以备着,希望能帮到⼤家。

1. 请描述⼀下Activity ⽣命周期。

答: 如下图所⽰。

共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onPause(),onStop(), onDestroy()。

onCreate(): 创建Activity时调⽤,设置在该⽅法中,还以Bundle的形式提供对以前存储的任何状态的访问。

onStart(): Activity变为在屏幕上对⽤户可见时调⽤。

onResume(): Activity开始与⽤户交互时调⽤(⽆论是启动还是重新启动⼀个活动,该⽅法总是被调⽤。

onPause(): Activity被暂停或收回cpu和其他资源时调⽤,该⽅法⽤户保护活动状态的,也是保护现场。

onStop(): Activity被停⽌并转为不可见阶段及后续的⽣命周期事件时调⽤。

onRestart(): Activity被重新启动时调⽤。

该活动仍然在栈中,⽽不是启动新的Activity。

1、完整⽣命周期: 即从⼀个Activity从出现到消失,对应的周期⽅法是从onCreate()到onDestroy()。

2、可见⽣命周期: 当Activity处于可以⽤户看见的状态,但不⼀定能与⽤户交互时,将多次执⾏从onStart()到onStop()。

3、前景⽣命周期: 当Activity处于Activity栈最顶端,能够与其他⽤户进⾏交互时,将多次执⾏从onResume()到onPause()。

2. 两个Activity之间跳转时必然会执⾏的是哪⼏个⽅法。

答: 两个Activity之间跳转必然会执⾏的是下⾯⼏个⽅法。

onCreate()//在Activity⽣命周期开始时调⽤。

onRestoreInstanceState()//⽤来恢复UI状态。

Android面试题集合(含答案)

Android面试题集合(含答案)

目录第一章Android最全面试题71道题 (4)一、选择题 (4)二.填空和问答 (11)25. android中常用的五个布局是FrameLayout(单帧布局)、RelativeLyout(相对布局)、云时代Android面试题集[键入文档副标题]LinerLayout(线性布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局) (11)26. android 的四大组件是__Activity Service BrodcastReceiver ContentProvier。

(12)27. java.io包中的__ObjectInputStream_和_ObjectOutputStream_类主要用于对对象(Object)的读写。

(12)28. android 中service的启动方法有:__startService____bindService_ (12)29. activity一般会重载7个方法用来维护其生命周期,分别是:onCreate onStartonResume onPause onStop onDestroy onRestart (12)30. android的数据存储的方式有:SharedPreferences数据存储、文件存储、SQLite数据库存储数据、Contentprovider存储数据、网络存储数据 (12)31. 当启动一个Activity 并且新的Activity 执行完后需要返回到启动它的Activity数据,启动新Activity的方法是_startActivityForResult(intent,RequestCode)_,用来处理返回数据的Activity回调函数是void onActivityResult(int requestCode,intresultCode,intent data)_。

(13)33.下面程序运行的结果是:______________。

Android 面试题整理(很全面)

Android 面试题整理(很全面)

1. 什么是Activity?四大组件之一,一般的,一个用户交互界面对应一个activitysetContentView() ,// 要显示的布局, activity 是Context的子类,同时实现了window.callback和keyevent.callback, 可以处理与窗体用户交互的事件.button.setOnclickLinstener{}我开发常用的的有ListActivity , PreferenceActivity ,TabAcitivty等…如果界面有共同的特点或者功能的时候,还会自己定义一个BaseActivity.进度对话框的显示与销毁 doubanservice2. 请描述一下Activity 生命周期。

生命周期描述的是一个类从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法..在这个过程中会针对不同的生命阶段会调用不同的方法Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:oncreate ondestroy onstop onstart onresume onpause其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause;对话框的弹出, Activity.this这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。

最后讲自己项目中的经验,比如说豆瓣客户端每次进入某个界面的时候都要看到最新的数据,这个刷新列表的操作就放在onStart()的方法里面.fillData() 这样保证每次用户看到的数据都是最新的.多媒体播放, 播放来电话. onStop() 视频, 视频声音设置为0 , 记录视频播放的位置mediaplayer.pause();onStart() 根据保存的状态恢复现场. mediaplayer.start();在读文档的时候还发现 activity还有两个方法 onPostResume() 和 OnPostCreate()这两个生命周期的方法,不过开发的时候没有用到过.3. 两个Activity之间跳转时必然会执行的是哪几个方法。

android软件测试面试题及答案

android软件测试面试题及答案

android软件测试面试题及答案android软件测试面试题及答案(一)1、 Android的四大组件是哪些,它们的作用?答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的食物,定义好需要接受的Intent提供同步和异步的接口Content Provider:是Android提供的第三方应用数据的访问方案,可以派生ContentProvider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型2、请介绍下Android中常用的五种布局。

常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

二、LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(android:orientation=vertical)和水平布局(android:orientation=horizontal )。

当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

三、AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

android 常见面试题以及答案

android 常见面试题以及答案

android 常见面试题以及答案1. 请描述下Activity的生命周期。

2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3. 如何将一个Activity设置成窗口的样式。

(Edited by Sodino)4. 如何退出Activity?如何安全退出已调用多个Activity的Application?5. 请介绍下Android中常用的五种布局。

6. 请介绍下Android的数据存储方式。

(Edited by Sodino)7. 请介绍下ContentProvider是如何实现数据共享的。

(Edited by Sodino)8. 如何启用Service,如何停用Service。

(Edited by Sodino)9. 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。

10. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。

11. AIDL的全称是什么?如何工作?能处理哪些类型的数据?12. 请解释下Android程序运行时权限与文件系统权限的区别。

(Edited by Sodino)13. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。

14. 有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。

请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%。

15. 你如何评价Android系统?优缺点。

1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM 执行时,在linux看来就是一应用程序进程,所以说是同一概念2. sim卡的EF 文件有何作用sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本身可以有自己的操作系统,EF就是作存储并和手机通讯用的4.嵌入式操作系统内存管理有哪几种,各有何特性页式,段式,段页,用到了MMU,虚拟空间等技术5. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?分硬实时和软实时,android属于linux内核,linux在用户空间可抢占,内核空间在2.4以后可局部抢占,严格来讲Android属于软实时系统6. 一条最长的短信息约占多少byte?1、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。

android面试题及答案

android面试题及答案

android面试题及答案Android面试题及答案一、Java基础1. Java中的基本数据类型有哪些?它们分别占用多少字节?答:Java中的基本数据类型有byte、short、int、long、float、double、char、boolean。

它们分别占用的字节数是1、2、4、8、4、8、2、1。

2. Java中的值传递和引用传递的区别是什么?答:值传递是指将实际参数的值复制一份给形式参数,此后对形式参数的修改不会影响实际参数;引用传递是指将实际参数的引用传递给形式参数,此后对形式参数的修改会影响实际参数。

3. Java中如何实现多线程?答:Java中可以通过继承Thread类或实现Runnable接口来创建线程。

线程的启动可以调用start()方法。

4. Java中try-catch-finally的用法是怎样的?答:try-catch-finally用于异常处理。

try块中编写可能抛出异常的代码,catch块用于捕获和处理异常,finally块中的代码无论是否发生异常都会被执行。

二、Android基础1. 什么是Activity?答:Activity是Android中的一种应用组件,它负责与用户交互。

一个应用一般包含多个Activity,每个Activity代表应用中的一个屏幕。

2. Android中的四大组件是什么?答:Android中的四大组件是Activity、Service、Broadcast Receiver和Content Provider。

它们分别负责处理用户交互、后台服务、系统广播和数据共享。

3. Fragment是什么?它有什么用途?答:Fragment是Android中的一种可重复使用的组件,它代表了Activity中的一部分UI界面。

Fragment可以在Activity中动态添加、删除和替换,它能够实现多窗格界面和适配不同设备。

4. 什么是Intent?它有什么作用?答:Intent是Android中用于在组件之间传递消息的对象。

android面试问题与答案(3)

android面试问题与答案(3)

android面试问题与答案(3)再对照一下Intent的一些set方法,就知道怎么调用咯,希望你喜欢:)一,listview你是怎么优化的。

二,view的刷新,之前说过三,IPC及原理四,Android多线程五,Android为什么要设计4大组件,他们之间的联系,不设计行不行(主要是为了实现MVC模式,然而java中最难的模式也是这个,很少有产品能将这个模式做得很好【Technicolor的面试官问的这个】)六,service的周期,activity的周期,谈下你对Android内部应用的了解,比如他做电话,以及联系人等等应用。

框架层有很多东西还是多看看,熟悉Android怎么做的,不管你做应用程开发还是应用框架层开发很有好处的。

在就是你项目,突出你遇到什么难点,然后是怎么解决的!尽量将每个技术点凸显出来,当然面试官有时候会为了体现你是否真正做过,他会问你,你在这个应用中做那个模块,用了多少个类之类的问题。

偶尔有的面试官会问你,你用过Android自带的单元测试了没,怎么用的?当然我面试过很多家单位,有的是做平板,手机,数字电视,有的是做出个erp之类的客户端等等,出于前面的三个,基本上都是将Android的全部改掉,如果真正要做Android的话,大家要学的还很多。

总之,一句话,什么样的面试官都有,去面试的时候要做好一切心理准备,不管是技术还是基础都得扎实。

一个人的交谈能力也很重要,总之不是非常标准的普通话,最起码你说的得让别人听得懂,而且得把面试官讲得非常彻底,这样你获得offer的机会更大,谈工资也有优势~~当然曾经一家公司的面试官跟我说过,技术是不惜钱的,只要你有能力,多少钱他都请。

确实,来北京求职期间,牛人真的很多,而且有的面试官也非常好,给了很多忠肯的意见。

并不是每个面试官都特想为难你的~最主要的还是想知道你的技术,因为他们也是吃公司饭,得为这个负责。

1.View如何刷新?2.DDMS与TraceView的区别?3.activity被回收了怎么办?4.在Java中如何引入C语言?答案1.View 可以调用invalidate()和postInvalidate()这两个方法刷新2.DDMS是一个程序执行查看器,在里面你可以看见线程和堆栈等信息,TraceView是程序性能分析器3.activity回收了,那就只有另起了4.java调用C语言程序,可以用JNI接口来实现上面答案仅作参考,毕竟我个人能力也有限嘛,难免会回答错误,呵呵…..解答:1.View受系统刷新(系统内部有个循环,监控事件、做业务处理、绘UI),可以用postInvalidate()促使系统刷新。

android面试题及答案

android面试题及答案

android面试题及答案怎样修改Android.mk文件,下面就由小编为大家介绍一下的android面试题-简答题文章,欢迎阅读。

android面试题-简答题篇11、在多线程编程这块,我们经常要使用Handler,Thread和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢?答:Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。

而Runnable是一个接口,Thread是Runnable的子类。

所以说,他俩都算一个进程。

HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环。

与其说Handler和一个线程绑定,不如说Handler是和Looper一一对应的。

最后需要说明的是,在UI线程(主线程)中:mHandler=new Handler;mHandler.post(new Runnable{void run{//执行代码...}});这个线程其实是在UI线程之内运行的,并没有新建线程。

常见的新建线程的方法是:Thread thread = new Thread;thread.start;HandlerThread thread = newHandlerThread("string");thread.start;2、如何设定应用程序为系统级别的应用?答:apk 获取system权限;如何获取如下:第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。

2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。

Android面试题附答案.doc

Android面试题附答案.doc

Android面试题附答案附带答案,共100分一、选择题(30题,每题1.5分,共45分)1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(c),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(g)A、输入流和输出流B、字节流和字符流C、节点流和处理流D、File streamE、Pipe streamF、Random streamG、Filter stream2.下列代码的执行结果是:(b)public class Test3{public static void main(String args[]){System.out.print(100%3);System.out.print(“,”);System.out.println(100%3.0);}}A、1,1B、1,1.0C、1.0,1D、1.0,1.03.在继承中,关于构造方法的说明,下列说法错误的是(d)A、子类无条件的继承父类的无参构造方法,B、子类可以引用父类中的有参构造方法,使用super 关键字,C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法,D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。

4.以下程序的运行结果为(b)public class IfTest{public static void main(String args[]){int x=3;int y=1;if(x==y)System.o ut.println(“Not equal”);elseSystem.out.println(“Equal”);}}A、Not equalB、EqualC、无输出D、编译出错5.Java语言中字符串“学Java”所占的内存空间是(a)A. 6个字节B. 7个字节C. 10个字节D. 11个字节6.关于下列程序段的输出结果,说法正确的是:(d )public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A、有错误,变量i没有初始化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前19题为常考题目!!(版本号:1031)1、Android的四大组件是哪些,它们的作用?错误!未定义书签。

2、请介绍下Android中常用的五种布局。

错误!未定义书签。

3、android中的动画有哪几类,它们的特点和区别是什么错误!未定义书签。

4、android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别。

............................. 错误!未定义书签。

5、ListView的优化方案 ........................ 错误!未定义书签。

6、请介绍下Android的数据存储方式。

错误!未定义书签。

7、activity的启动模式有哪些?是什么含义?错误!未定义书签。

8、跟activity和Task 有关的 Intent启动方式有哪些?其含义?...................................................... 错误!未定义书签。

9、请描述下Activity的生命周期。

... 错误!未定义书签。

10、activity在屏幕旋转时的生命周期错误!未定义书签。

11、如何启用Service,如何停用Service。

错误!未定义书签。

12、注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。

................................................错误!未定义书签。

13、请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。

....................................................错误!未定义书签。

14、简要解释一下activity、 intent 、intent filter、service、Broadcase、BroadcaseReceiver错误!未定义书签。

15、说说mvc模式的原理,它在android中的运用,android 的官方建议应用程序的开发采用mvc模式。

何谓mvc?错误!未定义书签。

16、什么是ANR 如何避免它?.............. 错误!未定义书签。

17、什么情况会导致Force Close ?如何避免?能否捕获导致其的异常? ......................................... 错误!未定义书签。

18、描述一下android的系统架构 ...... 错误!未定义书签。

19、请介绍下ContentProvider是如何实现数据共享的。

错误!未定义书签。

20、Android本身的api并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,你遇到过吗?诺有的话会导致什么问题?如何解决? ..................... 错误!未定义书签。

21、IntentService有何优点? ............. 错误!未定义书签。

22、如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?...........................................错误!未定义书签。

23、如何将一个Activity设置成窗口的样式。

错误!未定义书签。

24、如何退出Activity?如何安全退出已调用多个Activity的Application?..................... 错误!未定义书签。

25、AIDL的全称是什么?如何工作?能处理哪些类型的数据?错误!未定义书签。

26、请解释下Android程序运行时权限与文件系统权限的区别。

.......................................................... 错误!未定义书签。

27、系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。

............................. 错误!未定义书签。

28、android系统的优势和不足 ........... 错误!未定义书签。

29、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 ................................. 错误!未定义书签。

30、sim卡的EF文件是什么?有何作用错误!未定义书签。

31、嵌入式操作系统内存管理有哪几种,各有何特性.. 错误!未定义书签。

32、什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗? ....................................... 错误!未定义书签。

33、一条最长的短信息约占多少byte?错误!未定义书签。

34、有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。

请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%。

........................................错误!未定义书签。

35、如何将SQLite数据库(dictionary.db文件)与apk文件一起发布.................................................. 错误!未定义书签。

36、如何将打开res aw目录中的数据库文件?错误!未定义书签。

37、DDMS和TraceView的区别? ........... 错误!未定义书签。

38、java中如何引用本地语言.............. 错误!未定义书签。

39、谈谈Android的IPC(进程间通信)机制错误!未定义书签。

40、NDK是什么........................................ 错误!未定义书签。

1、Android的四大组件是哪些,它们的作用?答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的事物,定义好需要接受的Intent提供同步和异步的接口Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的接口模型,大大简化上层应用,对数据的整合提供了更方便的途径BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型2、请介绍下Android中常用的五种布局。

常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。

一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

二、LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。

当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。

三、AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置,这种布局方式也比较简单,但是在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

四、RelativeLayout:相对布局可以理解为某一个元素为参照物,来定位的布局方式。

主要属性有:相对于某一个元素android:layout_below、 android:layout_toLeftOf 相对于父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;五、TableLayout:表格布局,每一个TableLayout里面有表格行TableRow,TableRow里面可以具体定义每一个元素。

每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。

3、android中的动画有哪几类,它们的特点和区别是什么答:两种,一种是Tween动画、还有一种是Frame动画。

Tween 动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。

4、android 中有哪几种解析xml的类?官方推荐哪种?以及它们的原理和区别。

答:XML解析主要有三种方式,SAX、DOM、PULL。

常规在PC 上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。

而DOM方式会把整个XML文件加载到内存中去,该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处理比较好,类似SAX方式,同样很节省内存,在J2ME 中我们经常使用的KXML库来解析。

5、ListView的优化方案答:1、如果自定义适配器,那么在getView方法中要考虑方法传进来的参数contentView是否为null,如果为null 就创建contentView并返回,如果不为null则直接使用。

在这个方法中尽可能少创建view。

2、给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。

3、如果listview需要显示的item很多,就要考虑分页加载。

比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。

6、请介绍下Android的数据存储方式。

答:使用SharedPreferences存储数据;文件存储数据;SQLite数据库存储数据;使用ContentProvider存储数据;网络存储数据;Preference,File, DataBase这三种方式分别对应的目录是/data/data/Package Name/Shared_Pref,/data/data/Package Name/files, /data/data/Package Name/database 。

相关文档
最新文档