技术要点的的总结.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
技术要点的的总结

1. 熟练掌握Android四大组件,常用的布局文件等。 四大组件: activity:它是用于Android程序与用户交互的窗口,保持各界面的状态,做持久化,管理生命周期,做一些逻辑的跳转 service(服务):接收和完成上层指令,为定义好的intent提供同步异步接口 Content Provider(内容提供者):提供数据,向外提供统一接口,可以对数据进行排序整合 BroadCast(广播):可以接收多种intent作出发事件,转换成notification,统一了Android事件广播模型 常用布局有五种 LinearLayout(线性布局):依次排列控件 RelativeLayout(相对布局):相对某个元素的位置进行排版 FrameLayout(帧布局):控件依次放在坐上角,会重叠,一般用于填充Fragment TableLayout(表格布局):TableLayout 去定义它的行 TableRow 它在去定义它的元素 AbsoluteLayout(绝对布局):根据xy轴指定元素位置,局限性比较大,在屏幕旋转时会产生错位 ps:呃、有五种其中最长用的是线性和相对布局大部分页面用这两个布局都可以解决, 然后就是帧布局,它初始方位是左上角,会重叠显示,一般用于填充Fragment,表格布局就是先定义行,在去定义每行中的元素,一般像计算器这种布局需要使用,绝对布局我是不怎么用,因为他的局限性太大,它是根据XY轴去定义元素的,屏幕旋转的时候会发生错位 2. 熟悉XML/JSON解析数据,以及数据存储方式。 XML解析: sax dom pull dom主要使用在PC上开发 sax有点是不占内存空间解析方便但是对嵌套多个分支处理不好 pull也很省内存而且在J2ME中对节点处理比较好 gson解析 存储方式 SharedPreferences:Android提供用来存储简单的配置信息,用键值的方法存储,它采用xml格式将数据存储到设备中。 文件存储:用输入输出流存储,提供了openFileInput()和openFileOutput()方法 SQLite数据库: ContentProvider(内容提供者):为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。Android已经为常见的一些数据提供了默认的ContentProvider 3. 熟悉 常见Android优化技术,获取网络图片异步加载,分批加载,分页显示 listview的优化:listview的复用 1.自定义适配器,给contentView设置tag(setTag()),传入一个viewHolder对象,达到图像异步加载的效果, 2.用于缓存要显示判断contentView是否为空,如果为空创建view,如果不为空复用之前销毁的view 3.档listview需要显示item很多时,可以使用分页加载 4. 熟练掌握数据通信:线程通信、组件间通信 线程通信:Handler机制: 它是负责也子线程进行通讯更新主线程UI 因为如果在主线程更新UI进行了耗时操作,主线程阻塞5秒会造成ANR异常,所以需要借助Handler机制链接子线程与主线程完成更新UI 它的工作原理是:子线程通过Handler 创建一条消息,然后通过Handler将消息发送到UI线程对应的消息队列,然后这时候主线程对应的Looper会判断消息队列是否有消息,没有就继续循环等待,有的话UI线程就会调用Handler来处理消息。(图一) Handler在发送Message时,会在它的成员变量target上标记当前handler的引用,所以哪个handler发送的Message,就会由哪个来处理。 Looper:一个线程可以产生一个Looper,它在内部维护一个MessageQueue,Looper通过开启一个while(true)死循环 来轮询MessageQueue中的Message。当轮询到时就会分发这个Message给handlerMessage方法处理。 用来管理该线程里的MessageQueue(消息队列),我们可以构造Handler对象与Looper沟通,以便push新消息到消息队列,或者接受Looper从消息队列中取出的消息 MessageQueue(消息队列):是用来存放线程中放入的消息。 ANR(Application Not Responding):活动管理器和窗口管理器这两个系统服务负责监视应用程序的相应,当用户操后后5S系统没有给出反应或(BroadcastReceiver)广播接受者在10S内没有执行完毕,就会发生ANR,所以耗时操作,我们应该都放在子线程或者用异步方式来完成 组件间通信: Activity与Fragment数据传递: 方法一:Fragme

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档