6 淡然开怀

尚未进行身份认证

邮箱:854977023@qq.com

等级
TA的排名 5w+

零碎知识点笔记

1、关于MediaTypeMediaType:指的是要传递的数据的MIME类型(描述消息内容类型的因特网标准)MediaType对象包含了三种信息:type、subtype以及charset,一般将这些信息传入parse()方法中,这样就可以解析出MediaType对象,比如“text/x-markdown;charset=utf-8”,type值是text,表示是文本这一大类...

2019-09-18 14:26:58

V2签名多渠道脚本与渠道读取

笔记,避免忘记和丢失签名脚本importjava.nio.BufferUnderflowExceptionimportjava.nio.ByteBufferimportjava.nio.ByteOrderimportjava.nio.channels.FileChannel/***多渠道写入脚本*Createdbyzhangjianliangon2018/1...

2019-09-09 20:32:58

通过注解,对View点击事件自动上报的实现原理

classAnnotationResolver{voidresolveElementsAndInputs(DAPageNumberableobject){Class<?>clazz=object.getClass();Field[]fields=clazz.getDeclaredFields();fo...

2019-08-20 09:40:17

Android一串数字分两段,底部对齐字号不同

一串数字/文字分两段,字号不同没什么技术含量,分享下。效果图packagexxx;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.graphics.Pa...

2019-08-02 17:32:32

Android通过配置,在编译时修复第三方库中的bug

之前在项目中发现一个bug,是由于引用的一个第三方库中要求的最低版本高于app的最低版本。导致不支持的版本出现崩溃,排查发现可以通过修改库中版本判断的方法来解决问题。在网上找了一些实现方式,发现配置方式复杂,难以理解。于是决定参考其实现原理自己写一套。原理在gradle编译android项目时,注册自定义Transform,Transform中可以获取所有输入的jar信息扫描到需要修...

2019-07-25 20:07:29

常用的一些linux命令

ll命令:列出当前目录文件,及文件所属账号ls-al命令:列出当前目录文件,及文件所属账号、文件读写权限检查/et/profile文件:cat-v/etc/profilesudochownjenkins:jenkinsqr.jar修改qr.jar文件归属为jenkins改变拥有者和群组  命令:chownmail:mailserver.log改变文件拥有者和群组 ...

2019-02-18 19:05:10

RecyclerView滚动到指定位置及高度计算

RecyclerView滚动到指定位置及高度计算滚动到指定位置高度计算滚动到指定位置由于RecyclerView的布局复用,看不到的item是暂时没有添加到RecyclerView中的,所以要滚动到看不到的item所在位置时,调用smoothScrollToPosition(intposition)并不能滚动到目标位置。实现思路,每次滚动到最后一个可见item之前,循环滚动,直到滚动到目标...

2019-02-15 10:59:47

Java常用注解笔记

常用注解笔记1、@Target####用于描述注解的使用范围####取值范围(ElementType):1)CONSTRUCTOR:用于描述构造器2)FIELD:用于描述域3)LOCAL_VARIABLE:用于描述局部变量4)METHOD:用于描述方法5)PACKAGE:用于描述包6)PARAMETER:用于描述参数7)TYPE:用于描述类、接口(包括注解类型)或enum声明...

2019-01-30 19:07:24

android命令行签名之V1Sign、V2Sign

获取keystore的别名:keytool-list-v-keystorekeyStore的绝对路径-storepass密码keytool-alias//获取别名命令行V1签名命令:jarsigner.exe-verbose-keystorekeystore的绝对路径-signedjar签名输出apk绝对路径待签名apk绝对路径keyStore别名Dem...

2019-01-25 15:49:25

Android AccessibilityService模拟点击监测、上报、防御

模拟点击原理1、系统启动时,会启动大量系统服务,其中就包括AccessibilityManagerServiceAccessibilityManagerService(这里简称AMS)在创建时,会注册一些系统广播,包括应用状态变化广播PackageMonitor。2、PackageMonitor在有应用安装、卸载、更新时都会收到广播,在收到广播后,AMS会获取对应应用中注册的Access...

2019-01-11 14:56:05

Android实现通用可控的控件阴影效果(附效果图)

背景android原生的阴影效果,一般都是用CardView来实现CardView的不足:1、阴影颜色无法修改2、阴影显示的位置不可控解决方案根据CardView阴影实现{@linkandroid.support.v7.widget.RoundRectDrawableWithShadow},在它的基础上实现自定义阴影Drawable,阴影颜色、位置可控少说废话,多上干货Shadow...

2018-12-14 18:26:07

Android自己实现快速多渠道打包功能V1

Android多渠道打包性能优化1、问题传统的方式在build.gradle中通过productFlavors配置多渠道的方案,在多渠道打包时会执行多次编译打包过程,速度缓慢网上已经有成熟的、大厂大牛写的开源项目解决该问题;比如美团的walle但是,用第三方的插件,有时候不灵活。比如我们已经用了一个第三方打包插件,而我们多渠道打包任务要放在该插件执行完成之后;这时候就太好弄了。...

2018-12-07 15:32:38

Jenkins,android打包后脚本配置

只适合本人项目使用,其他项目可参看脚本代码记一下,怕以后自己也忘了#deleteoldapk(before1min)insubfolderstest$?-eq0&&find${WORKSPACE}/app/build/outputs/apk-mindepth1-maxdepth3-typef-mmin+2-execrm-f...

2018-11-01 20:07:36

简单学习和理解Java泛型

学习和理解Java泛型实现通过java编译器来实现伪泛型,编译时会对泛型类型擦除,类型擦除后保留原始类型,也就是字节码中的类型。在生成的Java字节码中是不包含泛型中的类型信息的。使用泛型的时候加上的类型参数,会在编译器在编译的时候去掉。原始类型:1、如果泛型的类型变量没有限定,原始类型默认为Object2、如果泛型类型有限定(TextendsPerson),那么原...

2018-08-08 17:51:35

插件化基础(三)宿主中启动插件的四大组件原理、宿主与插件资源的共享实现原理

插件化原理(三)宿主中启动插件的四大组件原理、宿主与插件资源的共享实现原理插件化原理一、启动插件Activity原理1、Activity启动过程1)●ActivityManagerProxy是AMS在app进程的Binder代理,ActivityManagerNative是对该Binder代理的操作工具类●IApplicationThread是应用启动时调用A...

2018-07-17 19:58:33

Android8.0适配

Android8.0适配官方文档通知通知官方文档解决方式//8.0通知栏适配if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){NotificationChannelchannel=newNotificationChannel(String.valueOf...

2018-07-02 18:28:32

android自定义圆角矩形背景按钮,避免创建大量不可复用的shape.xml

圆角矩形背景,可变色,可左右方向渐变背景色,TextView项目中常常用到圆角矩形按钮,空心的、实心的、纯圆角的、任意radius的、背景颜色各种的、甚至颜色渐变的过去drawable中存在大量xml文件用来设置shape,这个自定义控件就是为了解决这个问题,避免在drawable中创建大量的shape/selector文件源码packagexxx.xxx.xxx;imp...

2018-06-13 17:37:36

插件化基础(二)Hook Binder

#插件化基础(二)HookBinder(学习[大神](http://weishu.me/))原作:[Android插件化原理解析——Hook机制之BinderHook](http://weishu.me/2016/02/16/understand-plugin-framework-binder-hook/)  ##一、ClipboardManager的创建和获取过程###获取Clipboard...

2018-06-09 18:22:04

插件化学习基础(一)动态代理

1、静态代理/**定义的代理接口*/publicinterfaceShopping{Object[]doShopping(longmoney);}/**代理类*/publicclassProxyShoppingimplementsShopping{Shoppingbase;ProxyShopping(Shoppingbase)...

2018-06-08 20:50:56

SharedPreference源码简析

finalclassSharedPreferencesImplimplementsSharedPreferences{...privatefinalFilemFile;privatefinalFilemBackupFile;privatefinalintmMode;privatefinalObjectmLock=...

2018-05-31 18:45:41

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。