总结的android面试题

时间:2022-12-09 18:56:46 面试试题 我要投稿

总结的android面试题

  ContentProvider部分相关如下:

总结的android面试题

  1.说说ContentProvider与Android数据存储的关系?

  答案:作为数据的一个提供者,把数据提供给其他应用程序。(相当于提供数据的接口)

  2.ContentProvider对象何时被实例化?

  答案:系统初始化的时候自动实例化

  3.ContentProvider数据模型画出来?(类似于一张表)

  答案: 分三层 一、数据存储 二、提供数据中间件contentProvider(增删改查) 三、 App调用

  4.ContentProvider的机制是什么?

  答案: 此应用程序在安装和卸载的时候就会分别 regist 和unregist 到providerManager里面供其他应用程序的ContentResolver 来访问

  5.ContentProvider试用步骤?

  1.定义provider

  2.注册provider 注意进程间通信

  <provider

  android:name=".MyContentProvider"

  android:authorities="qyj.contentprovder.MyContentProvider"

  android:multiprocess="true">

  6.列举系统提供的几个ContentProvider

  Brower、Calllog 、ContatsContract、Calender、MediaStore、Settings、userDictionary Activity部分相关如下:

  1.activity作用以及定义?

  官方定义:activity是Android应用程序提供交互界面的一个重要组件。也是android最重要的组件之一

  官方定义不是特别准确:

  Activity是业务类,是承载应用程序的界面以及业务行为的基础包括UI、Service ??类似于javaBean

  2.口述Activity Window View 三者之间的关系 (提示压力泵layoutinflate)

  3.事件上传机制view最先接到事件 传给 Window 然后Window分发出去(keyEvent和 touchEvent)

  4.请描述一下Activity的生命周期?(理解记忆那张图)

  5.请描述一下横竖屏切换时候的Activity的生命周期?

  整个activity的生命周期(可以去控制不执行哪个方法)

  用法:

  1.重写onConfigurationChanged()

  2.横竖屏改变需要

  6.什么是TASK?

  Task就是多个activity按照顺序组成的一个业务逻辑-----不是官网的定义是自己的总结

  7.描述一下Activity的Tast Stack模型?(详细解释上官网看activity)

  diagram_backstack(同一个进程的activity也就是单个任务栈):

  diagram_multitasking(不同进程的activity也就是多个个任务栈):

  8.Intent是什么?

  包含的内容:

  compnentName 要启动的组件(比如activity、Service??)

  Action 过滤条件intentfilter里面的字符串

  Data 要与intentfilter里面指定的data前缀格式一样才行

  Category 类别

  Extras 附加

  Flags 标记

  9.Activity如何保存和恢复?(一般用在进程被杀死的时候)

  当进程干掉的时候才有可能去调onRestoreInstanceState()

  10.startActivity机制?(看源码-----返回值的应用(返回得到date 例子:拍照返回图片)

  11.startActivity为什么要用IBinder(IPC进程间通信机制) 来启动?

  启动的activity有可能不在同一个进程当中

  12.intent-filter的用法(启动activity的时候过滤)?

  名字随便起

  默认必须有data数据中的Uri前缀

  13.Activity配置详解如下(不全 需要的看官网或自己加)

  说明:一般情况下,launch中重新启动这个任务都会清楚底部以上的activity这个可以保留 Sample(例子):某人从主页屏幕载入activityP,并从哪里到达activityQ。用户接下来按HOME键,然后返回到activityQ。因为那时他在P的task里操作的地方。然后,如果P将该标志设置为true,当用户按了HOME键,该task进到后台去的时候,其上的所有的activity(Q也属于这种情况)讲被移除。所以以后回到该task时看到的只有P。

  说明:当用户再次载入该task时(在主页屏幕上选择该task),一个既存的activity实例是否应该被关闭---------ture表示会被关闭 false表示不会 。默认值为false。

  说明:ture允许次activity给其他进程调用 false 不允许其他进程调用次activity 默认为false

  说明:如果他的值为“:string”形式 根据需要给他一个新的进程 如果他的值为“string” 修改进程别名

  说明:是否保存activity的状态(也就是上面的值啦)如果为false就保存 为true就不保存。默认为false。

  说明:横竖屏切换----“unspecified”不指定切换方式---是默认值 “sensor”通过感应器来控制切换

  说明:activity执行的四种模式------根据任务栈的相关只是来看这个属性

  singleTop:当它在栈顶的时候就不会再去实例化它了(mp3播放界面适合这种) 会调用的他的onNewIntent()生命周期方法。

  singleTask:当他在当前栈里面已经实例化了的时候,再次调用它的时候它会关闭(destroy掉它上面的所有activity)然后调用它的onNewIntent()生命周期方法。------最后它跑到栈顶了。

  singleInstance:独立成栈(开辟了一个新栈) 并且有且只有它自己一个实例。

  退栈原则:先退当前栈,当前栈里面的activity退完了,再退接下来的栈

  一个A 一个B 自己写个例子练习一下。

【总结的android面试题】相关文章:

android面试题201704-04

android面试题及答案04-04

android面试题整理04-04

android面试题大全04-04

android面试题练习04-04

android测试面试题04-08

android面试题总结加强版05-07

android软件测试面试题04-04

android面试题库04-04