自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (6)
  • 收藏
  • 关注

原创 git stash 小记

Stash创建git stash : msg内容为 上传commitid+commit信息git stashsave “msg” : 执行存储时,添加备注 msg为备注查看git stash list :本地所有stash列表 栈模式git stash show :显示做了哪些改动,默认show第一个存储 git stash show stash@{$num} : git stash show stash@{0}. 显示指...

2021-12-15 09:08:38 1706

原创 关于OkHttp代码设置证书的记录

public void initSslContext(InputStream... certificates) { try { //certificates-证书输入流 //服务端配置的信任证书 //0-用CertificateFactory将流得到Certificate //1-将certificates 放入serviceKeyStore内(hashTable方式存放) .

2021-01-06 14:54:18 338

原创 借助ContentProvider自动初始化

很多第三方框架或SDK都会有个初始化操作,比如在Application的onCreate中调用XXX.init(),最近学习了LeakCanary的做法,就不再需要手动初始化了,那么自动初始化该怎么做呢?首先定义一个InitProvider,它是继承于ContentProvider的一个子类。然后在AndroidManifest.xml中注册这个ContentProvider。public class InitProvider extends ContentProvider { @Ove

2021-01-05 14:37:12 553

原创 参数限制实现方式

public static void test(){ Bean bean = new Bean(); bean.setTypeI(value1); bean.setTypeE(ModeEnum.value1);}//valuepublic static final int value1 = 1;public static final int value2 = 2;public static final int value3 = 3;//注解方式@IntDef(f.

2020-09-25 10:09:07 147

原创 APT的流程记录

APT:Annotation Processing Tool,即注解处理器1.apt-annotation:定义注解2.apt-processor:处理注解,生成代码(AbstractProcessor-javapoet):apply13.apt-util:调用processor生成的代码(反射调用):apply14.app:主项目:apply123...

2020-08-16 15:28:29 178

原创 记录一次完整的消息流程

1)Looper.prepare(); 1. new Looper() : Looper生成MessageQueue,指定Thread 2.ThreadLocal.set(Looper)2)new Handler() 1.Handler中指定Looper,MessageQueue(Looper是指定线程对应的,MessageQueue是得到Looper中的)3)发送message 流程 Handler.enqueueMessage-> MessageQueu...

2020-08-13 11:33:38 99

原创 记录getPackageInfo的流程探索

起源PackageInfo packageInfo = getPackageManager().getPackageInfo();getPackageManager: ContextWrapper:mBase->Context->ActivityPackageManager->ApplicationPackageManager:getPackageInfo-getPackageInfoAsUser->mPM(IPackageManager:aidl实现)IPackag

2020-08-11 11:38:38 962

原创 View.onTouchEvent

public boolean onTouchEvent(MotionEvent event) { //获取基本信息(没考虑多点,仅考虑单点) 坐标&action final float x = event.getX(); final float y = event.getY(); final int viewFlags = mViewFlags; final int action = event.getAction(); //判断是否可点击,长.

2020-07-08 18:35:50 225

原创 关于Uri.fromFile(File)的思考

看到太多网上对7.0兼容,对于文件共享的限制。Uri.fromFile(file) : file:///storage/emulated/0/DCIM/download/aaa.jpgFileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileProvider", file):content://com.taikang.simtest.fileProvider/camera_photos/DCIM/download

2020-05-11 17:46:19 2805

原创 原码反码补码

1.正数的原码反码补码相同,是将数字转换为二进制形式,然后将最高位补0。:10所对应的原码反码补码都是 0000 10102.而对于负数,负数的原码是它的绝对值对应的二进制,而最高位是1。所以:10所对应的原码是 1000 10103.负数的反码是它原码最高位除外的其余所有位取反,所以:10所对应的反码是 1111 01014.而负数的补码是将其反码的数值+1,所以:10所对应的补码是 1111 0110...

2020-05-09 10:17:04 262

原创 3次握手,4次挥手

上图包括三个部分:建立连接,数据传输,断开连接第一次握手:客户端发送syn包(seq = x)到服务器,并进入SYN_SENT状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack = x+1),同时自己也发送一个SYN包(seq = y),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器确认包AC...

2020-05-08 09:40:25 164

原创 ConstraintLayout

ConstraintLayout1.Relative positioninglayout_constraintLeft_toLeftOf 我的左侧与你的左侧对齐layout_constraintLeft_toRightOf 我的左侧与你的右侧对齐layout_constraintRight_toLeftOf 我的右侧与你的左侧对齐layout_constraintR...

2020-04-22 13:34:13 132

原创 shouldShowRequestPermissionRationale

shouldShowRequestPermissionRationale,回到最初的解释“应不应该解释下请求这个权限的目的”。1.都没有请求过这个权限,用户不一定会拒绝你,所以你不用解释,故返回false;2.请求了但是被拒绝了,此时返回true,意思是你该向用户好好解释下了;3.请求权限被禁止了,也不给你弹窗提醒了,所以你也不用解释了,故返回fasle;4.请求被允许了,都给你权...

2020-04-02 15:29:40 877

原创 版本适配记录

1.4.1 Apache HTTP 客户端弃用影响采用非标准 ClassLoader 的应用其实,自 Android 6 发布,就移除了对 Apache HTTP 客户端的支持,而推荐改用 HttpURLConnection 类,因为它可以通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量, 从此我们变习惯这样使用 Apache HTTP API,即在 build.geadle 添加:...

2019-07-20 16:40:09 102

