扫盲系列 - MVP, MVC , MVVC 介绍

MVC 是一个框架模式,而非设计模式, GOF 把 MVC 看作是三个设计模式:观察者模式,策略模式和组合模式的合体,其中核心在观察者模式。也就是基于发布/订阅者模型的框架。 框架模式和设计模式的区别 框架面向于一系列相同行为代码的重用。是大智慧,用来对软件设计进行分工。 设计面向于一系列相同结构代码的重用。是小技巧,对具体问题提出解决方案。以提高代码复用率,降低耦合度。 架构介于框架和设计之间。 软件开发中三种级别的重用: 内部重用: 即在...

阅读更多

扫盲系列 - Data Binding

开启DataBinding 在 Moudle 下面的build.gradle 中声明 android { ………… dataBinding{ enabled = true } ………… } 这样就开启 DataBinding ,so easy layout 标签 作用: 作为 DataBinding 的标志,省去 findViewById() 方法 <?xml version="1.0" e...

阅读更多

免输密码登录服务器的 Shell 脚本

免输密码脚本 一个 免输密码登录服务器的脚本如下,记得改成用户名和密码以及服务器端口: #!/bin/bash src_host=172.16.20.137 src_pwd=123456 src_user=helei expect -c " spawn ssh ${src_user}@${src_host} expect \"password:\" send \"${src_pwd}\r\" interact " 任何路径下都能执行的基本步骤: ...

阅读更多

Ubuntu 14.04 安装 jekyll

先执行下面命令, sudo apt-get update sudo apt-get upgrade //这个命令可能需要, sudo apt-get install ruby 然后执行 sudo apt-get install rubygems 结果竟然报错了 Reading package lists... Done Building dependency tree Reading state information... Done Pac...

阅读更多

Android Studio 使用技巧集合

快捷键 平台 Mac Win/Linux 自动生成变量 Cmd + Alt + V Ctrl + Alt + V 自动提取参数 Cmd + Alt + P Ctrl + Alt + P 自动提取方法 Cmd + Alt + M Ct...

阅读更多

源码分析 - Retrofit

创建 Retrofit 的实例 Retrofit retrofit=new Retrofit.Builder()// .baseUrl("http://fanyi.youdao.com/")// .addConverterFactory(GsonConverterFactory.create())// .addCallAdapterFactory(RxJavaCallAdapterFactory.create())// .build...

阅读更多

扫盲系列 - RxJava 基本用法

RxJava 异步,实现异步操作的库。异步实现,是通过一种扩展的观察者模式来实现。 好处:简洁,随着程序逻辑越来越复杂,它依旧能保持简洁,简洁到无论多么什么复杂的逻辑都能串成一条链 三个基本概念 Observable 可观测者,即被观察者 Observer 观察者 subcribe 订阅事件 Observer 观察者 决定事件触发的时候将有怎么样的行为,是一个泛型接口,实现方式 Observer<String> observab...

阅读更多

扫盲系列 - OkHttp 基本用法

简介 是一个网络框架,可以用于 Android 和 Java 应用程序。 支持Android 2.3以上。对于 Java ,最低要求是1.7。当然我们主要说的是 Android 。 我们知道 Android 系统提供了两种 HTTP 通信类, HttpURLConnection 和 Apach HttpClient 。但是这个 Apach HttpClient 在 Android API 23 ,也就是Android6.0上已经废弃。而 HttpUR...

阅读更多