android复习题型总结

一. 填空题(共45 题,52.0分)

1. (填空题,1.0分) kotlin语言中用___________代表常量,用___________代表变量。

  • 正确答案:

    (1) val;const val

    (2) var

2. (填空题,0.5分) 在kotlin语言中,有与java中的switch关键字具有类似功能的关键字是___________________。

  • 正确答案:

    (1) when

3. (填空题,4.0分) 在kotlin中,如下数据类型分别占用多少个字节(填写数字):Byte:_______,Short:_,Int:_______,Long:_,Float:,Double:,Char:_,Boolean:_

  • 正确答案:

    (1) 1

    (2) 2

    (3) 4

    (4) 8

    (5) 4

    (6) 8

    (7) 2

    (8) 1

4. (填空题,0.5分) 在kotlin中,安全操作符(调用符)是_________

  • 正确答案:

    (1) ?.

5. (填空题,0.5分) 在kotlin中,非安全操作符(调用符)是_________

  • 正确答案:

    (1) !!

6. (填空题,1.0分) kotlin 程序的主入口是________________________________。

  • 正确答案:

    (1) fun main();main;main()

7. (填空题,0.5分) kotlin中,类的各个属性对应的幕后字段是_______________。

  • 正确答案:

    (1) field

8. (填空题,0.5分) 在kotlin中,表达类的继承关系用符号______________

  • 正确答案:

    (1) :

9. (填空题,0.5分) 在kotlin中,var a:Any?=null, var b=a?:0,则b的值是_____。

  • 正确答案:

    (1) 0

10. (填空题,0.5分) kotlin中,有一个__________类与java bean类相似,主要用于数据处理。

  • 正确答案:

    (1) 数据;数据类;data;data class

11. (填空题,1.0分) kotlin中的___________类与java的静态内部类相似,_____________类与java的成员内部类相似。

  • 正确答案:

    (1) 嵌套;嵌套类

    (2) 内部;内部类;inner;inner class

12. (填空题,1.2分) Activity的主要生命周期方法: ,,,,_________________,_____________________。

  • 正确答案:

    (1) onCreate;oncreate;onCreate();onCreate();

    (2) onStart;onstart;onStart();onStart();

    (3) onResume;onresume;onResume();onResume();

    (4) onPause;onpause;onPause();onPause();

    (5) onStop;onstop;onStop();onStop();

    (6) onDestroy;ondestroy;onDestroy();onDestroy();

13. (填空题,0.5分) Activity被其他界面完全遮住了,将要执行方法:____________________________。

  • 正确答案:

    (1) onPause;onpause;onPause()

14. (填空题,1.0分) 当按下系统Home键的时候,Activity通常会执行哪些方法:,_____.

  • 正确答案:

    (1) onPause;onpause

    (2) onStop;onstop

15. (填空题,1.5分) 当按下系统返回键的时候,Activity通常会执行哪些方法:________________________,_____________________________,__________________________。

  • 正确答案:

    (1) onPause;onpause;onPause()

    (2) onStop;onstop;onStop()

    (3) onDestroy;ondestroy;onDestroy()

16. (填空题,3.0分) 请写出常用的几种布局方式(写英文名字或者中文名字即可):,,_____,,.

  • 正确答案:

    (1) 约束布局;ConstraintLayout;约束布局(ConstraintLayout);约束布局ConstraintLayout

    (2) 相对布局;RelativeLayout;相对布局(RelativeLayout);相对布局RelativeLayout

    (3) 线性布局;LinearLayout;线性布局(LinearLayout);线性布局LinearLayout

    (4) 帧布局;FrameLayout;帧布局(FrameLayout);帧布局FrameLayout

    (5) 表格布局;TableLayout;表格布局(TableLayout);表格布局TableLayout

    (6) 网格布局;GridLayout;网格布局(GridLayout);网格布局GridLayout

17. (填空题,0.5分) SharedPreferences存储的文件格式是_______________。

  • 正确答案:

    (1) xml;.xml

