Android常用面试题汇总
hanchendong
这个作者很懒,什么都没留下…
展开
-
handler机制的原理
andriod提供了Handler和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,原创 2016-05-15 23:12:20 · 264 阅读 · 0 评论 -
Eclipse快捷键大全
Eclipse快捷键大全Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面A原创 2016-05-15 23:44:52 · 4345 阅读 · 2 评论 -
请继承SQLiteOpenHelper实现
1).创建一个版本为1的“diaryOpenHelper.db”的数据库, 2).同时创建一个 “diary”表(包含一个_id主键并自增长,topic字符型100 长度, content字符型1000长度) 3).在数据库版本变化时请删除diary表,并重新创建出diary表。publicclass DBHelper extends SQLiteOp原创 2016-05-15 23:42:34 · 5109 阅读 · 0 评论 -
页面上现有ProgressBar控件progressBar,请用书写线程以10秒的的时间完成其进度显示工作。
public class ProgressBarStuextends Activity { private ProgressBar progressBar =null; protected voidonCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceSta原创 2016-05-15 23:40:19 · 3918 阅读 · 0 评论 -
请描述下Activity的生命周期。
必调用的三个方法:onCreate() --> onStart() --> onResume(),用AAA表示(1)父Activity启动子Activity,子Actvity退出,父Activity调用顺序如下AAA --> onFreeze() --> onPause() --> onStop() --> onRestart()-->onStart(),onResume() …(2)原创 2016-05-15 23:39:08 · 1821 阅读 · 0 评论 -
如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
onSaveInstanceState() 当你的程序中某一个Activity A在运行时,主动或被动地运行另一个新的Activity B,这个时候A会执行onSaveInstanceState()。B完成以后又会来找A,这个时候就有两种情况:一是A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数sav原创 2016-05-15 23:37:47 · 573 阅读 · 0 评论 -
如何退出Activity?如何安全退出已调用多个Activity的Application?
对于单一Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()和System.exit()这样的方法。但是,对于多Activity的应用来说,在打开多个Activity后,如果想在最后打开的Activity直接退出,上边的方法都是没有用的,因为上边的方法都是结束一个Activity而已。当然,网上也有人说可以。就好像有人问,在原创 2016-05-15 23:35:26 · 751 阅读 · 0 评论 -
如何启用Service,如何停用Service。
Android中的service类似于windows中的service,service一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。一。步骤第一步:继承Service类public class SMSService extends Service { }第二步:在AndroidManifest.xml文件中的节点里对服务进行配置:原创 2016-05-15 23:33:24 · 2731 阅读 · 0 评论 -
Service的生命周期
1.Service常用生命周期回调方法如下:onCreate() 该方法在服务被创建时调用,该方法只会被调用一次,无论调用多少次startService()或bindService()方法,服务也只被创建一次。 onDestroy()该方法在服务被终止时调用。2. Context.startService()启动Service有关的生命周期方法onStart() 只有采用C原创 2016-05-15 23:31:57 · 529 阅读 · 0 评论 -
注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。
Android广播机制(两种注册方法)在android下,要想接受广播信息,那么这个广播接收器就得我们自己来实现了,我们可以继承BroadcastReceiver,就可以有一个广播接受器了。有个接受器还不够,我们还得重写BroadcastReceiver里面的onReceiver方法,当来广播的时候我们要干什么,这就要我们自己来实现,不过我们可以搞一个信息防火墙。具体的代码:publi原创 2016-05-15 23:29:14 · 3754 阅读 · 1 评论 -
请解释下在单线程模型中Message、Handler、MessageQueue、Looper之间的关系。
Handler简介:一个Handler允许你发送和处理Message和Runable对象,这些对象和一个线程的MessageQueue相关联。每一个线程实例和一个单独的线程以及该线程的MessageQueue相关联。当你创建一个新的Handler时,它就和创建它的线程绑定在一起了。这里,线程我们也可以理解为线程的MessageQueue。从这一点上来看,Handler把Message和Runa原创 2016-05-15 23:27:17 · 3303 阅读 · 0 评论 -
AIDL的全称是什么?如何工作?能处理哪些类型的数据?
AIDL的英文全称是Android InterfaceDefine Language当A进程要去调用B进程中的service时,并实现通信,我们通常都是通过AIDL来操作的A工程:首先我们在net.blogjava.mobile.aidlservice包中创建一个RemoteService.aidl文件,在里面我们自定义一个接口,含有方法get。ADT插件会在gen目录下自动生成一个R原创 2016-05-15 23:25:23 · 2155 阅读 · 0 评论 -
你如何评价Android系统?优缺点。
答:Android平台手机 5大优势: 一、开放性 在优势方面,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,随大的受益正是丰富的软件资源。开放的平原创 2016-05-15 23:24:07 · 8406 阅读 · 0 评论 -
Android引入广播机制的用意?
答:a:从MVC的角度考虑(应用程序内) 其实回答这个问题的时候还可以这样问,android为什么要有那4大组件,现在的移动开发模型基本上也是照搬的web那一套MVC架构,只不过是改了点嫁妆而已。android的四大组件本质上就是为了实现移动或者说嵌入式设备上的MVC架构,它们之间有时候是一种相互依存的关系,有时候又是一种补充关系,引入广播机制可以方便几大组件的信息和数据交互。b原创 2016-05-15 23:14:48 · 1628 阅读 · 0 评论 -
简要解释一下activity、 intent 、intent filter、service、Broadcase、BroadcaseReceiver
答:一个activity呈现了一个用户可以操作的可视化用户界面 一个service不包含可见的用户界面,而是在后台无限地运行 可以连接到一个正在运行的服务中,连接后,可以通过服务中暴露出来的借口与其进行通信 一个broadcast receiver是一个接收广播消息并作出回应的component,broadcastreceiver没有界面 intent:原创 2016-05-15 23:18:10 · 3569 阅读 · 0 评论 -
什么是ANR 如何避免它?
答:ANR:Application NotResponding,五秒 在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android就会显示ANR对话框了: 对输入事件(如按键、触摸屏事件)的响应超过5秒 意向接受器(intentReceiver)超过10秒钟仍未执行完毕 Android应用程序完全运行在一个原创 2016-05-15 23:19:41 · 1075 阅读 · 0 评论 -
横竖屏切换时候activity的生命周期?
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次 3、设置Activity的android:configChanges="orient原创 2016-05-15 23:17:00 · 397 阅读 · 0 评论 -
如何将打开res aw目录中的数据库文件?
解答:在Android中不能直接打开res aw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内存或SD卡的某个目录中,然后再打开该数据库文件。复制的基本方法是使用getResources().openRawResource方法获得res aw目录中资源的 InputStream对象,然后将该InputStream对象中的数据写入其他的目录中相应文件中。在Android S原创 2016-05-15 23:15:57 · 2112 阅读 · 0 评论 -
简单的异步加载网络图片的方法
利用AsyncTask的内置跨线程机制来进行 public static void loadImage(final ImageView iv,final String url){ new AsyncTask原创 2016-05-15 23:56:48 · 409 阅读 · 0 评论