自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奋斗&努力

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

  • 博客(268)
  • 资源 (8)
  • 收藏
  • 关注

原创 Gradle+ASM实战——关于隐私政策的那些思考

前言之前两篇文章我写了入门篇:Gradle 插件 + ASM 实战——入门篇和Gradle+ASM实战——进阶篇,对gradle+ASM不熟的大家可以去上篇文章查看github地址:https://github.com/Peakmain/AsmActualCombat需求背景12月底换了新公司,新公司的项目架构需要重构,所以也就有了上篇文章:BasicLibrary——基于kotlin+jetpack+mvvm封装一套框架,提高Android开发效率同时公司项目在整改隐私政策,其中有个需求就

2022-01-24 13:49:30 2151

原创 BasicUI常用UI组件和实用工具类封装,提高Android开发的效率

BasicUIBasicUI是一些常用的Android UI组件和一些实用工具类封装,提高Android的开发效率如何使用Step 1. Add the JitPack repository to your build fileAdd it in your root build.gradle at the end of repositories:allprojects { repositories { ... maven { url 'https:/.

2021-09-14 17:35:49 189

原创 BasicUI框架的使用文档

前言查看在线pdf文档:http://note.youdao.com/s/EM20Cggm项目库的GitHub地址:https://github.com/Peakmain/BasicUI如果大家觉得有点帮助,希望可以抬抬你的贵手,送我一个星星,谢谢。如果有什么问题,也欢迎你在下方留言或者在BasicUI中提How toStep 1. Add the JitPack repository to your build fileAdd it in your root build.

2020-12-22 10:21:15 247

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

以下是我的基本UI组件该系列的文章,欢迎大家转载和分享:基本UI组件的封装库(一)——basicUI基本UI组件的封装库(二)——basicUI基本UI组件的封装库——basicUI的demo的编写基本UI组件的封装库(三)——basicUI前言我在之前BasicUI项目一共包括了:1、Recycleview的封装,支持单布局和多布局,支持添加头部和底部,还包括了悬浮列表的基本封...

2020-03-28 17:09:14 356

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

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

2020-03-05 21:47:56 731

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

新闻类App (MVP + RxJava + Retrofit+Dagger+ARouter)整体开发基于 MVP+RxJava+Retrofit+Dagger+ARouterretrofitdagger2rxjavaRxLifecycleARouterUtilsBannerGildePhotoViewJiaoZiVideoPlayerandroid-gif-drawab...

2018-11-19 16:16:52 483

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

新闻类App (MVP + RxJava + Retrofit+ARouter)整体开发基于 MVP+RxJava+Retrofit+Dagger+ARouterretrofitdagger2rxjavaRxLifecycleARouterUtilsBannerGildePhotoViewGitHub 项目地址 : https://github.com/RangersEZ/...

2018-11-13 17:19:41 434

原创 android进阶-系统架构篇

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

2018-08-31 11:28:16 407

原创 android进阶——自定义View

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

2018-08-04 16:02:50 14200

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

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

2018-08-04 16:00:38 763

原创 android设备市场分析

设备活跃指数设备品牌指数android系统版本分析 4.0/5.0/6.0三个版本的占比持续下滑,未来7.0版本的占比持续提高,屏幕的尺寸5.5与5.0两个尺寸占比接近六成。屏幕分辨率趋势 分辨率方面1920x1080以及1280x720是应用适配占比最高。其中只有1920x1080、720x1208和1776x1080三种屏幕分辨率是在上...

2018-07-11 11:38:17 949

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

IPC进程通信的小案例MessageServicepublic class MessageService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { //绑定 return mBinder; } privat...

2018-06-28 09:52:19 250

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

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

2018-05-21 16:38:59 570

原创 内存泄漏介绍

什么是内存泄漏? 答:内存不在gc掌控之内了。 当一个对象已经不再使用了,本该被回收时,而有另一个正在使用的对象持有它的引用从而导致对象不再被回收。这种导致了本该被回收的对象而停留在堆内存中,就产生了内存泄漏。了解内存分配的几种策略:静态的 静态的存储区,内存在程序编译时候就已经分配好,这块内存在程序整个运行期间一直存在。它主要存放静态数据、全局的static数据和...

2018-05-16 11:14:51 214

原创 kotlin第一行代码helloworld

软件下载链接:https://pan.baidu.com/s/1PGkthxPz3dCKz2URvbRJFA 密码:42d4破解方法:在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址:http://idea.codebeta.cn (感谢Rachelsalaheiyo提供)或者http://idea.imsx...

2018-05-10 19:03:25 374

原创 Glide源码分析和时序图

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

2018-04-10 17:48:55 901

原创 开发模式之MVP

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

2018-04-09 11:03:20 385

原创 rxjava+retrofit+okhttp三者封装

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

2018-04-07 23:24:23 563

原创 手写retrofit

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

2018-04-07 23:09:12 532

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

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

2018-04-07 10:37:54 624

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

observeOn(AndroidSchedulers.mainThread())源码分析AndroidSchedulers.mainThread()源码分析 public static Scheduler mainThread() { return RxAndroidPlugins.onMainThreadScheduler(MAIN_THREAD); ...

2018-04-05 16:50:27 1067

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

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

2018-04-05 15:22:18 792

原创 手写rxjava事件变换

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

2018-04-04 17:42:33 603

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

先举个案例给下载的url加水印首先添加依赖: compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2:rxjava:2.1.7'一般写法public class MainActivity extends AppCompatActivity { priva...

2018-04-04 13:41:52 235

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

单点下载 OkHttpManager okHttpManager = new OkHttpManager(); Call call = okHttpManager.asyncCall("http://acj3.pc6.com/pc6_soure/2018-3/com.ss.android.essay.joke_689.apk"); call.enqueue...

2018-04-03 15:56:53 3712

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

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

2018-04-02 18:13:23 481

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

上一篇文章我们知道okhttp异步真正执行的实际是RealCall这个类的 getResponseWithInterceptorChain 方法Response getResponseWithInterceptorChain() throws IOException { // 拦截器的一个集合 List<Interceptor> interceptors = n...

2018-04-02 10:14:32 295

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

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

2018-03-31 13:20:52 671

原创 Java网络编程基础

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

2018-03-31 00:11:50 338

原创 EventBus的手写

在上一篇文章我讲了EventBus源码,现在我们来手写一下EventBus使用MainActiviitypublic class MainActivity extends AppCompatActivity { private TextView mTv; @Override protected void onCreate(Bundle savedIn...

2018-03-30 20:34:13 334

原创 EventBus源码分析

使用MainActiviitypublic class MainActivity extends AppCompatActivity { private TextView mTv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav...

2018-03-30 19:30:06 158

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

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

2018-03-30 09:52:39 194

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

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

2018-03-29 16:29:13 449

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

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

2018-03-29 14:30:54 428

原创 原型设计模式

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

2018-03-28 12:31:41 517

原创 代理设计模式

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

2018-03-27 17:06:09 261 1

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

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

2018-03-27 12:20:39 390

原创 adapter设计模式

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

2018-03-22 16:15:34 399

原创 策略设计模式

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

2018-03-22 13:42:00 199

原创 线程池介绍

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

2018-03-21 23:26:05 161

smail2java

这是一个反编译工具,使用非常简单,直接打开软件后选择文件打开然后选择自己的apk就可以了

2018-01-02

apk反编译工具类

apk反编译的三个工具类,XMLPRINTER2.jar,dex2jar,jd-gui反编译jar

2017-11-09

recyclerview-v7-24..1.1

RecyclerView是support.v7包中的控件,可以说是ListView和GridView的增强升级版。 官方对RecyclerView的描述是: A flexible view for providing a limited window into a large data set.

2017-09-27

java连接mysql数据库jar包

在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现

2017-09-25

gson解析数据

gson是一个用来将JAVA对象转换成JSON串的JAVA库,它也可以用来将JSON字符串转换为Java对象。 gson可以对任意的java对象转换,包括预先存在的没有源代码java对象。

2017-09-16

android连接sqlserver数据库

jTDS是一个开放源代码的100%纯Java实现的JDBC3.0驱动,它用于连接 Microsoft SQL Server(6.5,7,2000,2005,2008 和 2012)和Sybase(10 ,11 ,12 ,15)。jTDS是基于freeTDS的,并且是目前最快的可企业级应用的SQL Server和Sybase的JDBC驱动程序。 jTDS完全与JDBC3.0兼容,支持只向前和可滚动/可更新的结果集(ResultSets),并且支持完全独立的并行Statements,而且实现了所有的数据库元数据(Database MetaData)和结果集元数据(ResultSet MetaData)方法。

2017-09-15

xutils工具

xutils工具类

2017-07-25

glide软件框架

glide一个图片加载库

2017-07-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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