2022年Android考试题简答题总结 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年Android考试题简答题总结 .pdf》由会员分享,可在线阅读,更多相关《2022年Android考试题简答题总结 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1. 活动的生命周期与进程的生命周期无关;进程是各种活动可随意使用的一个容器;2. 可以在 DOS命令行中调用Aandroid工具,进行开发、调试、编译、打包、部署等;3. 调用 Android SDK 中的工具可以可视化的在布局文件中添加、删除、视图组件,提高了开发效率;4.src源文件夹; gen 保存自动生成R 资源类文件夹; assets保存原生资源文件夹;res 资源文件夹; AndroidManifest.xml(Android配置清单文件 ) ;default.properties(属性文件);5.Android应用程序的代码文件:FirstActivityAct.java(活动
2、类 );R.java(资源索引类 );strings.xml(声明系统中用到的字符串常量); 降低耦合行;提高效率;main.xml( 布局文件 , 声明程序中用到的视图组件);AndroidManifest.xml(全局配置文件,声明用到的组件、权限、版本;6.Android应用程序不能直接使用编译后的类文件(.class); dx 命令将 java 编译后的类文件 (.class)转换成 Dalvik虚拟机可执行的文件(.dex);7. 模拟器没有真正的数据存储设备;mksdcard 命令将硬盘空间镜像为数据存储设备;8.如何给模拟器上传资料:DDMS 和 DOWS 命令9. Androi
3、d保存视图状态时,遍历视图层次结构中的每个视图,每发现一个有ID 的视图,就调用View.onSaveInstanceState()方法;视图状态被保存在Bundle 类实例中;调用onRestoreInstanceState()方法用于恢复保存在Bundle 实例中的视图状态10. 使用 ListView绑定数据库查询结果11.ContentProvider:进程在系统中将它们本身注册为某些数据类型的提供者。请求该信息时,Android就会通过一个固定的API 调用这些进程,以它们认为适合的方式查询或修改内容。ContentProvider是一个类似 Activity的高级对象,需要向系统声
4、明12.EventProvider类,扩展 ContentProvider,在重载的方法中实现了对数据记录的查询、插入、删除、更新等操作。通过EventProvider类,系统中创建了一个可以被其他程序使用的数据存储框架,其他开发人员编写的应用程序也可以使用这一框架对数据库进行访问简答题:1谈谈 android大众常用的五种布局。(创建启动界面的常用布局)答:在 Android 中,共有五种布局方式,分别是:FrameLayout(框架布局 ),LinearLayout ( 线性布局 ),AbsoluteLayout( 绝对布局 ),RelativeLayout( 相对布局 ),TableLa
5、yout( 表格布局 )。(1)FrameLayout 框架布局 ,放入其中的所有元素都被放置在最左上的区域,而且无法为这些元素指定一个确切的位置 ,下一个子元素会重叠覆盖上一个子元素,适合浏览单张图片。(2)LinearLayout 线性布局 ,是应用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每个子组件都是以垂直或水平的方式来定位 (默认是垂直 )。(3)AbsoluteLayout 绝对定位布局 ,采用坐标轴的方式定位组件,左上角是(0,0)点,往右名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
6、理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - x 轴递增,往下Y 轴递增 ,组件定位属性为android:layout_x 和android:layout_y 来确定坐标。 (4)RelativeLayout 相对布局 ,根据另外一个组件或是顶层父组件来确定下一个组件的位置。和CSS里面的类似。 (5)TableLayout 表格布局 ,类似 Html 里的 Table.使用 TableRow 来布局,其中TableRow 代表一行, TableRow 的每一个视图组件代表一个单元格。2. 谈谈 android数据存储方式。答: Android
7、提供了 5 种方式存储数据:(1)使用 SharedPreferences存储数据 ;它是 Android 提供的用来存储一些简单配置信息的一种机制,采用了XML 格式将数据存储到设备中。只能在同一个包内使用,不能在不同的包之间使用。(2)文件存储数据 ;文件存储方式是一种较常用的方法,在 Android 中读取 /写入文件的方法,与 Java中实现 I/O 的程序是完全一样的,提供了openFileInput() 和 openFileOutput()方法来读取设备上的文件。 (3)SQLite 数据库存储数据;SQLite 是 Android 所带的一个标准的数据库,它支持SQL 语句,它是
8、一个轻量级的嵌入式数据库。(4)使用 ContentProvider 存储数据 ;主要用于应用程序之间进行数据交换,从而能够让其他的应用保存或读取此Content Provider 的各种数据类型。(5)网络存储数据 ;通过网络上提供给我们的存储空间来上传(存储 )和下载 (获取 )我们存储在网络空间中的数据信息。3.Android中 Activity, Intent, Content Provider, Service各有什么区别。答: Activity :活动,是最基本的android 应用程序组件。一个活动就是一个单独的屏幕,每一个活动都被实现为一个独立的类,并且从活动基类继承而来。In
9、tent:意图,描述应用想干什么。最重要的部分是动作和动作对应的数据。Content Provider:内容提供器, android 应用程序能够将它们的数据保存到文件、SQLite 数据库中,甚至是任何有效的设备中。当你想将你的应用数据和其他应用共享时,内容提供器就可以发挥作用了。Service :服务,具有一段较长生命周期且没有用户界面的程序。4.View, surfaceView, GLSurfaceView 有什么区别。答: view 是最基础的,必须在UI 主线程内更新画面,速度较慢。SurfaceView 是 view 的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度
10、比view 快。 GLSurfaceView 是 SurfaceView 的子类,opengl 专用的。5.Adapter有什么作用 ?常见的 Adapter有哪些 ?答: Adapter 是连接后端数据和前端显示的适配器接口。常见的Adapter 有 ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, SpinnerAdapter, WrapperListAdapter 等
11、。6.Manifest.xml文件中主要包括哪些信息?答:manifest:根节点,描述了package中所有的内容。 uses-permission:请求你的 package正常运作所需赋予的安全许可。 permission:声明了安全许可来限制哪些程序能你package中的组件和功能。instrumentat名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - ion:声明了用来测试此package或其他 package 指令组
12、件的代码。application:包含 package中 application级别组件声明的根节点。activity :Activity 是用来与用户交互的主要工具。receiver:IntentReceiver 能使的 application 获得数据的改变或者发生的操作,即使它当前不在运行。service:Service 是能在后台运行任意时间的组件。 provider:ContentProvider 是用来管理持久化数据并发布给其他应用程序使用的组件。7. 根据自己的理解描述下Android数字签名。答: (1)所有的应用程序都必须有数字证书,Android 系统不会安装一个没有数字证
13、书的应用程序。(2)Android 程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证。(3)如果要正式发布一个 Android ,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt 插件或者 ant工具生成的调试证书来发布。 (4) 数字证书都是有有效期的,Android 只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。8. 请谈一下Android系统的架构。答: Android系统采用了分层架构,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。9. 请描述下Ac
14、tivity的生命周期 。必调用的三个方法:onCreate() onStart() onResume() ,用 AAA表示( 1)父 Activity启动子Activity,子 Actvity退出,父 Activity调用顺序如下AAA onFreeze() onPause() onStop() onRestart() onStart(),onResume() (2)用户点击Home ,Actvity调用顺序如下AAA onFreeze() onPause() onStop() Maybe onDestroy() Maybe (3)调用 finish(),Activity调用顺序如下AAA
15、onPause() onStop() onDestroy() (4)在 Activity上显示dialog , Activity调用顺序如下AAA (5) 在父 Activity上显示透明的或非全屏的activity, Activity调用顺序如下AAA onFreeze() onPause() (6) 设备进入睡眠状态, Activity调用顺序如下AAA onFreeze() onPause() 10. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?onSaveInstanceState() 当你的程序中某一个Activity A在运行时,主动或被动地
16、运行另一个新的Activity B,这个时候 A会执行 onSaveInstanceState()。B完成以后又会来找A,这个时候就有两种情况:一是 A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate() 里是带上了参数savedInstanceState; 而没被收回的就直接执行onResume(),跳过 onCreate()了。11. 如何将一个Activity设置成窗口的样式。在 AndroidManifest.xml 中定义 Activity的地方一句话android:theme=android:style/Theme.D
17、ialog或 android:theme=android:style/Theme.Translucent就变成半透明的12. 如何退出Activity?如何安全退出已调用多个Activity的 Application?对于单一 Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()和System.exit()这样的方法。 但是,对于多Activity的应用来说,在打开多个Activity后,如果想在最后打开的 Activity直接退出,上边的方法都是没有用的,因为上边的方法都是结束一个Activity而已。没有办法直接结束一个应用,而只能用自
18、己的办法间接办到。现提供几个方法, 供参考: 1、抛异常强制退出:该方法通过抛异常,使程序ForceClose 。验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出 Force Close 的窗口。 2、记录打开的Activity:每打开一个Activity,就记录下来。在需要退出时,关闭每一个 Activity即可。 3、发送特定广播:在需要结束应用时,发送一个特定的广播,每个Activity名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - -
19、 - - - - - - 收到广播后,关闭即可。4、递归退出:在打开新的Activity时使用 startActivityForResult,然后自己加标志,在 onActivityResult中处理,递归关闭。除了第一个,都是想办法把每一个Activity都结束掉,间接达到目的。但是这样做同样不完美。你会发现,如果自己的应用程序对每一个Activity都设置了nosensor ,在两个 Activity结束的间隙, sensor 可能有效了。但至少,我们的目的达到了,而且没有影响用户使用。为了编程方便,最好定义一个Activity基类,处理这些共通问题。13. 请介绍下ContentProv
20、ider是如何实现数据共享的。创建 一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。14View 重绘和内存泄露的好像是面试经常问的问题1. View的刷新 :在需要刷新的地方使用handle.sendmessage 发送信息 , 然后在 handle 的 getmessage 里面执行 invaliate或者 postinvaliate .View 可以调用 invalidate()和 postInvalidate()这两个方法刷新 View受系统刷新(
21、系统内部有个循环,监控事件、做业务处理、绘UI),可以用 postInvalidate() 促使系统刷新。2. GC 内存泄露出现情况 :1. 数据库的 cursor没有关闭 2.构造 adapter时, 没有使用缓存contentview衍生 listview的优化问题减少创建view 的对象 , 充分使用 contentview,可以使用一静态类来优化处理 getview的过程 / 3.Bitmap对象不使用时采用recycle()释放内存 4.activity中的对象的生命周期大于 activity 调试方法 : DDMS= HEAPSZIE=dataobject=Total Size
22、15 DDMS 与 TraceView 的区别?DDMS 是一个程序执行查看器,在里面你可以看见线程和堆栈等信息,TraceView 是程序性能分析器16. 如何将打开res aw 目录中的数据库文件? 在 Android 中不能直接打开res aw目录中的数据库文件,而需要在程序第一次启动时将该文件复制到手机内 存 或SD 卡 的 某 个 目 录 中 , 然 后 再 打 开 该 数 据 库 文 件 。 复 制 的 基 本 方 法 是 使 用getResources().openRawResource方 法 获 得res aw 目 录 中 资 源 的InputStream对 象 , 然 后 将
23、 该InputStream对 象 中 的 数 据 写 入 其 他 的 目 录 中 相 应 文 件 中 。 在Android SDK 中 可 以 使 用SQLiteDatabase.openOrCreateDatabase方法来打开任意目录中的SQLite 数据库文件。17. Android dvm的进程和Linux 的进程 , 应用程序的进程是否为同一个概念DVM指 dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM 都是在 Linux 中的一个进程,所以说可以认为是同一个概念。18. sim 卡的 EF 文件有何作
24、用sim 卡的文件系统有自己规范,主要是为了和手机通讯,sim 本 身可以有自己的操作系统,EF就是作存储并和手机通讯用的19. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗? 嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。主要用于工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。又可分为软实时和硬实时两种,而 android是基于 linux内核的, 因此属于软实时。20. 一条
25、最长的短信息约占多少byte? 中文 70(包括标点 ) ,英文 160,160 个字节。21. android中的动画有哪几类,它们的特点和区别是什么? 两种,一种是Tween动画、还有一种是Frame动画。 Tween 动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化; 另一种 Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 现,类似电影。2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Android考试题简答题总结 2022 Android 考试题 答题 总结
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内