18. (填空题,1.0分) Android的文件存储涉及IO流操作对象,主要有(写出英文名字即可)_,.

  • 正确答案:

    (1) FileInputStream

    (2) FileOutputStream

19. (填空题,1.0分) Android数据库操作通常需要使用一个Helper类,名字是____________________

  • 正确答案:

    (1) SQLiteOpenHelper

20. (填空题,1.0分) Android系统中分享应用数据的组件是(写出英文名字):__________________

  • 正确答案:

    (1) ContentProvider

21. (填空题,0.5分) Android系统中用于组件间通信的组件是(写出英文名字):______________________

  • 正确答案:

    (1) BroadcastReceiver

22. (填空题,0.5分) Android URI使用的数据协议是:_______________________。

  • 正确答案:

    (1) content;content:;content://

23. (填空题,1.0分) Android启动式服务,使用的方法名是:____________________,绑定式服务使用的方法名是:__________________________。

  • 正确答案:

    (1) startService;startService()

    (2) bindService;bindService()

24. (填空题,0.5分) Android用于线程间通信的工具是:_____________________。

  • 正确答案:

    (1) Handler

25. (填空题,0.5分) Android模拟器访问宿主机的lP地址是: _________________________。

  • 正确答案:

    (1) 10.0.2.2

26. (填空题,1.0分) Android Socket开发,用于定义客户端的socket工具名字是:_________________,服务端socker工具名字是:_______________________。

  • 正确答案:

    (1) Socket;java.net.Socket

    (2) ServerSocket;java.net.ServerSocket

27. (填空题,0.5分) Android解析Json的工具可以用:___________________________。

  • 正确答案:

    (1) Gson;FastJson;moshi

28. (填空题,2.0分) 请写出Android的四大组件(英文名字):__________________,,,_____________________。

  • 正确答案:

    (1) Activity

    (2) Service

    (3) ContentProvider

    (4) BroadcastReceiver

29. (填空题,2.0分) Activity的四种启动模式分别是(写出英文名):,,___________________,__________________。

  • 正确答案:

    (1) standard

    (2) singleTop

    (3) singleTask

    (4) singleInstance

30. (填空题,1.0分) 在线性布局中放置一个Button,如果想让这个按钮居中显示,需要设置的属性名是:______________________。

  • 正确答案:

    (1) android:layout_gravity;layout_gravity

31. (填空题,6.0分) Fragment的生命周期方法有(只写出名字即可)__________________,,,,,,,,,,______________,

  • 正确答案:

    (1) onAttach;onAttach()

    (2) onCreate;onCreate()

    (3) onCreateView;onCreateView()

    (4) onViewCreated;onViewCreated()

    (5) onActivityCreated;onActivityCreated()

    (6) onStart;onStart()

    (7) onResume;onResume()

    (8) onPause;onPause()

    (9) onStop;onStop()

    (10) onDestroyView;onDestroyView()

    (11) onDestroy;onDestroy()

    (12) onDetach;onDetach()

32. (填空题,1.0分) Android UI布局通常给控件的设置长度的单位用(写该单位的英文缩写名字):__________,给文字设置大小的单位用(写该单位的英文缩写名字)):_______。

  • 正确答案:

    (1) dp;dip

    (2) sp

33. (填空题,1.0分) checkBox是复选框,如果需要选中,则配置属性:______________________为true。

  • 正确答案:

    (1) isChecked

34. (填空题,1.0分) 线性布局是有方向的,其值包括(写出中文名字或者英文名字):__________________,___________________。

  • 正确答案:

    (1) 水平;水平方向;horizontal

    (2) 竖直;竖直方向;垂直;垂直方向;vertical

35. (填空题,1.0分) Json表达对象用:________________,表达数组用: __________________。

  • 正确答案:

    (1) JsonObject

    (2) JsonArray

36. (填空题,2.0分) Android数据存储的方式有:,___________________,__________________。

  • 正确答案:

    (1) 文件存储

    (2) SharedPreferences

    (3) sqlite

    (4) 网络存储

