自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 耗时任务,避免回调嵌套的构思

*** 获取命令ID* @return 命令ID*//*** 获取执行结果*//*** 停止执行*//*** 获取命令结果* @return 结果*/

2023-11-21 20:14:49 166

原创 Java 写XMP格式

需要添加依赖:“com.adobe.xmp:xmpcore:5.1.2”,总结就是简单。

2023-11-21 19:41:29 310

原创 代理、桥接、装饰器、适配器4种设计模式的区别

结构型设计模式区别

2022-12-17 17:27:15 507 1

原创 结构型设计模式-代理模式

代理模式真不错啊,一看就能懂

2022-12-17 16:29:21 210

原创 设计模式-创建型模式学习总结

设计模式-创建型模式学习总结

2022-12-17 15:38:15 157

原创 DI 容器有感

DI容器笔记

2022-12-17 14:46:02 137

原创 Android APK 的构建流程以及Gradle多版本构建

APK 构建流程,Gradle多渠道构建apk

2022-10-22 15:08:37 1914

原创 锁定特定对象

java锁定特定对象

2022-10-10 13:55:58 202 1

原创 响应式编程的一点小感悟

这样,我在添加,删除操作这个数据的时候,就会响应式的触发我的监听回调,其实这也是观察者模式,java里面需要自己做这样一层数据的封装,kotlin里面已经做好了这个接口,u1s1,kotlin真的很好用,呜呜。这时候响应式思想就派上了用场,只需要对这个字段添加监听,只要这个字段更改就触发我的监听器,比如监听回调内容为更新界面,更新界面的方法也只需要在这个监听里面调用一次就好了。真的很干净,思路很清晰啊。编码的时候,经常遇到的情况,就是一个字段变化后,需要做一些相应的变化,比如更新界面。看看代码里咋做的吧。.

2022-07-29 16:15:42 602 1

原创 Gson解析泛型类数据

如果一个数据类,其中一个字段类型可能为多种,那么这个数据类就可以写为泛型类。最常见的就是服务端返回的响应数据Response。这个数据类里面status字段与msg字端类型固定,只有data这个字段存在多种类型数据的可能,因此就用通配符T来替代这个字段类型。显然,拿到服务端的响应Response后,需要对其body进行json解析,这时候就需要知道TzResponse的实际Type了。这样可以避免构建多个数据类,也避免了构建多个回调接口,这就是传说中的多态吧,整挺好。这样json解析就没有问题了。.....

2022-07-29 16:00:52 1522 1

原创 通过URL访问韩国Naver地图

通过url访问韩国naver地图,静态地图

2022-06-30 20:27:43 1088 1

原创 依赖本地module的arr打包

如果要打包一个arr,但是这个arr依赖了本地的module,显然,向第三方提供这个arr的包的同时,需要提供这个本地module,很麻烦啊,所以想着能把这个本地module打包进这个arr包。首先,在project的build.gradle的android闭包中增加依赖然后进入要打包的模块,在其build.gradle中增加然后依赖里面加入embed就可以了。这样打完包的arr里面就有了这个本地module。...

2022-06-07 11:54:13 470 1

原创 PopWindow外部点击事件消费

现象:设置了PopWindow的setOutsideTouchable方法,可以实现在PopWindow外部任意区域就可以将PopWindow给dismiss。然后公司有一个缺陷需要修改,就是点了返回键之后,先将PopWindow给dismiss掉,然后再点击返回键,当前Activity被finish。可是发现第一次点击返回键,PopWindow dismiss了,同是Activity也被finish了。分析:PopWindow拿到外部点击事件后,自己消费完还往下传递了,导致finish被触发。现在解决

2022-05-18 12:50:38 463

原创 基于DiffUtil的RecycleView视图更新

当RecycleView的数据集发生变化生,一般都是调用notifyDataSetChanged()方法来通知视图更新,但当数据集合非常大,就会造成性能低。为了解决这个问题,就需要使用DiffUtil工具,DiffUtil是基于差分算法来计算新旧数据集合的差别,根据差别来更新视图。掘金的这篇文章讲的很详细,我也是根据这篇文章学习使用DiffUtil的。https://juejin.cn/post/6903339348754694158第一步:首先继承DiffUtil.Callback抽象类,并实

2022-02-14 10:16:37 347

原创 定时调整屏幕亮度

