Android笔试题大全(持续更新中) | 您所在的位置:网站首页 › android高级工程师面试题及答案 › Android笔试题大全(持续更新中) |
转载请注明出处:https://blog.csdn.net/mythmayor/article/details/80229541
一、选择题
1. 下列代码的执行结果是:( 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,1 B、1,1.0 C、1.0,1 D、1.0,1.0 2. 下列哪些语句关于内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少( C ).A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12 4. 下面不是Android四大组件之一的:( B )A、Activity B、Intent C、Service D、ContentProvider 5. android 中下列属于Intent的作用的是( C )A、实现应用程序间的数据共享 B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D、处理一个应用程序整体性的工作 6. 下面关于BroadcastReceiver错误的是 ( B )A、BroadcastReceiver有两种注册方式,静态注册和动态注册。 B、BroadcastReceiver必须在AndroidMainfest文件中声明 C、BroadcastReceiver的使用,一定有一方发送广播,有一方监听注册广播,onReceive方法才会被调用。 D、广播发送的Intent都是隐式启动。 7. 在手机开发中常用的数据库是( A )A、SQLite3 B、Oracle C、Sql Server D、Db23 8. Service中如何实现更改Activity界面元素 ( B )A、通过把当前activity对象传递给service对象 B、通过向Activity发送广播 C、通过Context对象更改Activity界面元素 D、可以在Service中,调用Activity的方法实现更改界面元素 9. 关于ContenValues类说法正确的是( A )A、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是String类型,而值都是基本类型 B、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名是任意类型,而值都是基本类型 C、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中的 名,可以为空,而值都是String类型 D、他和Hashtable比较类似,也是负责存储一些名值对,但是他存储的名值对当中 的名是String类型,而值也是String类型 10. 下面关于Android dvm的进程和Linux的进程,应用程序的进程说法正确的是( D )A、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念. B、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,不一定拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念. C、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM不一定都是在Linux 中的一个进程,所以说不是一个概念. D、DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念. 11. 下列对SharedPreferences存、取文件的说法中不正确的是( C )A、属于移动存储解决方案 B、sharePreferences处理的就是key-value对 C、读取xml文件的路径是/sdcard/shared_prefs/ D、数据的保存格式是xml 12. 使用AIDL 完成远程 service 方法调用下列说法不正确的是?( A )A、aidl 对应的接口名称不能与 aidl 文件名相同 B、aidl 的文件的内容类似 java 代码 C、创建一个 Service,在服务的 onBind(Intent intent)方法中返回实现了 aidl 接口的对象 D、aidl 对应的接口的方法前面不能加访问权限修饰符 13. 关于JSON和XML说法,错误的是( B )A、JSON的速度要远远快于XML B、JSON对数据的描述性比XML好 C、JSON相对于XML来讲,数据的体积小 D、JSON和XML同样拥有丰富的解析手段 14. 下列不属于补间动画相关类的是( B )A、TranslateAnimation B、FrameAnimation C、RotateAnimation D、AlphaAnimation 15. 关于Handler的说法不正确的是( A )A、它实现不同进程间通信的一种机制 B、它避免了在新线程中刷新UI的操作 C、它采用队列的方式来存储Message D、它实现不同线程间通信的一种机制 二、填空题 1. java.io包中的____________和____________类主要用于对对象(Object)的读写。答案:ObjectInputStream ObjectOutputSteam 2. android 中service的实现方法是:和_。答案:startService ,bindService 3. 当启动一个Activity并且新的Activity执行完后需要返回到启动它的Activity来执行的回调函数是_______________。答案:startActivityResult() 4. 程序运行的结果是:______________。 public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } }答案:good and gbc 三、简答编程题 1. 请简述下Android的数据存储方式。答:共有五种数据存储方式。 1.SharedPreferences方式 2.文件存储方式 3.SQLite数据库方式 4.内容提供器(Content provider)方式 5. 网络存储方式 2. 请简述下ContentProvider是如何实现数据共享的。答:创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。 3. 什么是Intent,如何使用?答: Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。 通过startActivity() orstartActivityForResult()启动一个Activity; 通过 startService() 启动一个服务,或者通过bindService() 和后台服务交互; 通过广播方法(比如 sendBroadcast(),sendOrderedBroadcast(),sendStickyBroadcast())发给broadcast receivers 4. Activity、Service、BroadcastReceiver的作用。答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑 Service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的指令,定义好需要接受的Intent提供同步和异步的接口 BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型 5. 横竖屏切换时Activity的生命周期答:切换时的生命周期跟清单文件里的配置有关系。 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期默认首先销毁当前activity,然后重新加载 设置Activity android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。 通常在游戏开发, 屏幕的朝向都是写死的。 6. 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。 |
CopyRight 2018-2019 实验室设备网 版权所有 |