Tags

keep hungry keep foolish

去繁化简

Sai

如何优雅的快速搭建MVVM项目

MVVMFramework系列教程(六)

列表说完了,接下来就是详情页了,详情页无非就是加载数据,其实很简单,和列表实现相同的规范。 BaseDetailViewModel 原理和BaseListViewModel一样,比列表更简单,仅仅需要实现onLoadDatailHttpRequest函数即可。 public class T...

如何优雅的快速搭建MVVM项目

MVVMFramework系列教程(五)

这一章是列表ViewModel的具体使用小结。 Model 比如我们要请求一个门票列表,地址为http://www.bigkoo.com/api/list/ticket 参数page和pageSize分别代表当前页和一页多少个item,返回格式 {"code":0,"msg":"获...

如何优雅的快速搭建MVVM项目

MVVMFramework系列教程(四)

获取列表数据并显示已经通过BaseRecyclerViewModel实现了,但是列表还不支持下拉刷新功能,所以我们还必须通过Databinding双向绑定来把ViewModel的refreshing和xml的SwipeRefreshLayout控件进行绑定。 BaseRefreshRecyc...

如何优雅的快速搭建MVVM项目

MVVMFramework系列教程(三)

统一规范的BaseViewModel和HttpServiceCallBack已经建好,那么把两者关联起来实现加载列表内容的时刻到了。 列表特性就是分页去加载数据,默认的按 page(当前第几页) 和 pageSize(一页多少个item)来控制分页,而当加载数据返回的item 数量比 page...

如何优雅的快速搭建MVVM项目

MVVMFramework系列教程(二)

上一章讲到BaseViewModel中几个状态,而通常这几个状态都是根据网络返回情况来判断的,建立一个基类写一个通用的网络回调的话,就能把各种状态设置好,不用在每个具体实现的类里重复去设置了。 Retrofit 网络库集成了Retrofit,我们通过继承Retrofit的Callback来实...

如何优雅的快速搭建MVVM项目

MVVMFramework系列教程(一)

MVVMFramework 是基于Databinding上建立一套MVVM代码规范,继承对应的BaseViewModel就能轻松实现快速MVVM模式开发。 Databinding资料相对还是比较少,但是官方给出已经很全面了,入门可能有点难,但是上手后开发效率可谓是极速,下面来介绍介绍这套基于D...

MVVM模式架构设计

databinding 和 retrofit 配合使用搭建快速框架

环境 AndroidStudio 2.1 MVVM模式 MVVM模式:View,ViewModel,Model,三者关系如上图。 Android 的MVVM模式:View 在 大多情况下是指 Activity,也因为很多操作需要用到Context,Activity也充当 Controll...

给RecyclerView添加ItemClickListener

RecyclerView几乎能完美替代ListView,并且能实现更多自定义的样式,但遗憾的是RecyclerView不提供setOnItemClickListener方法,需要在ViewHolder中添加事件。 好在RecyclerView提供ItemView Attach监听,当...

UIScrollView的AutoLayout设置

在Storyboard中使用UIScrollView

UIScrollView的AutoLayout设置 UIScrollView在Storyboard中使用AutoLayout设置比较特殊,因为除了简单的宽高之外,还有contentSize。这一篇就来说说怎么正确的设置UIScrollView而不提示Warnning。 建立一个...

Activity的启动模式

LaunchMode 在声明Activity的xml中指定 android:launchMode=”xxx” standard 标准模式。这是系统默认的模式,每次启动Activity都会重新创建一个新的Activity实例,也就是onCreate,onStart,onResume...

Drawable的Tint变色

让Android也能有iOS那么方便的图片色调转换

开发iOS应用的时候,图片很多时候只要一张,改变不同的色调就能变化出“正常、点击、选中、不能编辑”等不同的效果。而Android以前是通过多张图片(很多时候是一张基础图然后美工修改出几种不同颜色对应不同效果,对比iOS的Tint效果简直是low爆了有木有),以前在想,如果Android也能有这...

Android讲师

记南海东软信息技术学院周末讲师之旅

上周财哥叫我这周末一起去给东软学院的学生做做android的培训。我想了想,平时有写一些技术的blog,有一些积累可以做成PPT讲一下,顺便也可以回去逛逛母校广轻,于是就答应了。 接下来一周基本上是每天加班,晚上加晚班回来又要写PPT,直到周五晚上写到凌晨一点才写完。因为怕早上从广州出发赶不...

多渠道打包

通过gradle进行多渠道打包

环境 OSX AndroidStudio 1.0 多渠道设置 渠道号 以友盟SDK为例,打包多渠道:GooglePlay,小米,友盟,360,豌豆荚,应用宝。 在AndroidManifest.xml中加入渠道区分标识 <meta-data android:name="U...

反编译apk

反编译和防反编译系列

环境 OSX jdk 1.7 工具 Apktool-2.0.2 dex2jar-2.0 jd-gui-0.3.5.osx.i686.dmg 把上面下载下来的文件统一放到一个文件夹中,然后cd到这个文件夹。 通过 touch apktool 命令创建一个文件,然后拷贝wrapper sc...

反编译原理浅析

反编译和防反编译系列

本文只作概念性讲解,不作详解,只是希望把我理解的原理简单地描述出来,不深入探究。 JVM JVM是什么? 我的理解简单来说是:一个能把Class字节码翻译成本机cpu能够识别的指令的程序。 流程 Java源码(.java文件) => 编译器 => Class文件 =>...

gradle打包aar

打包aar并发布到 JCenter

以前使用开源库比较常用做法是下载源码包,通过import library引入。但通常我们都不需要修改源码,而且升级的时候又要去下载一次源码再替换,显得比较麻烦。后来转用Android Studio之后自带gradle构建项目,通过依赖管理轻松实现更新第三方库。我也开始把我的开源项目转为Andr...

Swift版内购买

这些其实没什么技巧可言,无非是套用模版就行,废话少说上模版。 //内购Demo,看代码说话吧 class IAPTestViewController: UIViewController ,SKProductsRequestDelegate, SKPaymentTransactionObser...

Crash分析

symbolicatecrash工具使用

Symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的地址替换成代码相应位置。 找出隐藏的symbolicatecrash工具 通过终端找出 symbolicatecrash 的路径 然后通过 c...

Android内存优化

性能优化篇

对象优化 避免创建不必要对象 最常见的例子就是当你要频繁操作一个字符串时,使用StringBuffer代替String。 对于所有所有基本类型的组合:int数组比Integer数组好,这也概括了一个基本事实,两个平行的int数组比 (int,int)对象数组性能要好很多。 总体来说...

Hello World

第一篇blog当然要致敬~

工作六年了,断断续续写过一些blog但是都没有维护和整理,最近想想,不能像以前那么吊儿郎当了,记录下学到的知识点,写写自己的想法什么的,希望将来回头看看,能看到自己曾经留下过什么。

-->
标签命名规范:
  • 按类型,功能
  • 专业术语优先