37. (填空题,2.0分) Android数据库sqliteOpenHelper中,实现数据库表创建的方法名是:__________________,实现数据库更新的方法名是:_______________________。

  • 正确答案:

    (1) onCreate

    (2) onUpgrade

38. (填空题,1.0分) Android数据库中执行增删改查的数据库对象db,它的类型是:____________________。

  • 正确答案:

    (1) SQLiteDatabase

39. (填空题,1.0分) Android中用于替代ListView的控件是(写出英文名字即可):_______________________。

  • 正确答案:

    (1) RecyclerView

40. (填空题,1.0分) Sqlite用db插入数据的时候,通常要将数据封装在一个关系类中,其名字是:________________。

  • 正确答案:

    (1) ContentValues

41. (填空题,0.5分) Adapter适配器中用于渲染每个Item的方法名(仅写出名字即可)是:____________________。

  • 正确答案:

    (1) getView

42. (填空题,1.2分) Handler发送消息的方法名是:____________________,处理消息的方法名是:_____________________。

  • 正确答案:

    (1) sendMessage

    (2) handleMessage

43. (填空题,1.0分) AsyncTask中,执行耗时任务需要在方法名为:_________________________的方法中执行,执行的结果将返回给方法名为:__________________的方法中处理。

  • 正确答案:

    (1) doInBackground

    (2) onPostExecute

44. (填空题,0.6分) Android 界面的切片、碎片,英文名字是:_____________________。

  • 正确答案:

    (1) Fragment

45. (填空题,1.0分) Android应用的私有文件都存储在路径为:________________________的里面。

  • 正确答案:

    (1) /data/data/应用包名

二. 判断题(共9 题,9.0分)

46. (判断题,1.0分) kotlin中的for, when是表达式,具有返回值。

  • A. 对
  • B. 错

正确答案:

47. (判断题,1.0分) lateinit通常用于var变量的延迟初始化。

  • A. 对
  • B. 错

正确答案:

48. (判断题,1.0分) Android广播的注册方式有静态注册和动态注册两种方式。

  • A. 对
  • B. 错

正确答案:

49. (判断题,1.0分) Snackbar与Toast类似,但它是可以交互的。

  • A. 对
  • B. 错

正确答案:

50. (判断题,1.0分) Android广播可以在AndroidManifest.xml中静态注册,也可以用代码进行动态注册。

  • A. 对
  • B. 错

正确答案:

51. (判断题,1.0分) Android只能发送普通广播,不能发送有序广播。

  • A. 对
  • B. 错

正确答案:

52. (判断题,1.0分) AndroidManifest.xml中可以配置应用的权限,要用到

  • A. 对
  • B. 错

正确答案:

53. (判断题,1.0分) Service默认是运行在UI线程上的,故不能直接执行耗时操作。

  • A. 对
  • B. 错

正确答案:

54. (判断题,1.0分) Handler中的消息是封装为Message对象,用arg属性来标识消息的。

  • A. 对
  • B. 错

正确答案:

三. 单选题(共7 题,14.0分)

55. (单选题,2.0分) Android系统架构分层,不包括下面哪个选项?

  • A. Linux内核
  • B. Android Framework
  • C. 应用程序层
  • D. Kotlin服务

正确答案: D

56. (单选题,2.0分) 新添加的元素Id,其前缀用:____________

  • A. @id
  • B. @+id
  • C. @android:id
  • D. @id+

正确答案: B

57. (单选题,2.0分) Log输出警告级别的日志用:___________

  • A. Log.d
  • B. Log.w
  • C. Log.i
  • D. Log.e

正确答案: B

58. (单选题,2.0分) Android MediaPlayer开始播放用的方法是:_________

  • A. resume
  • B. start
  • C. play
  • D. launch

正确答案: B

59. (单选题,2.0分) 常用的菜单不包括下面的哪项?

  • A. OptionsMenu
  • B. ContextMenu
  • C. PopupMenu
  • D. prepareMenu

正确答案: D

60. (单选题,2.0分) Service的生命周期方法中不包括下面的哪项?

  • A. onCreate
  • B. onStop
  • C. onStartCommand
  • D. onDestroy

