2022年Android考试知识点考试.pdf
《2022年Android考试知识点考试.pdf》由会员分享,可在线阅读,更多相关《2022年Android考试知识点考试.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Android 考试知识点考试考试知识点 (Android闭卷考试 ) 1.理解 Android 常见的几种布局。几种布局的高与宽 , 制定LinearLayout,线性布局 , 布局中的控件在线性方向上依次排列。默认控件水平方向排列。android:orientation=”horizontal”android:orientation=”vertical”注意: 当就是水平方向排列 , 控件宽度不能设置为android :layout_width=match_parent 否则控件会把水平方向沾满, 其她控件无法会控件覆盖 ( 无法放置 ) 当就是垂直方向 , 内部控件不能将android:
2、layout_height=match_parent 指定为 match_parent android:layout_weight=1, 使用比例方式来指定控件的大小RelativeLayout, 相对布局 , 就是通过相对定位的方式让布局中控件可以出现在布局的任何位置。内部控件 , 三种属性 , 属性值就是 true 或 false android:layout_centerHrizontal 水平居中 , 属性值就是” id/* “android:layout_below 在某元素的下方属性值就是数值android:layout_marginLeft 离某元素左边缘的距离FrameLayo
3、ut, 帧布局 , 简单, 应用场景少 , 与碎片一起使用 , 没有定位方式 , 所有控件默认在布局的左上角 , 后面的会覆盖前面的。 每一个组件都代表一个画面用该布局可以实现动画效果PercentFrame(Relative)Layout百分比布局 : 布局中可以不用wrap_content,match_parent等方式来指定控件的大小 , 直接指定控件所占的百分比, 实现平分布局甚至任意比例分割布局。注意百分比布局需要添加库依赖 support:percent:24、由于 LinearLayout本身支持按比例指定控件大小, 所以百分比布只为RelativeLayout与 Relativ
4、eLayout功能扩展表格布局 (Tablelayout)采用行列的形式管理UI 组件 ,无需明确地声明它的行列数, 而就是通过添加TableRow、其她组件来控制表格的行数与列数GridLayout就是 Android4 、0 之后新增的布局管理器 , 因此正常情况下需要在Android 4 、0 之后的版本中才能使用 , 如果希望在更早的版本中使用的话, 需要导入相应的支撑库 (v7 包的 gridlayout包) 。Grid Layout 网格布局 , 与前面所讲的 Table Layout( 表格布局 ) 有点类似 , 不过她有很多前者没有的东西, 因此也更加好用 : - 可以自己设置
5、布局中组件的排列方式- 可以自定义网格布局有多少行、列- 可以直接设置组件位于某行某列- 可以设置组件横跨几行或者几列精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 17 页 - - - - - - - - - - Android 考试知识点考试Absolute Layout 它不提供任何布局控制 , 而就是由开发人员自己通过X、Y坐标来控制组件的位置。 运行 Android 应用的手机往往千差万别 , 屏幕大小、分别率、屏幕密度等都可能存在较大的差异, 使用绝对布局的话很难做机型适配- 已经
6、被废弃2.理解 Android 应用程序开发过程中 , 常见的四种设计模式及各自的使用场合。ListView-Adapter 、Builder-Dialog 、Factory-选项卡、 Listener-事件监听。1 适配器模式 : 简介 :将一个类的接口转换成客户希望的另外一个接口,从而使原本因接口不匹配而无法再一起工作的两个类能够在一起工作。不同的数据提供者使用一个适配器来向一个相同的客户提供服务。举例 :ListView 或 GridView的 Adapter 。2 建造者模式 : 简介 :将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的显示 ,但其根本还就是不变。举
7、例 :AlertDialog 、Builder 、AlertDialog 、Builder, 使用该 Builder 来构建复杂的AlertDialog对象工厂模式 : 定义一个用于创建对象的接口, 让子类决定将哪一个类实例化。外部不需要关心工厂就是如何创建一个复杂产品的过程示例:BitmapFactory位图工厂 , 专门用来将指定的图片转换为指定的位图 Bitmap。监听器模式事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以回调事件的方法、 Listener-事件监听观察者模式 :定义对象间就是一 (Subject)对多(Observer)的依赖关系 ,当一个对
8、象发生变化时 ,其它依赖该对象的对象都会收到通知,并随着变化。广播机制就就是观察者模式ListView与BaseAdapter组 合 时 ,当BaseAdapter的item改 变 时 ,我 们 经 常 会 调 用notifyDataSetChanged(),通知 Listview 刷新3.Android 中可支持网页的缩放的视图(View) 及其功能在 Android 系统中 , 内置了一款高性能的浏览器, 其内核就就是WebKit,WebView网页视图 , 就就是在这个基础上封装的一个控件, 我们可以直接用这个控件在应用程序内去显示Web页面, 直接用 HTML文件做为布局文件 , 可以
9、与 JavaScript交互调用。显示与渲染 web页面(1)、直接显示网页设置在当前应用中打开网页,如果不设置的话会使用手机浏览器打开网页 mWebView 、setWebViewClient(new WebViewClient() 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 17 页 - - - - - - - - - - Android 考试知识点考试 Override public boolean shouldOverrideUrlLoading(WebView view, Web
10、ResourceRequest request) view、loadUrl(); return true; ); mWebView 、loadUrl();(2)与 js 交互设置支持 JavascriptWebSettings settings = webView、getSettings(); settings、setJavaScriptEnabled(true); (3)可以利用 html做界面布局4.理解 View与 ViewGroup的用途及两者之间的关系。继承结构 : View 就是 ViewGroup的父类类。 View 就是所有 UI 组件的基类 ,而 ViewGroup就是容纳这
11、些组件的容器 ,其本身也就是从View 派生出来的、View 中所有的子类成为widgets,viewgroup的子类成为layout 。View 与 ViewGroup之间采用了组合设计模式,可以使得 “部分 -整体”同等对待。 ViewGroup作为布局容器类的最上层,布局容器里面又可以有View 与 ViewGroup 。对于 setContentView(R、layout 、 layout 的 xml 文件 )方法 ,Activity 其实不就是显示视图(直观上感觉就是它),实际上 Activity 调用了 PhoneWindow的 setContentView()方法 ,然后加载视图
12、 ,将视图放到这个Window上,而 Activity 其实构造的时候初始化的就是Window(PhoneWindow),Activity其实就是个控制单元,即可视的人机交互界面。Activity 就是一个工人 ,它来控制 Window;Window就是一面显示屏 ,用来显示信息;View 就就是要显示在显示屏上的信息,这些 View 都就是层层重叠在一起 (通过 infalte() 与 addView() 放到 Window显示屏上的。而 LayoutInfalter就就是用来生成 View 的一个工具 ,XML 布局文件就就是用来生成View 的原料。(2) 、Activity、Windo
13、w、View 之间的关系 :Activity 就是 Window与 View 之间的桥梁 ,将 View 的内容信息显示在 Window窗口上面。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 17 页 - - - - - - - - - - Android 考试知识点考试5.理解 Android 网络编程中 , 常见的数据传输格式。网络传输中最常见的有xml 与 json ,还有 protocol buffers,gzip,ThriftXml通过 Pull,SAX 与 Dom 方式解析Jso
14、n 用 JSONObject与 GSON 解析。Protocol Buffers 一种数据描述语言,类似于 XML 能够将结构化数据序列化类似于 XML,但更小, 更快, 更简单经常用到 json 、 xml 等格式的数据 , 这些数据在传输前可以进行压缩, 这时候就会涉及到一种压缩格式 Gzip。 Gzip 的压缩比率非常大 , 有的甚至能达到 70% 以上,可以大大减少传输内容 , 提高用户的传输速度 , 进而提高用户的体验6.理解基本组件 Activity的相关知识 ( 如重载方法等 ) 。Android 应用有四大组件Activity、Service、BroadcastReceiver
15、、ContentProvider ContentProvider 组件 :用 于 Android 应 用 之 间实 现实时 的数 据 交 换。 常与ContentResolver一起使用BroadcastReceiver组件:广播消息接收器 ,类似于事件编程中的监听器,但就是不同的就是普通的事件监听器监听的事件源就是程序中的对象,而 BroadcastReceiver监听的事件源就是Android 应用程序中的其它组件。Service 组件 : 通常位于后台运行 ,一般不需要与用户交互,所以没有图形界面。Service 组件运行起来后会有独立的生命周期,它通常用于为其她组件提供后台服务或监控其
16、她组件的运行状态(1)activity 就是一种可以包含用户界面的组件,主要用于与用户进行交互表现形式就是一个屏幕,功能就是显示界面,消息传递整个生命周期 :onCreate()-onDestroy() 可见的生命周期:onStart()-onStop() 前台的生命周期:onResume()-onPause() 运行 ,暂停 (不在栈顶 ,但可见 ),停止 (完全不可见 ,有可能因内存不够被回收),销毁(从栈中移除覆盖了 activity 生命周期的每一个环节精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -
17、第 4 页,共 17 页 - - - - - - - - - - Android 考试知识点考试onCreate():当 activity 就是被创建时候 ,会自动运行该方法。该方法做一些初始化动作 ,比如加载布局 ,绑定时间等。onStart():活动在有不可见变为可见的时候调用。onResume(): 当 activity 开始与用户交互 (获得焦点 )时,会调用onResume, 此就是活动一定位于返回栈的栈顶,并处于运行状态。onPause(): 当系统准备启动或恢复另一个活动时调用。此时活动处于暂停状态 (当一个活动不再处于栈顶的位置,但仍然可见 ,弹出一个对话框或者一个不能占满屏幕
18、的活动都会导致前一个活动处于暂停状态)通常会在这个方法中释放掉一些占用cpu的资源精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 17 页 - - - - - - - - - - Android 考试知识点考试onStop():当这个 activity 完全瞧不见的时候 ,会调用 onStop 方法。以下三种情况都会使这个activity 调用 onStop()方法,第一种就是一个新的 activity被执行 ,第二种就是一个已经存在的activity 被切换到最前端,第三种就是这个 acti
19、vity 要被销毁。onRestart():把 activity 从停止状态变为运行状态,活动被重新启用。onDestroy():当 activity 销毁前会调用该方法 ,之后变为销毁状态。理解何时需要在 Activity 中重写方法 onActivityResult?当使用 startActivityForResult()( 在第一个活动中 )方法启动另一个 Activity 时,需要在第一个活动中重写onActivityResult() 方法,获得被启动 Activity 返回的结果。Intent intent=new Intent(this ,secondeActivity、class
20、 ); startActivityForResult(intent,int 请求码 ); 重写 Override protected void onActivityResult(int requestCode, int resultCode, Intent data) String result = data 、getExtras()、getString(result);/得到新 Activity 关闭后返回的数据 Log、i(TAG, result); 在第二个活动中 : 点击事件中/ 数据就是使用Intent返回 Intent intent = new Intent(); /把返回数据存入
21、Intent intent、putExtra(result, My name is linjiqin); /设置返回数据 OtherActivity、this、setResult(RESULT_OK, intent); /关闭 Activity OtherActivity、this、finish(); 7. 理解在 Intent传递数据时使用的几种数据类型。基本数据类型Serializable、将一个对象序列化后转换成可以传输的状态,序列化的方法就是让类自身继承Serializable 接口Person p=new Person(); p、setname();、Intent intent=ne
22、w Intent(源活动 ,目标活动、 class); intent 、putExtra( “ 名字 ” ,p); 接受数据 :Person p2=getIntent() 、getSerializableExtra(“ 名字 ); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 17 页 - - - - - - - - - - Android 考试知识点考试Parcelable,同样需要类继承Parcelable 接口,但需要在 person 类中重写接口中两个方法,必须有一个实现了Parce
23、lable、Creator 接口的静态常量成员字段。接受数据方法getIntent 、getParcelableExtra(“ 名字 ); CharSequence、 CharSequence接 口 ,实 现 了 这 个 接 口 的 类 有 :CharBuffer、 String 、StringBuffer 、 StringBuilder这个四个类。 所以处理 String 或者 StringBuffer的类就不用重载。Bundle:一种存放字符串与Parcelable类型数据的map 类型的容器类 ,通过存放数据键(key)获取对应的各种类型的值(value), 而且必须通过键(key) 获
24、取。I n t e n t i n t e n t =n e w I n t e n t ( ) ;i n t e n t 、 set C l a ss( act i vi t y 1、 t h i s, a ct i v i t y2 、 cl a ss) ;/ / 描 述 起 点 与 目 标B u n d l e b u n d l e = n e w B u n d l e ( ) ; / / 创 建B u n d l e 对 象b u n d l e、 pu t St r i n g( so m et h i n g , A ct i vi t y 1 发 来 的 数 据 ) ; /
25、/ 装 入 数 据i n t e n t 、 p u t E x t r a s( b u n d l e) ; / / 把 B u n d l e 塞 入I n t en t 里 面st a r t A ct i v i t y ( i n t en t ) ; / / 开 始 切 换A ct i vi ty 2 接 收 数 据I n t e n t i n t e n t =t h i s、 g et I n t en t ( ) ; / / 获 取 已 有 的 i n t en t 对 象B u n d l e b u n d l e = i n t e n t 、 g et E x t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 Android 考试 知识点
限制150内