原创 git 小记

1.设置上传的请求缓存区,【需要上传的项目根目录下,执行】(150g)    git config --global http.postBuffer 1572864002.已经提交到本地的版本回滚    git reset HEAD~n...

2018-05-18 15:31:26 172

转载 Android事件分发机制

2018-04-16 14:11:42 145 1

原创 Android 透明度换算小计

AARRGGBB其中,ARGB 依次代表透明度(alpha)、红色(red)、绿色(green)、蓝色(blue)。以颜色值 #FF99CC00 为例,其中,FF 是透明度,99 是红色值, CC 是绿色值, 00 是蓝色值透明度1.透明度分为256阶(0-255),计算机上用16进制表示为(00-ff)。透明就是0阶,不透明就是255阶,如果50%透明就是127阶(256的一半当然是128,但因...

2018-04-10 09:31:08 161

原创 浅谈图片压缩

1 Bitmap.compress():质量压缩:它是在保持像素的前提下改变图片的位深及透明度等,来达到压缩图片的目的,不会减少图片的像素。进过它压缩的图片文件大小会变小,但是解码成bitmap后占得内存是不变的。2 BitmapFactory.Options.inSampleSize:内存压缩:解码图片时,设置BitmapFactory.Options类的inJustDecodeBounds属性...

2018-03-23 10:11:26 187

原创 RxPermisson2 用法 翻译

To use this library your minSdkVersion must be >= 11. (最低版本>=11)dependencies { compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'}UsageCreate a RxPermissions instance : (创建一个PxP...

2018-03-21 11:03:52 449

原创 Glide 4.0 Https 兼容

兼容Glide4.0 以上版本 加载https 图片问题@GlideModulepublic class OkHttpAppGlideModule extends AppGlideModule { @Override public void registerComponents(Context context, Glide glide, Registry registry) {...

2018-03-21 09:34:17 1159

原创 Retrofit Https 兼容

import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.concurrent.TimeUnit;import javax.inject.Singleton;import javax.net.ssl.SSLSocketFactory;...

2018-03-21 09:30:26 349

原创 CardView 属性

2018-01-24 15:54:31 192

原创 Rxjava 2 线程调度记录

subscribeOn() 指的是发射事件的线程,observerOn 指的是订阅者接收事件的线程多次指定发射事件的线程只有第一次指定的有效,也就是说多次调用 subscribeOn() 只有第一次的有效,其余的会被忽略。但多次指定订阅者接收线程是可以的,也就是说每调用一次 observerOn(),下游的线程就会切换一次。发射事件的线程必须在订阅之前指定或者切换若不改变上游与下游线程,此时上游与

2018-01-19 13:33:49 202

原创 android 全屏显示

android 设置全屏显示

2017-11-01 10:27:25 277

原创 关于View Measure 的 MeasureSpec的mode 思考

View测量时 的 MeasureSpec的mode 思考

2017-08-17 12:05:16 368

原创 初试注解 自定义实现FindViewById

android 注解 小试

2017-08-10 12:03:17 377

原创 角度 弧度的转换

由数学关系已知  360度 = 2π弧度  => 180度 = π* 弧度 可证得 一: 1度 = (π * 弧度)/180   =  弧度/60  => 度= 弧度*(π/180)      即 60度 = 弧度*(60*π/180) 可证得二:1弧度= 180/π = 60度  => 弧度= 度*(180/π)   即 60弧度 = 度*(180/π)例 1 : cos(3

2017-05-10 16:12:58 774

原创 IntentFilter与隐式Intent

y

2017-03-06 17:13:47 295

原创 react-native Button

react-native Button封装

2016-10-28 12:08:51 454

原创 数据存储总结

android 数据存储总结

2016-09-18 17:03:30 347

原创 ScrollView是否滑动到底部

判断scrollView是否滑动到底部

2016-08-04 11:52:48 829

原创 5月随笔

为了誓言

2016-08-02 18:34:11 533

原创 RelativeLayout 属性含义

android RelativeLayout 的属性介绍

2016-07-21 18:30:43 676

原创 android_动画总结

android 动画总结

2016-07-14 17:39:51 2132

原创 自定义控件_属性介绍

android 自定义控件属性详解

2016-07-14 17:16:50 333

原创 正则表达式

正则表达式

2016-07-14 10:52:12 1554

原创 android资源文件(assets and raw) 的读写

android raw assets资源的操作

2016-07-08 16:22:51 522

原创 ScaleGestureDetector_OnScaleGestureListener,SimpleOnScaleGestureListener

android ScaleGestureDetector

2016-06-22 15:14:49 2000

原创 GestureDetector_SimpleOnGestureListener

android 手势SimpleOnGestureListener

2016-06-22 15:07:05 498

原创 GestureDetector_OnDoubleTapListener

android 手势setOnDoubleTapListener

2016-06-22 14:53:54 2408

TestCamera

android自定义相机,实现触摸聚焦,添加自定义覆层

2016-06-13

W3CSchool教程

w3c全套教程 HTML系列,XML系列,浏览器脚本系列,服务器脚本系列,.NET,多媒体系列,网站构件

2016-06-01

JDK6API中文参考[沈东良](070114)

JDK6API中文参考[沈东良](070114)

2016-06-01

JavaSE1.6_API

JavaSE 1.6_ API

2016-06-01

Android官方API文档完整版

Android官方API文档完整版

2016-06-01

java基础总结

java基础总结

2016-05-27

空空如也

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

TA关注的人

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