正确答案: B

61. (单选题,2.0分) AndroidManifest.xml的application节中配置应用标题的属性是:_____________。

  • A. android:icon
  • B. android:label
  • C. android:theme
  • D. android:name

正确答案: B

四. 简答题(共2 题,10.0分)

62. (简答题,5.0分) 请简述下Handler线程通信机制

  • 正确答案:

    Handler负责发送消息sendMessage和处理消息handleMessage消息是封装到Message对象中Message对象存放到消息队列中即MessageQueueLooper负责消息的循环,从消息队列取消息交给对应的Handler来处理。

63. (简答题,5.0分) 请简述下Sqlite数据库增删改查的操作步骤

  • 正确答案:

    创建SqliteOpenHelper子类,覆写onCreate方法,实现数据库表的创建通过SqliteOpenHelper对象,调用getWritableDatabase方法获得db对象通过db相应的insert,delete,update,query方法来实现数据库的增删改查操作,同时过程中会涉及ContentValues数据对象,Cursor对象等。Cursor,db对象使用完毕要及时关闭close,防止内存泄漏。

扩展(华为)

单择题

1、应用开发编译构建APP时,每个hap包不能超过多大?

  • A. 100MB

  • B. 10MB

  • C. 5MB

  • D. 50MB

  • 正确答案: B

2、以下关于用户应用程序的描述,错误的是哪个?

  • A. entry是应用的动态特性模块,feature是应用的主模块

  • B. 一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为entry和feature两种模块类型

  • C. Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability

  • D. HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布

  • 正确答案: A

3、以下关于线程管理的描述不正确的是?

  • A. 当应用以任何形式启动时,系统为其创建进程,该进程将持续运行

  • B. 不同应用在各自独立的进程中运行

  • C. 当进程完成当前任务处于等待状态,且系统资源不足时,系统自动回收

  • D. 主线程又称UI线程,默认情况下,所有的操作都是在主线程上执行,不可创建其他线程来处理

  • 正确答案: D

4、以下哪项不属于HarmonyOS框架层提供的硬件服务?

  • A. 位置服务

  • B. 图形子系统

  • C. 生物特征识别

  • D. 穿戴专有硬件服务

  • 正确答案: B

5、当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过( )指定启动的目标同时携带相关数据?

  • A. run

  • B. transfer

  • C. Intent

  • D. start

  • 正确答案: C

6、以下关于应用开发Ability描述不正确的是?

  • A. Ability是HarmonyOS应用程序的重要组成部分,分为FA(Feature Ability)和PA(Particle Ability)两种类型

  • B. Service模板用于对外部提供统一的数据访问抽象;Data模板用于提供后台运行任务的能力

  • C. FA支持Page Ability,PA支持Service Ability和Data Ability

  • D. 在配置文件(config.json)中注册Ability时,可以通过配置Ability元素中的“type”属性来指定Ability模板类型

  • 正确答案: B

7、在移动应用开发的需求分析阶段,以下哪项不属于应该遵循的原则?

  • A. 从最小可运行版本开始,增量开发

  • B. 设置功能优先级,做发行版本计划

  • C. 竞品分析,精准定位产品目标用户

  • D. 不惜一切代价跑通业务,不断试错

  • 正确答案: D

8、()是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架?

  • A. 硬件驱动框架(HDF)

  • B. DFX子系统

  • C. Ability框架

  • D. AI子系统

  • 正确答案: A

9、以下哪项不属于HarmonyOS系统安全的内容?

  • A. 正确地使用数据

  • B. 正确的架构

  • C. 正确的设备

  • D. 正确的人

  • 正确答案: B

10、在运行DevEco Studio工程时,建议每一个运行窗口至少需要多大可用内存空间?

  • A. 500MB以上

  • B. 2GB以上

  • C. 200MB以上

  • D. 1GB以上

  • 正确答案: B

多选题

11、Java UI中支持以下哪些常见的组件布局?

  • A. DirectionalLayout

  • B. StackLayout

  • C. TableLayout

  • D. DependentLayout

  • 正确答案: ABCD

