自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

路一直在

慢一点,快一点

  • 博客(89)
  • 收藏
  • 关注

原创 gradle里面获取git log 最近一次的commit id

gradle里面获取git log 最近一次的commit iddef gitCommitShortHash = 'git log -1 --pretty=%h'.execute([], project.rootDir).text.trim()

2019-12-19 17:36:43 1461

转载 HTTP和HTTPS协议,看一篇就够了

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-15 22:48:49 1384

原创 android使用jni技术调用native层代码

android使用jni技术调用native层代码标签(空格分隔): jni前提重要的业务使用c代码实现,并向第三方提供sdk。解决方案:通过jni技术实现,并打包aar提供给第三方。设计到的知识点1.JNI的静态和动态注册动态注册:JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved){ //打印日志,说明已经进来了...

2019-09-15 20:14:28 659

转载 我花了 8 小时,"掌握"了一下 Flutter | Flutter 中文站上线

我花了 8 小时,"掌握"了一下 Flutter | Flutter 中文站上线242018.04.17 12:50:46字数 1697阅读 209411imageHi,大家好,我是承香墨影!距离 Google 在 2018 世界移动大会上发布 Flutter 的 Beta 版本,Flutter 是 Google 用以帮助开发者在 Android 和 iOS 两个平台,同时开发高质...

2019-09-06 15:30:23 246

原创 记一次花了半天填坑的经历~(公众号开发 图片上传)

<input type="file" name="piclist4" "readAsDataURL();" accept="image/*">debug环境下,死活调不出 摄像头和文件二个选项!

2019-03-31 19:40:43 265

转载 什么是JSONP?

什么是JSONP?先说说JSONP是怎么产生的:其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,着用自己的方式来阐释一下这个问题,看看是否有帮助。1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、...

2018-11-18 19:50:02 294

原创 gradlew assembleRelease assembleAndroidTest

gradlew assembleRelease assembleAndroidTest

2018-11-14 15:01:10 1448

转载 Lombok

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MOTUI/article/details/79012846 Lombok使用介绍在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/se...

2018-10-28 22:25:56 207

转载 debug时 出现source not found

https://www.cnblogs.com/programmer1/p/4411037.html

2018-06-29 16:06:46 1104

原创 apidoc操作

apidoc操作apidoc 首先要确认你的系统安装了nodejsinstall apidocnpm install -g apidocinit apidoc.json{"name": "测试apidoc", "version": "1.0.0", "description": "接口测试","title&qu

2018-06-08 16:37:09 415

原创 百度地图地址和经纬度互相转换

地理编码和逆地理编码工具类package com.cafebox.cafeclient.utils;import com.baidu.mapapi.model.LatLng;import com.baidu.mapapi.search.core.SearchResult;import com.baidu.mapapi.search.geocode.GeoCodeOption;...

2018-05-03 18:11:22 3121 1

原创 Handler消息机制

前言 你只有努力奔跑,才能留在原地。handler基本使用方法 入口Activity代码如下:public class HandlerDemoActivity extends Activity {private TextView mTv;private Thread mThread;private Handler mHander = new ...

2018-04-19 21:35:29 215 1

原创 greenDao源码分析

前言 今天我们来分析下GreenDao, 进而学习开源库中涉及到的一些思想.简单的实例 1.导入相应的库// 项目 build.gradle file: buildscript { repositories { jcenter() mavenCentral() } ...

2018-04-18 22:25:44 326

原创 Retrofit源码分析

Retrofit源码分析前言 retrofit是基于okhttp3的(推荐先看OkHttp3源码解析),没图说个jb?下面附图一张(感谢这是一份很详细的 Retrofit 2.0 使用教程(含实例讲解)这篇博客友情提供); 接着我会用一个简单的实例,进行源码的分析以及讲解。 实例导入一些必要的第三方库compile 'com.squareup.retrofit...

2018-04-16 17:05:59 273

原创 Rxjava源码解析之监听回调

Rxjava源码解析之监听回调前言 该篇分析Rxjava接口回调流程的逻辑, 为了方便理解,用最简单的实例分析。实例代码;接口回调流程分析;实例代码 导入第三方Rxjava RxAndroid(用到了UI线程)compile 'io.reactivex.rxjava2:rxjava:2.0.7'compile 'io.reactivex.rx...

2018-04-16 11:34:27 898

原创 ListView(AdapterView)涉及到的观察者模式

前言 ListView在我们的实际开发中,出现的频率还是比较高的。今天我们来看看,listView是怎么监听数据变化的?当adapter(数据源)调用notifyDataSetChanged()方法(相当于数据源说,我要更新数据拉,你(adapterView)ui去更新界面吧),adapterView是怎么收到通知。你说listView关adapterView鸟事啊,listVie...

2018-04-08 22:55:09 340

原创 Okhttp3源码解析

前言基本使用方法 1.导入库compile 'com.squareup.okhttp3:okhttp:3.10.0' 2.GET请求,首先创建个client(OkHttpClient)实例,然后创建request(Request)实例,接着通过client.newCall(request)得到一个任务,最后将该任务加入队列并创建个接口回调任务执行的结果。...

2018-04-08 20:48:36 344

原创 xUtils3源码解析之-----image

利用工作之外的时间终于看完了xutils3的所有模块的源码,以此博客来记录自己的分析过程,在此约定半年之后重新分析xUtils3源码对比该系列博客看看自己有没有新的突破。1. xUtils3源码解析之—–image 2. xUtils3源码解析之—–Http(s) 3. xUtils3源码分析之—–DB(ORM) 4. xUtils3源码分析之—–view注解前言...

2018-04-06 16:17:08 436

原创 xUtils3源码解析之-----Http(s)

利用工作之外的时间终于看完了xutils3的所有模块的源码,以此博客来记录自己的分析过程,在此约定半年之后重新分析xUtils3源码对比该系列博客看看自己有没有新的突破。1. xUtils3源码解析之—–image 2. xUtils3源码解析之—–Http(s) 3. xUtils3源码分析之—–DB(ORM) 4. xUtils3源码分析之—–view注解前言...

2018-04-06 13:01:59 1361

原创 Java设计模式之观察者模式

Java设计模式之观察者模式前言 观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使...

2018-04-04 22:34:45 197

原创 Java设计模式之策略模式

Java设计模式之策略模式前言 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。实例 假设当前有2种用户级别,普通用户没有折扣,vip用户有8折优惠,我们来模拟个商品的交易过程。具体代码 首先创建个用户抽象类pu...

2018-04-03 22:53:44 165

原创 Java设计模式之状态模式

Java设计模式之状态模式前言 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。用投票的场景来模拟 投票规则如下:同一个人只能投一票,其他票作废。public abstract class Abs...

2018-04-03 22:37:00 196

原创 xUtils3源码分析之-----DB(ORM)

利用工作之外的时间终于看完了xutils3的所有模块的源码,以此博客来记录自己的分析过程,在此约定半年之后重新分析xUtils3源码对比该系列博客看看自己有没有新的突破。1. xUtils3源码解析之—–image 2. xUtils3源码解析之—–Http(s) 3. xUtils3源码分析之—–DB(ORM) 4. xUtils3源码分析之—–view注解基本使...

2018-03-30 22:47:26 532

原创 Java设计模式之代理模式

Java设计模式之代理模式标签(空格分隔): Java设计模式前言 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理对象是目标对象和客户(需要使用目标对象的对象)之间的沟通桥梁。如果客户不想直接跟目标对象沟通,那么代理模式很适用这个场景。public interface IOrigin { void exe(...

2018-03-30 22:02:07 252

原创 Java设计模式之门面模式

Java设计模式之门面模式前言 门面模式也叫外观模式,用一个例子来说什么是门票模式吧。大学入学的流程,我这里尽量把流程简单一点,只要2步即可完成入学。第一步是去教务处交学费,第二步是学务处激活学籍。如果每个要入学的学生都去一个部门一个部门的跑去操作,这样就显得有点不妥。这时候就出现了学生会部门,你是要办入学手续是吧,你直接面向我学生会部门就好啦,不用你每个部门都自己跑去操作一下。在...

2018-03-30 20:08:04 224

原创 Java设计模式之组合模式

Java设计模式之组合模式前言 引用大话设计模式的片段:“当发现需求中是体现部分与整体层次结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一地使用组合结构中的所有对象时,就应该考虑组合模式了。”下面我们用一个很常见的例子来学习组合模式,扫描文。这个文件可以是文件夹也可以是图片更可以是视频,其实文件夹里面可以有文件夹,图片,视频; 首先创建一个抽象类让文件...

2018-03-30 07:32:25 148

原创 Java设计模式之单例模式

Java设计模式之单例模式前言 Java中单例模式有懒汉单例模式,饿汉单例模式,双重检查加锁单例模式,静态内部类单例模式;下面会用具体的代码来介绍他们的优缺点,没有最好的只有最合适自己的,结合自己的业务选择适合自己的单例模式。懒汉单例模式 懒顾名思义需要的时候采取拿。这是典型的以时间换空间的场景;getInstance()方法加锁是防止多线程不安全。publ...

2018-03-29 20:36:04 158

原创 Java设计模式之工厂模式

Java设计模式之工厂模式前言 工厂模式,我这里总要讲两种常用的工厂方法模式和抽象工厂模式;我会用我们生活中接触的比较多的车来比较这2种模式的区别。工厂方法模式 这里用宝马和奔驰两种车来模拟场景,假设车需要引擎(engine),离合器(clutch)两种部件组成; 我们首先用工厂来产品这2个部件,通过createEngine(int type)来创建...

2018-03-29 20:05:05 179

原创 Java设计模式之适配器模式

Java设计模式之适配器模式前言 适配器模式在我们的开发中接触的比较多的。比如一个很常见的场景,现在有个需求A类要实现B接口,因为B接口里的方法有些我用不到,但是我不得不要重写全部方法,这时候你被逼无奈让你用不到的方法为空;如果这时候出现了个抽象类C,让它实现B接口,然后里面的方法全部重写,再让你的A类实现C类这时候你就可以在不留空方法的前提下选择性的去重写你需要重写的方法,我...

2018-03-29 19:40:11 164

转载 Java中的注解(Annotation)处理器解析

Java中的注解(Annotation)是一个很神奇的东西,特别现在有很多Android库都是使用注解的方式来实现的。一直想详细了解一下其中的原理。很有幸阅读到一篇详细解释编写注解处理器的文章。本文的原文是ANNOTATION PROCESSING 101,作者是Hannes Dorfmann。这是一篇好文,忍不住翻译学习一下。以下是翻译。(注:本文的翻译已经获得了作者 Hannes 的授权。)...

2018-03-28 16:23:27 7918 6

转载 java IO流解析

初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。首先看个图:(如果你也是初学者,我相信你看了真个人都不好了,想想java设计者真是煞费苦心啊!)&nbsp;这是jav...

2018-03-28 09:59:04 906

原创 xUtils3源码分析之-----view注解

利用工作之外的时间终于看完了xutils3的所有模块的源码,以此博客来记录自己的分析过程,在此约定半年之后重新分析xUtils3源码对比该系列博客看看自己有没有新的突破。1. xUtils3源码解析之—–image 2. xUtils3源码解析之—–Http(s) 3. xUtils3源码分析之—–DB(ORM) 4. xUtils3源码分析之—–view注解基本使...

2018-03-26 22:23:40 341

原创 EventBus 使用方法及源码分析

EventBus 使用方法及源码分析标签(空格分隔): android基本使用方法 **订阅模式** POSTING:发布跟订阅在同一线程,开销最小,默认的模式; MAIN: 如果发布者在非ui线程,订阅者会切换到ui线程; MAIN_ORDERED: 订阅者会先放到队列里,直到执行完相...

2018-03-25 17:26:16 225

原创 ssl 报错, https 请求 Jetty 后台报错

client https 请求后台时, 后台报错如下:E/Jetty: handle failedjava.lang.NullPointerException: ssl == null at com.android.org.conscrypt.NativeCrypto.SSL_read_BIO(Native Method) at com.android.org.conscry...

2018-03-16 17:09:30 1361

原创 百度地图的一些踩坑 marker网络图片不显示

marker网络图片不加载,不显示 你可能还没等图片加载出来就给地图设备marker了! 解决办法:等网络图片加载完成后再设置marker!ps: 如果你用glide来加载图片,再glide提供的加载资源完成里做接口回调!.listener(new RequestListener()…) or .into(new SimpleTarget()…) Glide.with(c

2018-01-19 10:01:26 4877

原创 gradle 基本api

加油,加油,能抗过去的。前言Gradle是一个集成了 Ant Maven Lvy的优点的一个强大而友好的构建工具。从HelloWorld开始Gradle学习 Gradle构建脚本的默认的名称是build.gradle创建一个build.gradle 文件: 在该文件里创建一个Task如下:task hello { doLast { pri

2018-01-16 23:10:36 3524

原创 android 里的动画,自己的一些总结

不要抱怨身边的环境,去改变自己,让自己拥有更好的环境。前言移动端开发界面有时候要加入一些动画,android里有2类动画,第一类是View动画(View动画里又分2类,一类是帧动画,另一类是补间动画),另一类是属性动画;顾名思义View动画只能操作View对象,但是并不会改变View的属性。如果想要通过动画改变对象的属性值,这时候我们可以考虑使用属性动画来实现效果了。补间(T

2018-01-14 18:48:53 242

原创 ByteBuffer类初探

告别拖延症,跟你的小恶魔较较劲!ByteBuffer简介ByteBuffer类是在Java NIO中经常使用的一个缓冲区类,使用它可以进行高效的存取操作。通过申请内存空间,作为缓存区。ByteBuffer是个抽象的方法。public abstract class ByteBuffer extends Buffer implements Comp

2018-01-10 22:20:29 187

原创 Handler运行机制 Looper MessageQueue ThreadLocal

你只有努力奔跑,才能留在原地。一. Handlerpost or send message post 最终还是走send一样的逻辑代码: public final boolean post(Runnable r) { return sendMessageDelayed(getPostMessage(r), 0); }public fi...

2018-01-09 23:02:42 279

原创 content:// scheme 和 file:// scheme

path 转 Uri (content://) /** * 根据file path 获取content:// * @param context * @param filePath * @return content:// */ public static Uri getImageContentUri(Context context, S

2018-01-05 17:47:58 10734

空空如也

空空如也

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

TA关注的人

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