自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奋斗&努力

努力,奋斗,为了更好的明天

原创 基本UI组件的封装库(四)——basicU

以下是我的基本UI组件该系列的文章,欢迎大家转载和分享: 基本UI组件的封装库(一)——basicUI 基本UI组件的封装库(二)——basicUI 基本UI组件的封装库——basicUI的demo的编写 基本UI组件的封装库(三)——basicUI 前言 我在之前BasicUI项目一共包括了...

2020-03-28 17:09:14 96 0

原创 基本UI组件的封装库——basicUI

BasicUI 目前BasicUI包括了:1、Recycleview的封装,支持单布局和多布局,支持添加头部和底部,还包括了悬浮列表的基本封装。2、dialog的封装。支持从底部弹出,并可设置动画,是否宽度全屏等样式。3、NavigationBar的封装,可以在activity中动态设置添加头部...

2020-03-05 21:47:56 69 0

原创 新闻类App (MVP + RxJava + Retrofit+Dagger+ARouter)新增功能

新闻类App (MVP + RxJava + Retrofit+Dagger+ARouter) 整体开发基于 MVP+RxJava+Retrofit+Dagger+ARouter retrofit dagger2 rxjava RxLifecycle ARouter Utils ...

2018-11-19 16:16:52 306 0

原创 新闻类App (MVP + RxJava + Retrofit+ARouter)

新闻类App (MVP + RxJava + Retrofit+ARouter) 整体开发基于 MVP+RxJava+Retrofit+Dagger+ARouter retrofit dagger2 rxjava RxLifecycle ARouter Utils Banner...

2018-11-13 17:19:41 286 0

原创 android进阶-系统架构篇

系统架构 博客和简书 我的博客:https://blog.csdn.net/qq_24675479 我的简书:https://www.jianshu.com/u/3ff32f5aea98 软件架构 01.面向对象六大基本原则 - 网络引擎切换 https://blog.csdn...

2018-08-31 11:28:16 199 0

原创 android进阶——自定义View

博客和简书 我的博客:https://blog.csdn.net/qq_24675479 我的简书:https://www.jianshu.com/u/3ff32f5aea98 软件架构 01.自定义View简介 - onMeasure,onDraw,自定义属性 https://w...

2018-08-04 16:02:50 11975 0

原创 装饰设计模式 - RecyclerView添加头部和底部

定义: 装饰设计模式也称包装设计模式,用来动态的扩展对象的功能,也是继承关系的的一种替代方案之一。 说个大白话就是,在不使用的继承的方式下,采用装饰设计模式可以扩展一个对象的功能,可以使一个对象变得越来越强大。 我们首先看下效果图 我们都知道listview是可以添加头部和尾部...

2018-08-04 16:00:38 599 0

原创 android设备市场分析

设备活跃指数 设备品牌指数 android系统版本分析 4.0/5.0/6.0三个版本的占比持续下滑,未来7.0版本的占比持续提高,屏幕的尺寸5.5与5.0两个尺寸占比接近六成。 屏幕分辨率趋势 分辨率方面1920x1080以及1280x720是...

2018-07-11 11:38:17 630 0

原创 进程间的通信-IPC(机制)Binder的原理和源码阅读

