- 博客(118)
- 资源 (4)
- 收藏
- 关注
原创 ContentProvider执行时机
调用顺序: Application 构造方法 –> Application.attachBaseContext –> ContentProvider.onCreate –> Application.onCreate –> Activity.onCreate。
2022-09-29 11:17:19 264
原创 重拾设计模式
为何又重新整理起来设计模式,目前开发已经5年多,日常开发过程中也偶有用到例如工厂模式、观察者模式、builder模式、单例模式等,但是真正对于什么模式可以解决什么问题还是不够熟稔于心,做不到灵活运用,所以在此时此刻,有必要重新整理一遍面向对象的基本原则和设计模式,力求达到熟稔于心、融会贯通、熟稔于心:
2022-09-15 12:20:15 59
原创 The binary version of its metadata is 1.6.0, expected version is 1.4.2.
kotlin 版本不一致导致编译不过
2022-07-29 12:13:37 4325
原创 Android中 DialogFragment 全屏时 在android11机型失效的问题
由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0) 即可。override fun onStart() { Logger.i(TAG, "onStart") super.onStart() setWindowParam() } /** * 设置dialog的 window 参数 */ private f
2021-10-13 10:28:36 403 1
原创 设置图片的透明度从左到右渐变
一、设置图片的透明度从左到右渐变/** * 设置图片的透明度从左到右渐变,使右边缘平滑过渡(注意只跟着x坐标变) * * @param num 范围为0-100,0为全透明,100为不透明 */ public static Bitmap getTransAlphaBitmap(Bitmap sourceImg, float num) { if (sourceImg == null) { return null;
2021-09-09 16:24:02 1980 1
原创 Gradle知识点
1、applicationVariants参考:https://developer.android.com/reference/tools/gradle-api/7.0/com/android/build/api/variant/ApplicationVariantbuild.gradleandroid.applicationVariants.all { variant -> println("applicationVariants") println(variant.name
2021-05-22 11:02:20 350
原创 使用Nexus搭建自己的Maven私服
转载:1、使用Nexus搭建自己的Maven私服及上传下载aar2、publish时出现400,bad request 可能的俩原因
2021-05-19 12:23:30 95
原创 HTTPS数据传输流程
1.客户端向服务器端发起HTTPS请求,连接到服务器端的443端口上2.服务器端有一个秘钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,将公钥发送给客户端3.客户端收到服务器端的公钥之后,对公钥进行检查,验证其合法性,如果发现公钥有问题,那么HTTPS传输无法继续;如果合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的秘钥,即客户端秘钥,然后用服务器端的公钥对客户端秘钥进行非对称加密,这样客户端秘钥就变成了密文了,至此,https中的第一次HTTP请求结束4.客户端
2020-05-14 11:03:24 990
原创 图片打标签之获取图片在ImageView中的坐标
android matrix 最全方法详解与进阶(完整篇)imageView = findViewById(R.id.imageview); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick...
2020-04-19 17:30:36 920
原创 RecyclerView滚动到指定位置
1、mLayoutManagerprivate void moveToPosition(int position) { if (position >= 0) { mLayoutManager.scrollToPositionWithOffset(3, 0); } }2、LinearSmoothScrollermTopSm...
2020-04-10 16:26:56 525
原创 Kotlin基础
一. Kotlin 基础知识1. HelloWorld:fun main(args: Array<String>){ System.out.println("hello world")}2、常见数据类型3、类型推断4、取值范围var aByte:Byte = Byte.MAX_VALUEvar bByte:Byte = Byte.MIN_VALUE5、函...
2020-04-04 11:25:53 258
原创 Kotlin学习笔记
文章目录一. Kotlin 基础知识1.1 函数结构:1.2 变量1.3 when、循环语句1.3.1 when1.3.2 循环语句1.4 Kotlin 异常处理1.5 "?" 和 "!!"1.6 重载调用函数1.7 顶级函数和属性(静态的)1.8 可变参数 和 展开操作符1.9 中缀调用infix1.10 本地函数1.11 访问修饰符一. Kotlin 基础知识1...
2020-04-04 11:15:26 382
原创 Hook技术
参考:https://www.jianshu.com/p/4f6d20076922使用 Java 反射实现 API Hook通过对 Android 平台的虚拟机注入与 Java 反射的方式,来改变 Android 虚拟机调用函数的方式(ClassLoader),从而达到 Java 函数重定向的目的,这里我们将此类操作称为 Java API Hook。下面通过 Hook View 的 OnC...
2020-02-04 17:40:44 172
原创 动态代理
代理模式的应用场景:1、例如要给某个方法加上监控,记录方法开始时候的时间,方法结束时的时间。静态代理:静态代理缺点:接口与代理类是1对1的,有多个接口需要代理,就需要新建多个代理类,繁琐,类爆炸。 public interface IPerson { void say(); } public static class Man implements I...
2020-02-04 16:47:09 131
原创 android计算bitmap内存及内存优化
参考:https://www.cnblogs.com/dasusu/p/9789389.htmlhttp://www.cocoachina.com/articles/30884计算公式:1、如果设置了inSampleSize=1,2,4,8 , 则相应的Sample高度 = 原图高度 * 1,1/2, 1/4, 1/8;Sample宽度 = 原图宽度 * 1,1/2, 1/4, 1/8...
2020-01-11 21:51:15 417
原创 八个经典的java多线程编程题目
文章目录1、要求线程a执行完才开始线程b, 线程b执行完才开始线程2、两个线程轮流打印数字,一直到1003、写两个线程,一个线程打印1~ 52,另一个线程打印A~Z,打印顺序是12A34B...5152Z4、编写一个程序,启动三个线程,三个线程的ID分别是A,B,C;,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC...5、编写10个线程,第一个线程从1加到10,第二个线程从11加...
2020-01-01 18:01:32 17099 6
原创 requestLayout() 、invalidate()、postInvalidate()原理
参考:https://www.cnblogs.com/tiger-wang-ms/p/6592189.htmlhttps://blog.csdn.net/a553181867/article/details/51583060结论:view调用invalidate将导致当前view的重绘(draw调用),view的父类将不会执行draw方法;viewGroup调用invalidate会使vi...
2019-12-21 23:54:59 194
原创 activity主题
1、沉浸式主题<style name="Theme.Gallery" parent="android:Theme.Light.NoTitleBar.Fullscreen"> <item name="android:windowBackground">@color/black</item> <item name="andro...
2019-11-22 17:53:12 161
原创 多线程----ConcurrentHashMap
学习ConcurrentHashMap需要达到以下三点:一、比较HashMap为什么不是线程安全的,及HashTable是如何实现的安全的,并且HashTable有什么问题?二、深入理解CHM各项并发优化的原理。三、掌握锁优化的方法。一、比较HashMap为什么不是线程安全的,及HashTable是如何实现的安全的,并且HashTable有什么问题?1、HashTable的问题(很暴力)...
2019-11-10 14:54:20 441
原创 多线程---线程安全
线程安全是开发者在开发多线程任务时最关心的问题,那么线程安全需要注意哪些呢?一、思考:线程安全产生的原因是什么?二、final,volatile关键字的作用?三、1.5之前的javaDCL有什么缺陷?四、如何编写线程安全的程序?五、ThreadLocal使用的注意事项有哪些?一、思考:线程安全产生的原因是什么?原因:可变资源(内存)线程间共享由Java的内存模型:各线程都有自己的工...
2019-11-10 11:10:46 139
原创 多线程专题---如何停止一个线程
最近做项目及看别人源码过程中涉及到多线程的知识,感觉自己多线程方面还不够系统,所以需要系统的总结一下这方面的知识。先从如何停止一个线程开始:这里先记下最关键的一点:停止线程:应该代码逻辑上停止线程中的任务从而让线程自动停止,而不是强制停止线程自身下面先问自己几个问题,由浅入深的学习线程知识:1、是否了解线程的用法?2、是否了解对线程的stop,suspend,resume方法?3、线程...
2019-11-09 16:54:07 291
原创 android手机分辨率
1、手机分辨率4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)16:9FWVGA 854*480 (Full Wide VGA)H...
2019-09-15 12:25:23 2783
原创 addOnPreDrawListener()的在recycleView中使用的坑
addOnPreDrawListener()在recycleView的item中使用时,即使使用removeOnPreDrawListener(this),但是onPreDraw()还是会被多次调用。approveTextView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener()...
2019-09-05 10:27:33 1837
原创 Android图片打标签
最近项目要实现一个图片打标签的需求,在这里分享一个简易版的打标签: 1、点击图片任意位置跳转到标签列表页,选择后,标签锚点到点击位置。 2、点击锚点反转标签。 3、拖拽标签,限制在图片区域内。实现的方案1、用FramLayout:先加ImageView用于显示图片,再加标签View显示在图片上层。2、tagBean记录 标签锚点位置 与 图片左上角距离的...
2019-09-01 15:05:48 2113
原创 低灵敏度SwipeRefreshLayout
低灵敏度SwipeRefreshLayoutpackage com.ss.android.homed.pm_home.decorate.view;import android.content.Context;import android.support.v4.widget.SwipeRefreshLayout;import android.util.AttributeSet;impor...
2019-04-28 20:58:32 424
原创 策略模式
一、类图:三个角色:使用环境角色:抽象策略角色:具体策略角色:二、举例:例如:TreeSet中:UseContext : TreeSetIStrategy : ComparatorTreeSet<Integer> treeSet = new TreeSet<Integer>(new Comparator<Integer>() { ...
2019-04-14 14:56:36 99
原创 android源码(1)LiveData源码
2、LiveData如何感知生命周期?SupportActivity中:public class SupportActivity extends Activity implements LifecycleOwner { @Override @SuppressWarnings("RestrictedApi") protected void onCreate(@Nu...
2019-03-26 16:12:57 214
原创 android进程保活
文章目录一、android进程的优先级二、android进程的回收策略三、进程保活方案1、利用系统广播拉活2、利用系统Service机制拉活3、利用native进程拉活4、 利用JobScheduler机制拉活5、利用账户同步机制拉活一、android进程的优先级二、android进程的回收策略三、进程保活方案1、利用系统广播拉活缺点:1)、系统广播不可控,只有在系统广播发生的时候...
2018-12-05 00:17:24 176
jython-standalone-2.7.0.jar
2017-01-10
genymotion-arm-translation
2016-12-27
arm-genymotion to translation.zip
2016-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人