在开发中,遇到了一个需求,当用户出现点击屏幕等交互操作时,自动将屏幕亮度调亮,当交互过了一定时间后,自动将屏幕亮度调暗,用于节能。直接上代码吧。需要引用一个工具类,在build.gradle中添加: implementation 'com.blankj:utilcodex:1.28.3'进入低功耗与退出低功耗的方法为:var lowPowerDisposal:Disposable? = nullfun inLowPower(delayTime: Long){ if(de

2022-02-14 09:32:52 1409

原创 Android Studio修改缓存文件夹位置

在安装Android Studio的时候,将Android Studio 安装在非C盘目录下,但它默认的缓存文件夹位置是处于C:\Users\Administrator文件夹下的,随着Android Studio使用一段时间后,它的缓存文件夹会越来越大,使C盘的可用空间越来越小,因此需要修改其缓存文件夹的位置。有关缓存文件夹的位置修改,网上很多博客都做了详细的步骤记录,在此就不做阐述。对各个缓存文件夹的用处做一下记录吧。.android文件夹是由Android SDK配置模拟器生成的;.Andr

2022-02-14 09:14:48 2837 1

原创 基于Java语言的OpenCV使用

今天就来记录一下在Java中使用Opencv得配置吧,至于OpenCV的使用很简单,现成API的调用,查查文档就好了,但是关于OpenCV 这些API背后的原理就需要去学习一下数字图像处理的知识了。推荐冈萨雷斯的《数字图像处理》,这本书真的很棒棒呢一、OpenCV官网下载opencv到本地,比如我下载到本地目录:F:\opencv3二、新建一个Java项目,然后在其Project Structure中加入我们下载的OpenCV .jar文件。三、从本地文件中加载动态库static {

2022-01-17 10:27:01 11455 1

原创 根据主题不同,引用不同的资源文件

在开发中,一款APP会设置几款皮肤,也就会涉及到资源文件的引用问题。现在来摸鱼记录一下吧。一、首先建立几个style,也就是我们的皮肤style。比如:<style name="ClassicTneme" parent="Theme.MaterialComponents.Light.NoActionBar"> <item name="android:windowIsTranslucent">true</item> <it

2022-01-15 15:55:14 2467 1

原创 RecycleView的Item拖拽效果以及拖拽位置保存

基于公司产品的优化需求,其中一个需求涉及到RecycleView的拖拽,以及拖拽后item位置的持久化,目的是可以用户自定义界面偏好,并在用户下次进入本界面后,之前设置的偏好仍然有效。我写了一个小Demo用作演示效果。先看效果(只看效果,不看颜值)步骤1、建接口文件ItemTouchHelperViewHolder,该接口文件中描述的是选中和放开当前Item调用的方法。public interface ItemTouchHelperViewHolder { void onItemS

2022-01-04 14:13:27 2287 2

原创 Android Studio配置React Native环境

1、安装Chocolatey.Chocolatey安装教程地址:https://community.chocolatey.org/courses/installation/installing?method=installing-chocolatey2、安装Python2Cmd.exe 中使用 choco 安装Python23、安装NodeCmd.exe中使用choco安装Node4、安装Yarn5、测试安装环境在当前环境下新建一个React-Native项...

2021-12-09 16:13:27 2360

原创 Android 自定义View以及动画绘制

根据启舰《Android自定义控件入门与实战》练习的的Demo已经放到GitHub上啦。整挺好。github地址:https://github.com/li0happy/studyAnimation

2021-12-09 13:32:40 1852

原创 JNI开发

一、JNI开发为了使Java代码能够直接与Native 交互,Android提供了JNI技术。关于概念性的东东直接百度了解一下好了。二、在Android中开始JNI开发首先Android Studio中新建一个JNI项目在gradle文件下添加:sourceSets { main { jni { srcDirs 'src\\main\\jni' } } }构建

2021-12-09 10:54:15 2514 1

原创 Protocol Buffer使用小结

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、配置 二、使用 写入数据 读取数据 总结前言AndroidStudio中使用Protocol Buffer提示:以下是本篇文章正文内容,下面案例可供参考一、配置安装插件 :Protobuf SupportProject build.gradle中加入:classpath 'com.google.protobuf:protobuf-gradle-plugin:0.

2021-12-09 10:06:17 151

空空如也

空空如也

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

TA关注的人

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