- 博客(77)
- 资源 (25)
- 收藏
- 关注
原创 项目技术管理搭建
项目技术管理搭建思想背景主要核心思想背景在上家公司创业失败后,进入目前任职的公司负责移动端项目管理和开发,接手项目后发现移动各端项目各自为营,毫无章法,例如:开发语言、核心框架不统一,命名规范、分包思想、基础模板层缺失等;为了后续项目的可持续迭代,扩展和维护,整合项目资源和方便后续项目管理;此记录项目整合后主要核心方法结果:所有项目统一 base库、分包思想、开发语言、核心库;已经基本完成...
2019-04-09 13:20:49
944
1
原创 Kotlin -by 详解
Kotlin 中 by 关键字用来简化实现代理 (委托) 模式,不仅可以类代理,还可以代理类属性, 监听属性变化,下面我们来介绍by的几种主要使用场景:类的代理 class属性延迟加载 lazy可观察属性 Delegates.observable ( 扩展 Delegates.vetoable )自定义监听属性变化 ReadWriteProperty属性非空强校验 Delegates...
2019-02-25 16:33:39
20876
1
原创 Kotlin -特殊用法详解
解构声明我们在一个文件中定义一个Person类data class Person(val name: String, val age: Int)我们可以通过简单的语法获得这个类的name和age属性val (name, age) = Person("tom", 11)println(name)println(age)上面的Person是数据类(data class)...
2019-02-21 15:54:49
5470
原创 移动Android开发-规范文档
Android规范文档本手册以开发者为中心视角分为 Java 语言规范, Android 资源文件命名与使用,Android 基本组件,UI 与布局,进程、线程与消息通信, 文件与数据库,Bitmap、Drawable 与动画,安全,其他等九大部分,根据约束力强弱, 规约依次分为强制、推荐、参考三大类:【强制】必须遵守,违反本约定或将会引起严重的后果;【推荐】尽量遵守,长期遵守有助于系...
2018-09-10 17:40:22
6943
原创 React-Native 基础学习入门指南
React-Native 基础学习入门指南背景随着前端工程师这个名词的日益火爆,同时衍生出全栈前端工程师。对移动端开发来说无疑是多了另一种选择,而不久前的微信小程序无疑是打响了前端开发的号角,所以如果对前端还没有涉猎或者之前对前端开发怀疑和犹豫的人来说,是时候开始新一轮的学习了。在研究了众多前段开发技术中,最后RN无疑是后起之秀,由facebook开源,更新速度和社区建设可以说是飞速吧,所以决定投身
2017-02-21 11:54:29
5001
原创 Retrofit 源码剖析-深入
背景前一章节,先系统的讲解了关于Retrofit实现当中的主要技术动态代理,本篇详细结合动态代理在Retrofit中的应用,扩展到结合RxJava来使用 Retrofit源码解析-动态代理思路要深入研究一款开源项目最好的入口就是它所暴露出来的外部使用接口,按照这个思路,所以需要大体先了解Retrofit的基本使用,这里就不阐述这些基础的知识,可以查看以前的博客 RxRetrofit-专栏
2017-01-19 16:00:28
6294
原创 Retrofit源码解析-动态代理
背景之前一系列的关于Retrofit使用和封装的讲解过后,想必对Retrofit的灵活性和扩展性有何深入的了解,既然如此我们就对于Retrofit内部实现原理来深入的学习,既然要用就要理解怎么用和怎么能用的的更好,不能局限在使用的层面上,接下来的文章从源码的角度去思考和借鉴如何才能写出一个好的开源框架。 RxRetrofit封装-专栏原理Retrofit 2.0是如何进行网络请求的呢?主要是用
2017-01-19 11:38:24
4483
原创 Android 编译时注解-提升-butterknife
背景在前面的文章中,讲解了注解和编译时注解等一些列相关的内容,为了更加全面和真是的了解Android 编译时注解在实战项目中的使用,本文采取实现主流框架butterknife注入view去全面认识编译时注解。 注解专栏-博客效果先来张图压压惊,实现效果butterknife的view绑定使用仿照butterknife实现了@BindView注解,通过WzgJector.bind方法绑定当前Ma
2017-01-17 10:26:51
79664
2
原创 Android 编译时注解-初认识
Android 编译时注解-初认识背景编译时注解越来越多的出现在各大开源框架使用中,比如 JakeWharton/butterknife view greenrobot/EventBus 事件 square/dagger 依赖注入类似这样的库在开发和工作中已经越来越多,它们旨在帮助我们在效率为前提的情况下帮助开发者快速开发,节约时间成本。而它们都使用了编译时注解的思想。正因
2017-01-13 15:48:29
2203
原创 Fragment-踩坑
Fragment-踩坑背景Fragment已经成为Android开发界面设计中不可或缺的一部分,同时也发挥着越来越重要的角色,虽然Fragment已经能出色的项目开发,但是在使用过程中也暴露了越来越多的问题,虽然google也一直在及时的修复,但是还是有很多坑,所以决定记录Fragment使用过程中的使用问题,避免小伙伴们重复踩坑。在了解踩坑之前,我们需要先了解Fragment的使用要点和使用方法F
2017-01-06 13:55:05
2911
原创 2016-个人总结
背景转眼间2016年的最后一天即将结束,回想这一年发送的事情,感觉对我个人来说还是很有意义。从第一次写博客,到第一次成为一个父亲………每天都是惊喜,所以有必要写下人生第一篇年终总结记录。当然以后每一年都会写,以此督促自己向前。工作今年年初换了一家新的创业公司,由于上一家公司的个人原因,项目都是封闭的,没有接触市场,所以导致来了新公司以后很多的地方不习惯和不适用比如:开发工具:eclipse->An
2016-12-31 14:58:34
1229
2
原创 RxJava+Retrofit+OkHttp深入浅出-mvp(使用篇)
RxJava+Retrofit+OkHttp深入浅出-mvp(使用篇)背景RxJava+Retrofit+OkHttp封装系列也基本完成了,功能无太大迭代的需要,但是最近QQ群中有兄弟问如何结合mvp使用这套框架,仔细考虑下确实现在结合mvp开发项目已经是一种大趋势,不得不感叹现在技术更新的真是太快了,所以决定再一次操刀讲解下结合mvp使用需要注意的细节。思路既然是结合mvp,那就必须先了解mvp是
2016-12-26 15:19:42
12774
原创 RxBus-实现EventBus之Sticky
RxBus-实现EventBus之Sticky背景前期由于工作中需要将EventBus转RxBus,所以按照EventBus的用法封装了一套自己的RxBus,基本满足了使用,项目发出后有不少兄弟告诉我没有EventBus的Sticky功能,所以得闲完善这个功能,同样是按照EventBus3.0注解的方式去实现和调用 原RxBus基本功能实现原理:EventBus完全一样的RxBus效果stic
2016-12-20 10:36:42
3898
原创 新版Bintray-极简上传Library到JCenter
新版Bintray上传Library到JCenter背景最近得闲将封装的开源项目上传到JCenter上,方便供人使用;突然发现Bintray网站更新变化很大,网上很多旧的博客并不适用,而且很容易走很多弯路!这里做个广告,开源库EventBus之RxBus(用法和EventBus3.0完全一样): https://github.com/wzgiceman/Rxbus注册注册是踩坑的第一步,很多博
2016-12-17 14:28:33
6390
3
原创 RxJava+Retrofit+OkHttp深入浅出-终极封装七(异常处理)
Rxjava+ReTrofit+okHttp深入浅出-终极封装七(异常处理)背景在前面Rxjava+ReTrofit+okHttp深入浅出-终极封装专栏我们已经全面的封装了一套可以投入实战的框架,最近开设了微信群中有兄弟说异常处理这块可以优化优化并给出了建议参考项目,果断重新将之前的封装完善走起来,将请求过程中的处理统一封装起来,回调给调用者,根据自定义回调类型方便查询错误类型和信息。前提本章的内容
2016-12-13 13:23:52
10536
原创 Android-注解详解
Android-注解详解背景上一章,我们研究了 Java注解 的用法;紧跟着这章研究一下Android相关的注解的使用,比如我们熟悉的ButterKnife就是使用注解的方式实现对其使用,掌握注解的使用方法极大的方便了我们的开发效率环境使用Android注解前需要导入相关的包 compile 'com.android.support:support-annotations:latest.integr
2016-12-06 11:34:32
12640
1
原创 Java-注解详解
注解-JAVA使用篇背景在之前的Rxjava+ReTrofit+okHttp深入浅出-终极封装和RxBus完全一样的 EventBus中我们频繁的使用了注解,通过注解大大的提升了我们开发的效率,但是很多同学反馈说对里面的使用不是很了解,所以决定对java和android注解的使用做详细的介绍。版本 在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情
2016-11-30 12:00:58
7827
3
原创 Butterknife工具类之-自动解析网页版
Butterknife工具类-自动解析网页篇背景Butterknife想必大家都很熟悉,解决了我们手动重复写大量的findViewById和点击事件功能!理论上说已经很完美了,但是对于我这样的懒人来说还是麻烦,因为还是要写@InjectView和@Bind方法网上提供了一种解决方案Android Butterknife Zelezny这个插件,但是使用过程中还是感觉不是很完美,因为需要手动选择生成很
2016-11-25 15:53:54
1128
原创 Dagger2-深入三(mvp结合使用)
Dagger-深入三(mvp结合使用)背景mvp话说也出来很久了,初入学习Dagger的时候,就感觉和mvp结合能更加有效的解决presenter注入的的问题,避免更多的代码复写!而且大概看了下网络上的资源,一般多是分开讲解dagger和mvp技术,结合使用的很少,所以决定写出来和大家一起学习!何为MVPMVP,全称 Model-View-Presenter,要说MVP那就不得不说一说它的前辈MVC
2016-11-04 16:06:41
5757
1
原创 Dagger2-渐入二(提升)
dagger2-渐入二(提升)背景在前一篇 Daager2-初认识一中我们认识了简单的dagger2的使用和依赖注入的优点,这章继续深入的研究和学习dagger2的使用,后续会结合mvp主流框架给大家一步步讲解如何运用dagger2封装大项目的开发框架!Component提供依赖上一节我们讲解了moudel的依赖方法,其实Component也可以提供依赖实现如下:实现1.创建一个新的数据对象,提供C
2016-11-04 14:07:47
2728
原创 Daager2-初认识一
Daager2-初认识一背景:有什么能比那把黄油刀(butterknife)更加犀利的名字唯有dagger了, 最早的版本Dagger1 由Square公司开发。依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性。Dagger 这个库的取名不仅仅来自它的本意“匕首”同时也暗示了它的原理 Dagger2 是一个Android依赖注入框架,由谷歌开发,因为主流是Dagger2所以接下来我们直
2016-11-03 11:26:56
3492
1
原创 RxJava+Retrofit+OkHttp深入浅出-终极封装六特殊篇(变种String替换Gson自由扩展)
Rxjava+ReTrofit+okHttp深入浅出-终极封装特殊篇(变种String替换Gson自由扩展)背景在之前的封装1-5中我们都是通过传统的GsonConverterFactory自动解析,这样做确实很方便,用户能直接获取返回的对象,不用关心具体的转换,但是:这随之而来有很多的缺陷(虽然官网推荐这样使用);比如:无法使用其他第三发转换框架;泛型无法中间传递,封装无法统一处理缓存结果;回调信
2016-11-01 13:55:08
13259
15
原创 RxJava+Retrofit+OkHttp深入浅出-终极封装五(数据持久化)
Rxjava+ReTrofit+okHttp深入浅出-终极封装五(数据持久化)背景数据持久化在现在移动app开发中已经越来越被大家认可,提高了用户体验和软件的稳定性,但是由于retrofit持久化的局限性,所以需要自己动手改造一个适合自己的数据持久化方案!封装效果 第一次请求是网络加载,之后只要在设置的保险时间以内都是通过缓存拉取数据,提高加载速度!下面我们分两节讲解,一节讲述自带的retrofi
2016-11-01 10:17:50
12141
5
原创 RxJava+Retrofit+OkHttp深入浅出-终极封装四(多文件下载之断点续传)
Rxjava+ReTrofit+okHttp深入浅出-终极封装三(多文件下载之断点续传)背景断点续传下载一直是移动开发中必不可少的一项重要的技术,同样的Rxjava和Retrofit的结合让这个技术解决起来更加的灵活,我们完全可以封装一个适合自的下载框架,简单而且安全!效果实现下载和之前的http请求可以相互独立,所以我们单独给download建立一个工程moudel处理1.创建service接口和
2016-10-24 14:33:51
23333
32
原创 RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
RxJava+Retrofit+OkHttp封装三(文件上传带进度)背景在实际运用中上传是一个必不可少的功能,所以我们在封装二的基础上加入上传的功能,同时需要附带上传进度!效果实现1.定义service接口注意:Multipart是指定大文件上传过程中的标示,一般上传图片的过程中我们需要附带信息,所以我们需要用到@part指定传递的数值,MultipartBody.Part是指定传递的文件;
2016-10-24 11:54:17
20202
3
原创 RxJava+Retrofit+OkHttp 懒人方式使用一
Retrofit+Rxjava+okhttp 懒人方式使用一背景之前学习完Retrofit+Rxjava之后写了一篇关于封装的博客,发出后受到大家的关注以及使用,由于不断的完善之前的项目,所以决定把最新的项目封装过程讲解出来,供大家查看! 原博客地址:Rxjava+ReTrofit+okHttp深入浅出-终极封装效果懒人简单的使用方式为什么称为懒人,因为你什么都不用做,直接按照一般案例写rx和re
2016-10-24 09:43:50
30692
原创 Android-ProductFavorl 多变种多渠道打包
ProductFavorl 多变种多渠道打包运行场景同一款软件,因为定制和其他原因,需要打包多个版本,每个版本都有各自的特色和区别(整体显示大致一样),而且能同时安装到一个手机(具有不同的包名) ;技术点不是很难,但是确实很实用,作者就遇到过这样的需求,想当初eclipse开发的时候,定制了10多个版本,svn都乱套了,同事接手瞬间懵逼,一旦修改需求 …..都是泪!运行技术AndroidStud
2016-10-13 17:30:29
12239
原创 RxBus完全一样的 EventBus
rxbus背景是否有这样的纠结:已经使用rxjava和rxAndroid到你的项目中,但是项目中又同时存在eventbus;因为rx完全可以替换掉eventbus所以导致了过多引入第三方jar包的问题,对于有代码洁癖和瘦身需求的同学们来说简直是一个噩耗; 如何在最大基础上修改我们已经存在的代码呢,那就是改造一个自己的rxbus,让他使用起来和eventbus一模一样,这样我们只需要将eventbu
2016-09-29 13:51:48
21727
原创 杂记-Android Studio 2.2 新功能
AS 2.2 新功能 Android产品经理Jamal Eason在开发者博客文章中总结了本次更新的内容,主要集中在速度、智能和Android平台支持三个方面大概的尝试了下2.2的新功能,有些功能还是很吊的,所以分享给大家编辑器布局组件板:提供了你可以拖拽到布局编辑器中的控件列表组件树:显示了布局的层次图。在这里点击会看到组件在编辑视图中被选中。工具栏:提供了改变布局的按钮和编辑布局的属
2016-09-27 17:07:24
9395
2
原创 自动化代码检查优化Lint
Lint除了测试 Android 的应用程序是否满足功能要求外,确定你的代码没有结构问题也相当重要。代码架构不完善会影响 Android 应用程序的可靠性和运行效率,同时也会使代码更难维护。比如, 如果你的 XML资源包含未使用的命名文件,这不仅占用了空间,还会招致不必要的处理工作。其他的结构问题,如使用过时代码,或者使用了不被目标 API 版本支持的 API 调用,这都 可能会导致代码无法正确运行
2016-09-22 10:07:57
11881
原创 浅谈主流热修复技术
热修复 热修复作为当下热门的技术,在业界内比较著名的有阿里巴巴的AndFix、Dexposed,腾讯QQ空间的超级补丁技术和微信的Tinker。最近阿里百川推出的HotFix热修复服务就基于AndFix技术,定位于线上紧急BUG的即时修复,所以AndFix技术这块我们重点分析阿里百川HotFix。下面,我们就分别介绍QQ空间超级热补丁技术和微信的Tinker以及阿里百川HotFix技术qq空间
2016-09-19 15:24:01
9794
原创 Android-自定义view之无所不能的path
自定义view之无所不能的path最近项目中需要完成以下这个需求 UI给我了五张图片,我感觉太浪费了,自定义view完全可以做而且适配起来更加的方便最终实现效果项目效果 扩展 需要知道技术点在实现这个过程之前,我们需要了解path的一系列的原理(如果你了解path的用法直接跳过)PathMeasure(是一个用来测量Path的类,主要有以下方法)setPath、 isClosed 和 getL
2016-08-10 11:56:21
51948
3
原创 Android-Tint变色
Tint变色作用tint是Android系统上用于颜色修改的一个功能,让Android也能有iOS那么方便的图片色调转换,目的是为了减小apk 的大小,比如我们开发中需要用到的点击状态:一般需要两张图,一张常态一张点击态的图(这里指的是带图片的不能 用点9代替的图片),通过tint我们可以用一张图做出多种背景状态效果:原图图片资源我们这里只用了这一张图片资源开始我们的实现过程定义方法首先我们
2016-08-03 11:02:50
9076
原创 捋一捋Android的转场动画
捋一捋Android的转场动画由于录制的gif过大,导致优快云部分gif无法显示,可以传送到GitHub查看本篇博客背景随着 Material Design设计概念的提出,使得很多的开发过程中对动画和UI的优化越来越重要,其中一个重要的动画 就是Material Deisgn : Material Motion “Motion provides meaning. Ob
2016-08-01 10:18:49
12067
1
原创 RxJava+Retrofit+OkHttp深入浅出-终极封装二(网络请求)
Rxjava+ReTrofit+okHttp背景: 学习Rxjava+Retrofit+okhttp已经一段时间了,发现确实很强大,但是使用起来稍微有点麻烦,在工作中重复的代码太多,所以决定对http请求基于retrofit封装,最终效果还是比较满意,10行代码搞定预处理+加载框+错误处理+结果处理+gson转换回调!效果:优化完activity中的代码:// 完美封装简化版priv
2016-07-18 11:47:15
206934
129
原创 Android-你还在用downloadmanager更新下载-out了!!!
轻松搞定下载MyDownloadManager序言: 软件更新想必大家都用过,很多是用友盟的下载,但是也有自己公司服务器下载的处理方式,本文主要讲解的是自己下载的处理方法 想必大家就会说,这还用自己做呀,系统自带的一行代码不就解决了-------DownloadManager,如果你还在用这个下载,那你就年轻了,不是说这个方法不好,而是在中国这样的大环境下**
2016-07-09 16:12:05
18677
原创 Android-androidstudio懒惰开发-必备插件
现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行)。使用好Android Studio插件能大量的减少我们的工作量。1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程。使用方法:快捷键Alt+S也可以使
2016-07-09 14:06:44
24988
原创 你真的会写单例吗?
单例的正确姿势Java单例模式可能是最简单也是最常用的设计模式,一个完美的单例需要做到哪些事呢?单例(这不是废话吗)延迟加载线程安全没有性能问题防止序列化产生新对象防止反射攻击可以看到,真正要实现一个完美的单例是很复杂的,那么,让我这个司机带大家看一看正确姿势的单例。最佳实践单例之枚举没错,直接就上最佳实践,就是这么任性这货长这样: public enum Sing
2016-07-02 10:16:08
12404
2
draw.io-13.6.2.dmg
2020-09-22
移动端-框架搭建.pptx
2020-06-29
移动项目分包策略.docx
2020-06-29
jQuery EasyUI 1.5 离线简体中文API文档 含完整开发工具包+皮肤+扩展+演示
2016-12-05
注解javademo演示
2016-11-30
Rxjava+ReTrofit+okHttp深入浅出-终极封装三(多文件下载之断点续传)
2016-10-24
Rxjava+ReTrofit+okHttp深入浅出-终极封装三(文件上传)
2016-10-24
Rxjava+ReTrofit+okHttp深入浅出-终极封装
2016-10-17
RxBus-和EventBus完全一样
2016-09-29
EasyRecyclerView
2016-07-11
android 自己写的downaloadmanager
2016-07-09
RectiveX-android
2016-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人