12、在HarmonyOS应用开发中,以下哪些工具可以查看UI界面效果?

  • A. 真机设备

  • B. 预览器Previewer

  • C. 本地模拟器 Local Emulator

  • D. 远程模拟器 remote Emulator

  • 正确答案: ABCD

13、以下关于操作系统的描述正确的有哪些?

  • A. 操作系统是控制和管理计算机各种硬件资源、软件资源及各种信息资源的一种系统软件

  • B. 操作系统是“管理各种资源以便执行应用程序”的一种特殊的程序

  • C. 操作系统是用户使用各种应用程序必不可少的系统软件

  • D. 操作系统是用户与计算机硬件沟通的桥梁或接口

  • 正确答案: ABCD

14、以下哪些属于HarmonyOS中常用的组件?

  • A. 列表List

  • B. 图片Image

  • C. 按钮Button

  • D. 文本Text

  • 正确答案: ABCD

15、HarmonyOS具备以下哪些分布式能力?

  • A. 分布式数据管理

  • B. Hadoop分布式文件系统

  • C. 分布式软总线

  • D. 分布式任务调度

  • 正确答案: ACD

16、以下关于操作系统内核的作用描述正确的有哪些?

  • A. 程序管理

  • B. 设备管理

  • C. 内存管理

  • D. 进程管理

  • 正确答案: BCD

17、以下关于应用开发UI描述正确的有哪些?

  • A. 方舟开发框架提供了相对高层的UI描述,使应用开发更加简单
  • B. Java UI提供了细粒度的UI编程接口,使应用开发更加灵活
  • C. FA需要提供UI用于与用户进行交互
  • D. 所有的UI操作都应该在主线程进行设置
  • 正确答案: ABCD

18、应用开发完成后,使用HUAWEI DevEco Studio进行调试,支持以下哪些调试方法?

  • A. 变量可视化调试

  • B. 单步调试

  • C. 跨语言调试

  • D. 跨设备调试

  • 正确答案: ABCD

19、在HarmonyOS架构中,框架层支持以下哪些框架?

  • A. UI框架(Java UI框架/Ark UI框架)

  • B. 多语言框架API

  • C. Ability框架

  • D. 用户程序框架(Java/C/C++/JS/TS)

  • 正确答案: ABCD

20、HarmonyOS支持以下哪些设备的应用或服务的开发?

  • A. 轻量级智能穿戴

  • B. 平板

  • C. 手机

  • D. 智慧屏

  • 正确答案: ABCD

判断题

21、HarmonyOS能够让消费者在智能手表和智能手机之间快速连接,资源共享,进行流畅的全场景体验。

  • 正确答案: 正确

22、Text对象不支持根据文本长度自动调整文本的字体大小和换行。

  • 正确答案: 错误

23、可以在代码中创建Image,不可以在XML中创建Image。

  • 正确答案: 错误

24、用户点击按钮时,Button对象将收到一个点击事件。开发者可以自定义响应点击事件的方法。例如,通过创建一个Component.ClickedListener对象,然后通过调用setClickedListener将其分配给按钮。

  • 正确答案: 正确

25、DevEco Studio提供了多种编程语言供开发者进行HarmonyOS应用/服务开发,包括Java、JS、eTS和C/C++编程语言。

  • 正确答案: 正确

26、HarmonyOS整合多种终端的硬件能力,形成一个虚拟的超级终端,应用开发者基于超级终端开发应用,聚焦上层开发逻辑,不需要关注硬件差异。

  • 正确答案: 正确

27、发布到华为应用市场的HarmonyOS应用或者服务,不需要使用发布证书进行签名。

  • 正确答案: 错误

28、在产品全球化应用的时代,一款应用应该根据用户需要显示相应的语言和界面。

  • 正确答案: 正确

29、在进行HarmonyOS应用/服务开发前,开发者需要注册一个华为开发者帐号,并完成实名认证。

  • 正确答案: 正确

30、原子化服务工程目前不能转化为应用工程。

  • 正确答案: 错误