摘要: 观察者模式 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 一个气象站项目 主题(可观察者) Subject.java 其中一个观察者,实现Observer接口 Observer.java 测试 同样,也可以使用java.util包下的内置观察者模 阅读全文
posted @ 2019-01-05 13:51 kyun 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 本系列出自《Head First 设计模式》一书的总结。 策略模式 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,而不是针对实现编程。多用组合,少用 阅读全文
posted @ 2019-01-03 17:31 kyun 阅读(187) 评论(0) 推荐(0) 编辑
摘要: MeasureSpec MeasureSpec官方解释: A MeasureSpec encapsulates the layout requirements passed from parent to child. Each MeasureSpec represents a requirement 阅读全文
posted @ 2018-12-15 18:14 kyun 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 本系列总结主要参考GcsSloop自定义View系列以及《Android开发艺术探索》中的相应章节内容,仅作为个人笔记使用。 ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是ViewRoot来完成。当Activit 阅读全文
posted @ 2018-12-15 17:11 kyun 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1.冒泡排序 冒泡排序是一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。这个算法的名字由来是因为越小的元素会由交换慢慢浮到数列的顶端。 优化版的冒泡排序Java实现,增加了一个标记变量flag,内层循环没有改变,则直接退出循环。 2.选择排序 工作原理 阅读全文
posted @ 2018-12-12 22:52 kyun 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 本篇给出数据绑定及MVVM框架的总结,主要内容来自《Android编程权威指南》。 MVVM:Model-View-ViewModel,将其中的View的状态和行为抽象化,将视图UI和业务逻辑分开。MVVM架构很好地把控制器里的臃肿代码抽到布局文件里,让开发人员很容易看出哪些是动态界面。同时,它抽出 阅读全文
posted @ 2018-12-12 14:39 kyun 阅读(238) 评论(0) 推荐(0) 编辑
摘要: AsyncTask:是一种轻量级的异步任务类,可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。AsyncTask封装了Thread和Handler,通过AsyncTask可以方便地执行后台任务以及在主线上访问UI。(不适合进行特别耗时的后台任务,特别耗时的任务 阅读全文
posted @ 2018-12-03 15:35 kyun 阅读(442) 评论(0) 推荐(0) 编辑
摘要: Activity异常情况的生命周期: 默认情况下,Activity不做特殊处理,当系统配置发生改变后,Activity会被销毁并重建 。由于Activity是在异常情况下终止的,系统会调用onSaveInstanceState来保存当前Activity的状态(在onStop之前)。当Activity 阅读全文
posted @ 2018-11-30 16:26 kyun 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Android中的异步消息处理主要由4部分组成:Message、Handler、MessageQueue和Looper。 Message:在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。 Handler:用于发送和处理消息。 MessageQueue:消息队列,主要用于 阅读全文
posted @ 2018-11-29 17:39 kyun 阅读(155) 评论(0) 推荐(0) 编辑
摘要: OkHttp是一个优秀的网络通信库,GitHub项目主页地址。 基本使用 在项目中中添加OkHttp库的依赖。. OkHttp进行Get请求 OkHttp进行Post请求 接下来的操作和Get请求一样 同步请求时,需要开启子线程;异步请求时调用enqueue,无需开启子线程。 阅读全文
posted @ 2018-11-24 18:07 kyun 阅读(347) 评论(0) 推荐(0) 编辑