2022年Android笔试题加答案.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆Android 笔试题加答案| 浏览: 2487 | 更新: 2022-04-05 10:27 | 标签: android一、挑选题( 30 题,每题 1.5 分,共 45 分)1.java.io 包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类, 按功能分为: , 假如为读取的内容进行处理后再输出,需要使用以下哪种流? A、输入流和输出流 B 、字节流和字符流 C、节点流和处理流D、File stream E 、 Pipe stream F 、Random stream G、Filter stream 2. 以下代码的执行结果是:() public class Test3 public static void mainString args System.out.print100%3; System.out.print"," System.out.println100%3.0; A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0 3. 在继承中,关于构造方法的说明,以下说法错误选项()A、子类无条件的继承父类的无参构造方法,B、子类可以引用父类中的有参构造方法,使用 super 关键字,C、假如子类没有构造方法,就父类无参构造方法作为自已的构造方法,D、假如子类有无参构造方法,而父类的无参构造方法就被掩盖;4. 以下程序的运行结果为()public class IfTest public static void mainString args 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆int x=3; int y=1; ifx=y System.out.println"Not equal" else System.out.println"Equal" A、Not equal B 、Equal C、无输出 D、编译出错5.Java 语言中字符串“ 学 Java” 所占的内存空间是 A. 6 个字节 B. 7 个字节 C. 10 个字节 D. 11 个字节6. 关于以下程序段的输出结果,说法正确选项:() public class MyClass static int i; public static void mainStringargv System.out.printlni; A 、有错误, 变量 i 没有初始化;B、null C、1 D、0 7. 以下哪些语句关于内存回收的说明是正确的 . A 、 程序员必需创建一个线程来释放内存 B 、 内存回收程序负责释放无用内存 C 、 内存回收程序答应程序员直接释放内存 D 、 内存回收程序可以在指定的时间释放内存对象8. 下面反常是属于Runtime Exception 的是() 多项 A、ArithmeticException 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException 9. Math.round11.5 等于多少 . Math.round-11.5 等于多少 . A、11 ,-11 B 、11 ,-12 C、12 ,-11 D、 12 ,-12 10. 以下程序段的输出结果是: () void complicatedexpression_r int x=20, y=30; boolean b; b=x>50&&y>60|x>50&&y<-60|x<-50&&y>60|x<-50&&y<-60; System.out.printlnb; A 、true B 、false C、 1 D 、0 11.activity 对一些资源以及状态的操作储存,最好是储存在生命周期的哪个函数中进行 A 、onPause B 、 onCreate C、 onResume D、onStart 12.Intent 传递数据时,以下的数据类型哪些可以被传递() 多项 A、Serializable B 、charsequence C、Parcelable D 、Bundle 13.android 中以下属于 Intent 的作用的是 A 、实现应用程序间的数据共享 B 、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会由于切换页面而消逝 C 、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带 D 、处理一个应用程序整体性的工作14. 以下属于 SAX解析 xml 文件的优点的是 A 、将整个文档树在内存中,便于操作,支持删除,修改,重新排列等多种功能 B 、不用事先调入整个文档,占用资源少 C、整个文档调入内存,铺张时间和空间细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 D、不是长期驻留在内存,数据不是长久的,大事过后,如没有储存数据,数据就会消逝15. 下面的对自定style的方式正确选项() A 、 <resources> <style name="myStyle"> <itemname="android:layout_width">fill_parent</item> </style> </resources> B、 <stylename="myStyle"> <itemname="android:layout_width">fill_parent</item> </style> C、 <resources> <itemname="android:layout_width">fill_parent</item> </resources> D、 <resources> <stylename="android:layout_width">fill_parent</style> </resources> 细心整理归纳 精选学习资料 16. 在 android中使用 Menu时可能需要重写的方法有(); 多项 第 4 页,共 17 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 A 、onCreateOptionsMenu B 、onCreateMenu C 、onOptionsItemSelected D 、onItemSelected 17. 在 SQL Server Management Studio 中运行以下T-SQL 语句,其输出值();SELECT IDENTITY A、可能为 0.1 B、可能为 3 C、不行能为 -100 D、确定为 0 18. 在 SQL Server 2005 中运行如下 T-SQL语句, 假定 SALES表中有多行数据, 执行查询之 后的结果是();BEGIN TRANSACTION A Update SALES Set qty=30WHERE qty<30 BEGIN TRANSACTION B Update SALES Setqty=40 WHERE qty<40 Update SALES Setqty=50 WHERE qty<50 Update SALES Setqty=60 WHERE qty<60 COMMITTRANSACTION B COMMIT TRANSACTION A 细心整理归纳 精选学习资料 A、SALES表中 qty 列最小值大于等于30 第 5 页,共 17 页 B、SALES表中 qty 列最小值大于等于40 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆C、SALES表中 qty 列的数据全部为 50 D、SALES表中 qty 列最小值大于等于 60 19. 在 android 中使用 SQLiteOpenHelper 这个帮助类时,可以生成一个数据库,并可以对数 据库版本进行治理的方法可以是 A、getWriteableDatabase B、getReadableDatabase C、getDatabase D、getAbleDatabase 20. android 关于 service生命周期的 onCreate和 onStart说法正确选项 多项题 A、当第一次启动的时候先后调用 onCreate 和 onStart 方法 B、当第一次启动的时候只会调用 onCreate 方法 C、假如 service 已经启动,将先后调用 onCreate 和 onStart 方法D、假如 service 已经启动,只会执行 onStart 方法,不在执行 onCreate 方法 21. 下面是属于 GLSurFaceView 特性的是 多项 A、治理一个 surface ,这个 surface 就是一块特别的内存,能直接排版到 android 的视图 view 上;B、治理一个EGL display,它能让 opengl 把内容渲染到上述的surface上;C、让渲染器在独立的线程里运作,和UI 线程分别;D、可以直接从内存或者DMA等硬件接口取得图像数据细心整理归纳 精选学习资料 22. 下面在 AndroidManifest.xml文件中注册BroadcastReceiver方式正确选项 第 6 页,共 17 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆A、<receiver android:name="NewBroad"> <intent-filter> <action android:name="android.provider.action.NewBroad"/> <action> </intent-filter> </receiver> B、<receiver android:name="NewBroad"> <intent-filter> android:name="android.provider.action.NewBroad"/> </intent-filter> </receiver> C、<receiver android:name="NewBroad"> <action android:name="android.provider.action.NewBroad"/> <action> </receiver> D、<intent-filter> <receiver android:name="NewBroad"> 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 <action> android:name="android.provider.action.NewBroad"/> <action> </receiver> </intent-filter> 23. 关于 ContenValues 类说法正确选项 A 、他和 Hashtable 比较类似, 也是负责储备一些名值对,但是他储备的名值对当中的名是 String类型,而值都是基本类型但是他储备的名值对 B 、他和 Hashtable比较类似, 也是负责储备一些名值对,当中的名是任意类型,而值都是基本类型 C、他和 Hashtable比较类似, 也是负责储备一些名值对,但是他储备的名值对当中的名,可以为空,而值都是 String 类型 D、他和 Hashtable 比较类似, 也是负责储备一些名值对,但是他储备的名值对当中的名是 String 类型,而值也是 String 类型24. 我们都知道 Hanlder 是线程与 Activity 通信的桥梁 , 假如线程处理不当,你的机器就会变得越慢,那么线程销毁的方法是 A 、 onDestroy B 、 onClear 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 C、 onFinish D、 onStop 25. 下面退出 Activity 错误的方法是() A 、 finish B、抛反常强制退出 C、 System.exit D、 onStop 26. 下面属于 android的动画分类的有 多项 A 、 Tween B、FrameC、Draw D、Animation d 27. 下面关于 Android dvm 的进程和 Linux 的进程 , 应用程序的进程说法正确选项 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 应用程序都在它自己的进程中运行 , 都拥有一个独立的细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 Dalvik 虚拟机实例 . 而每一个 DVM都是在 Linux 中的一个进程 , 所以说可以认为是同一个概念. assets 目录的作用是什么 28.Android项目工程下面的 A、放置应用到的图片资源; B、主要放置多媒体等数据文件 C、放置字符串,颜色,数组等常量数据 29. D、放置一些与UI 相应的布局文件,都是xml 文件关于 res/raw目录说法正确选项 A、 这里的文件是原封不动的储备到设备上不会转换为二进制的格式B、 这里的文件是原封不动的储备到设备上会转换为二进制的格式C、 这里的文件最终以二进制的格式储备到指定的包中D、 这里的文件最终不会以二进制的格式储备到指定的包中 30. 以下对 android NDK的懂得正确选项 A、 NDK 是一系列工具的集合B、 NDK 供应了一份稳固、功能有限的 API 头文件声明;C、 使“ Java+C”的开发方式最终转正,成为官方支持的开发方式D、 NDK 将是 Android 平台支持 C 开发的开端二填空题(每题 2 分,共 20 分)1. 我们用 _来定义一个整数, 用_来定义一个字符类型,称为原始数据类型;细心整理归纳 精选学习资料 2.android中常用的四个布局是_,_,_和_; 第 10 页,共 17 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆3.android 的四大组件是 _,_,_和_;4.java.io 包中的 _和 _类主要用于对对象 Object 的读写;5.android 中 service 的实现方法是:_和_;6.activity 一般会重载 7 个方法用来保护其生命周期,除了 onCreate,onStart,onDestory 外仍有 _,_,_,_;7.android的数据储备的方式_,_,_,_,_;8. 当启动一个Activity并且新的 Activity执行完后需要返回到启动它的Activity来执行的回调函数是 _;9. 请使用命令行的方式创建一个名字为myAvd,sdk 版本为 2.2,sd卡是在 d 盘的根目录下,名字为 scard.img , 并指定屏幕大小HVGA._; 10. 程序运行的结果是:_; public classExample Stringstr=new String"good" charch='a','b','c' publicstatic void mainString args Exampleex=new Example; ex.changeex.str,ex.ch; System.out.printex.str+"and " Sytem.out.printex.ch; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆public voidchangeString str,char ch str="testok" ch0='g' 三 简答编程题(共 35 分) 1. 在 android 中,请简述 jni 的调用过程; 8 分 2. 简述 Android 应用程序结构是哪些 .(7 分)3. 请继承 SQLiteOpenHelper 实现: 10 分 1 ). 创建一个版本为1 的“ diaryOpenHelper.db ” 的数据库,2). 同时创建一个“ diary ”表(包含一个 _id 主键并自增长,topic 字符型 100 长度, content 字符型 1000 长度) 3 ). 在数据库版本变化时请删除 diary 表,并重新创建出 diary 表; 4. 页面上现有 ProgressBar 控件 progressBar,请用书写线程以 10 秒的的时间完成其进度显示工作;( 10 分)答案一、挑选题二、填空题细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆1.int char 2.FrameLayout,LilnearLayout,RelativeLayout,TableLayout 3.Activity,Broadcast,Service,ContentProvide 4.ObjectInputStream ObjectOutputSteam 5.startService ,bindService 6.onRestart,onResume,onPause,onStop 7.SharedPreferences储备,文件储备,SQLite 储备, ContentProvider,网络储备8.startActivityResult 9.adnroid create acd -n myAvd -t 8 -s HVDA - Cd:card.img 10.good and gbc 三、简答编程题1.jni 的调用过程 1 安装和下载 Cygwin,下载 Android NDK 2 在 ndk 项目中 JNI 接口的设计 3 使用 C/C+实现本地方法4JNI生成动态链接库.so 文件java 工程即可 5 将动态链接库复制到java 工程,在 java 工程中调用,运行2. 细心整理归纳 精选学习资料 Android应用程序结构是:系统运行库或者是c/c+ 核心库 、Application 第 13 页,共 17 页 Linux KernelLinux内核 、LibrariesFramework 开发框架包 、Applications 核心应用程序 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆3. public class DBHelper extends SQLiteOpenHelper publicfinal static String DATABASENAME = "diaryOpenHelper.db" publicfinal static int DATABASEVERSION = 1; / 创建数据库 publicDBHelperContext context,String name,CursorFactory factory,int version supercontext,name, factory, version; / 创建表等机构性文件 publicvoid onCreateSQLiteDatabase db Stringsql ="create table diary"+ ""+ "_idinteger primary key autoincrement,"+ 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 "topicvarchar100,"+ "contentvarchar1000"+ "" db.execSQLsql; / 如数据库版本有更新,就调用此方法 publicvoid onUpgradeSQLiteDatabase db,int oldVersion,int newVersion Stringsql = "drop table if exists diary" db.execSQLsql; this.onCreatedb; 4. public class ProgressBarStu extendsActivity privateProgressBar progressBar = null; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 15 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 protectedvoid onCreateBundle savedInstanceState super.onCreatesavedInstanceState; setContentViewR.layout.progressbar; / 从这到下是关键 progressBar= ProgressBarfindViewByIdR.id.progressBar; Threadthread = new Threadnew Runnable Override publicvoid run intprogressBarMax = progressBar.getMax; try whileprogressBarMax.=progressBar.getProgress intstepProgress = progressBarMax/10; intcurrentprogress = progressBar.getProgress; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 16 页,共 17 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆 progressBar.setProgresscurrentprogress+stepProgress; Thread.sleep1000; catch InterruptedException e /TODO Auto-generated catch block e.printStackTrace; ; thread.start; / 关键终止细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 17 页,共 17 页 - - - - - - - - -