IPC进程通信的小案例 MessageService public class MessageService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { ...

2018-06-28 09:52:19 95 0

原创 service中通知显示布局和隐藏布局

刚开始想了很多,service与activity通信,service获取activity的布局和id控制显示,最后解决办法 service UIUtils.showLoading();//直接调用外部方法 public class UIUtils { public static...

2018-05-21 16:38:59 342 0

原创 内存泄漏介绍

什么是内存泄漏? 答:内存不在gc掌控之内了。 当一个对象已经不再使用了,本该被回收时,而有另一个正在使用的对象持有它的引用从而导致对象不再被回收。这种导致了本该被回收的对象而停留在堆内存中,就产生了内存泄漏。 了解内存分配的几种策略: 静态的 静态的存储区,内存在程序...

2018-05-16 11:14:51 122 0

原创 kotlin第一行代码helloworld

软件下载链接:https://pan.baidu.com/s/1PGkthxPz3dCKz2URvbRJFA 密码:42d4 破解方法: 在打开的License Activation窗口中选择“License server”, 在输入框输入下面的网址: http://idea.codebe...

2018-05-10 19:03:25 200 0

原创 Glide源码分析和时序图

使用就不介绍了 Glide.with(this)源码分析 分析下重要的源码:看下第3步 SupportRequestManagerFragment getSupportRequestManagerFragment(final FragmentManager fm) { ...

2018-04-10 17:48:55 532 0

原创 开发模式之MVP

MVC使用 ServiceApi接口 public interface ServiceApi { // 接口涉及到解耦,userLogin 方法是没有任何实现代码 @POST("loginuser")// 登录接口 GET(相对路径) ...

2018-04-09 11:03:20 206 0

原创 rxjava+retrofit+okhttp三者封装

基于这篇文章进行封装https://blog.csdn.net/qq_24675479/article/details/79831828 添加依赖 compile 'com.squareup.retrofit2:retrofit:2.3.0' compile ...

2018-04-07 23:24:23 285 0

原创 手写retrofit

RetrofitClient:用于activity直接交互 public class RetrofitClient { private final static ServiceApi mServiceApi; static { OkHttpClient ok...

2018-04-07 23:09:12 265 0

原创 retrofit基本使用和源码设计模式分析

基本使用 GitHub网址:https://github.com/square/retrofit 添加依赖: compile ‘com.squareup.retrofit2:retrofit:2.3.0’ compile ‘com.squareup.retrofit2:c...

2018-04-07 10:37:54 337 0

原创 自己动手线程调度切换之主线程切换

observeOn(AndroidSchedulers.mainThread())源码分析 AndroidSchedulers.mainThread()源码分析 public static Scheduler mainThread() { return RxAndr...

2018-04-05 16:50:27 553 0

原创 自己动手线程调度切换之子线程切换

使用 Observable.just("http://d.paper.i4.cn/max/2016/10/10/15/1476085552237_716159.jpg") .map(new Function<String, ...

2018-04-05 15:22:18 380 0

原创 手写rxjava事件变换

首先还是看怎么使用 Observable.just("http://d.paper.i4.cn/max/2016/10/10/15/1476085552237_716159.jpg") .map(new Function<S...

2018-04-04 17:42:33 395 0

原创 rxjava基本使用和源码分析

先举个案例给下载的url加水印 首先添加依赖: compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.7' ...

2018-04-04 13:41:52 129 0

原创 okhttp单线程下载和多线程下载

单点下载 OkHttpManager okHttpManager = new OkHttpManager(); Call call = okHttpManager.asyncCall("http://acj3.pc6.com/pc6_soure/2018-3/c...

2018-04-03 15:56:53 2169 0

原创 okhttp上传进度和自定义缓存

上传进度的实现 首先简单使用 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { ...

2018-04-02 18:13:23 182 0

原创 OKHttp源码精髓之拦截器分析

上一篇文章我们知道okhttp异步真正执行的实际是RealCall这个类的 getResponseWithInterceptorChain 方法 Response getResponseWithInterceptorChain() throws IOException { // 拦截...

2018-04-02 10:14:32 168 0

原创 第三方开源库OKHttp-整体架构和源码分析

1. HTTP状态码: 1xx: Infomational (信息状态码) ,接收的请求正在处理 2xx: Succeed(成功),请求正常处理完毕,如 200 3xx: Redirection(重定向),需要进行附加操作,一般是没有响应数据返回的,如 304(Not,modified...

2018-03-31 13:20:52 385 0

原创 Java网络编程基础

1.TCP/IP协议家族 OSI七层协议:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 TCP三次握手(建立连接)和四次挥手(断开连接) 2.Http请求:他们之间通信是以报文的形式 客户端请求(Request):请求报文 = 请求头 + 空行 + 请求数据 Accept:...

2018-03-31 00:11:50 225 0

原创 EventBus的手写

在上一篇文章我讲了EventBus源码,现在我们来手写一下EventBus 使用 MainActiviity public class MainActivity extends AppCompatActivity { private TextView mTv; @...

2018-03-30 20:34:13 196 0

原创 EventBus源码分析

使用 MainActiviity public class MainActivity extends AppCompatActivity { private TextView mTv; @Override protected void onCreate(Bund...

2018-03-30 19:30:06 93 0

原创 享元和命令组合设计模式

1.享元设计模式: 定义:使共享对象可有效的支持大量的细粒度的对象,核心其实就是对象复用 使用:Message,LayoutInflater,EventBus (PendingPost) 火车票 public class Ticket { String from; Stri...

2018-03-30 09:52:39 84 0

原创 责任链模式和外观模式

1.责任链设计模式 使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链处理该请求,只道有对象处理他为止。 2.门面设计模式 要求一个子系统的外部与其内部通信必须通过一个统一的对象进行,又称之为外观模式,提供一个高层次的接口,使得子系统更易于使用。 说白了就是方法封装。 还...

2018-03-29 16:29:13 230 0

原创 迭代器设计模式之构建通用底部的BottomTabNavigationBar

1.模式定义: 提供一种方法顺序访问一个容器中的各个元素,而又不需要暴露该对象的内部显示(如List,Objcet数组,set)。 首先看下简单的使用 一般写法:比如百度网盘登录可以用微信和qq,假设qq使用的是List保存数据,和微信使用的是数组保存数据 用户信息 public c...

2018-03-29 14:30:54 245 0

原创 原型设计模式

定义:(拷贝) 用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 通过拷贝复制出一个新的对象。(拷贝)最简单的设计模式。又分为浅拷贝和深拷贝 浅拷贝: 浅拷贝,就是类的类对象实例,是没有被拷贝的,他们还是公用一份 user代码 public class Use...

2018-03-28 12:31:41 363 0

原创 代理设计模式

1.代理设计模式 - 定义 为其他对象提供一种代理,以控制对这个对象的访问,分为静态代理和动态代理。 2.静态代理 银行办卡 - 角色划分 2.1. 目标接口 2.2. 代理对象 - 银行的工作人员 2.3. 被代理的对象 - 我 目标接口 public interface ...

2018-03-27 17:06:09 130 0

原创 观察者设计模式之观察数据的插入

观察者设计模式之推拉模式 推模式:如:用户关注微信号 微信公众号: 多个人去订阅我们的公众 public class WXPublicObservable { private List<IWXUser> mUsers; public...

2018-03-27 12:20:39 227 0

原创 adapter设计模式

适配器模式就是将某一些对象转成我们需要的适配的对象。分为两种一种是类适配器,还有一种是对象适配器 举个例子:以前公司只支持人民币付钱,后来走向国际化支持美元 一般写法 public class RMBAdapter { private float mRmb; publ...

2018-03-22 16:15:34 226 0

原创 策略设计模式

模式定义 策略模式定义了一系列算法,并将每一个算法封装起来,而且是他们之间可以相互切换。 不同理财工具理财率不一样,一般写法 public class FinaceManager { public enum Finace{ ZHI_FU_BAO,PEAKMAIN ...

2018-03-22 13:42:00 87 0

原创 线程池介绍

1.线程执行的时间: T=T1(线程创建的时间)+T2(run方法执行的时间)+T3(线程销毁的时间) 2.线程池执行解决的问题: 解决线程反复的创建和销毁,做到线程可以复用 3.线程测试 public class ThreadPoolTest { static ThreadPo...

2018-03-21 23:26:05 80 0

原创 工厂设计模式之数据存储

第一个版本简单使用 onCreate方法 mTextView = (TextView) findViewById(R.id.test_tv); // 用户的登录信息或者其他信息保存 sp 数据库 等等 SharedPreferences preferen...

2018-03-21 13:53:57 143 0

原创 builder设计模式之NavigationBar

INavigation接口 public interface INavigation { /** * 设置布局 */ void createNavigationBar(); /** * 添加到头部 */ void at...

2018-03-21 00:02:44 112 0

原创 单例模式之强大的activity的管理

public class ActivityManager { //增加删除操作多,栈是先进后出 public Stack<Activity> mActivities; private ActivityManager() { mA...

2018-03-20 09:57:38 1189 0

提示
确定要删除当前文章?
取消 删除