自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Eric的博客

大事上方向正确,小事上一丝不苟 !

  • 博客(300)
  • 资源 (1)
  • 收藏
  • 关注

原创 鸿蒙 - 读取 rawfile 中的 json 文件

在以下目录中存放了一份地区 json 文件。我想要将其读出来,并且转为我的实体类。

2024-03-14 20:52:55 619

原创 解决:鸿蒙提示:SSL peer certificate or SSH remote key was not OK

在鸿蒙虚拟机上运行后,请求接口时提示:SSL peer certificate or SSH remote key was not OK、

2024-03-12 11:53:45 557 1

原创 解决:Glide 在回调中再次加载图片报错

Glide 加载图片时监听了回调,并在失败时再次加载其它图片后报错。

2024-02-20 20:56:08 608

原创 解决:Android 报错 Failed to transform exifinterface-1.2.0.jar

Android 报错 Failed to transform exifinterface-1.2.0.jar

2023-12-19 16:30:42 836

原创 解决:Android TextView 设置斜体后右侧文字被遮挡

遇到一个比较奇怪的情况,给 TextView 文字设置倾斜后,右侧的文字会被遮挡,感觉这应该是 Android 的一个 bug!上效果图:可以明显地看到最右侧的文字被遮挡了。

2023-11-16 15:06:17 676

原创 解决:Android 页面跳转有黑屏

我的场景是从页面 A,打开一个透明页面 B,从页面 B 跳转到页面 C 后会出现黑屏。

2023-08-31 15:42:48 829

原创 解决:Android 设置 Activity 透明和页面开闭时闪烁

我们有的时候需要添加一个透明的 Activity,在上面做一些操作,但往往会有一些问题,要么不能完全透明,要么打开和关闭时存在短暂的闪烁,会影响用户体验。我在网上搜索了一些答案,亲试很发现大多是存在问题的。最后经过一系列尝试后终于实现用户无感知透明了。

2023-08-29 15:31:17 2413

原创 LiveEventBus 原理

LiveEventBus 是一款 Android 消息总线,基于 LiveData,具有生命周期感知能力,支持 Sticky,支持 AndroidX,支持跨进程,支持跨 APP 的通信组件。相较于 EventBus,它支持生命周期感知能力和跨进程通信,是一个非常好用的组件间通信工具。

2023-08-09 14:58:41 588

原创 解决:记录一次解决排查持久化存储的问题

我们的 App 用 MMKV 持久化存储了 int 型的 key。在 App 启动时会去读取这个 key,但我却找不到存储它的地方。

2023-07-07 17:45:36 202

原创 记录常用的 gradlew 命令

记录常用 gradlew 命令

2023-06-05 10:32:19 365

原创 解决:No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

Android 编译时报错以下信息:大概意思是 NDK 工具链中缺少 CPU 架构支持:arm-linux-androideabi。看了一下我的 NDK 版本是 25.2.9519653,内部确认没有 arm-linux-androideabi 架构的支持。

2023-04-23 11:43:09 4666 1

原创 解决:Could not find method ndkVersion() for arguments

解决:Could not find method ndkVersion() for arguments

2023-03-24 16:20:09 1150

原创 解决:Mac Git 每次 clone 都需要输入密码

我们拉取一个项目的时候,往往这个项目会依赖很多子组件,而这些子组件又会分散到不同的 Git 仓库中,如果每次 clone 都需要输入密码的话往往很麻烦,怎样避免这个问题呢?

2023-03-22 18:50:25 345 3

原创 解决:com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version

com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

2023-03-21 16:13:09 327

原创 Android 兼容性问题 - 根据字符计算宽度导致 TextView 显示异常

有一些场景,需要根据内容的长短动态设置 TextView 的尺寸。但是在 VIVO Y33S Android 12 机型上发现设置完尺寸直接多出了一些省略号。

2023-03-16 16:23:54 287

原创 Android 布局技巧:前面的文案显示省略号,后面的自适应内容

规则是是不满 1 行的时候自适应宽度,如果放不下的情况下,前面的文案展示省略号,这样是不是不太好实现了呢?动态计算后面文案的宽度,根据剩余的尺寸给前面的 TextView 设置一个最大宽度。借助 LinearLayout 的 weight 属性。但是我们如果想实现下面这种效果,该怎么做呢?这种方案比较麻烦一些。

2023-03-10 16:55:33 88

原创 Android 获取 Fragment 中的 LifecycleRegistry

有时候我们在 Activity 中存在多个 fragment 时,希望在 Fragment 切换时也下发生命周期,这个时候 lifecycle 就不会主动触发了,而我们希望手动处理一些生命周期的时候,发现 Fragment 并未开放lifecyleRegistry 的权限。我们平常在做 Android 开发时,经常需要在 fragment 的子组件中感知其生命周期。fragment 的生命周期通常是需要依赖 Activity 的。可以通过反射获取其 registry。我们怎样才可以打开其访问权限呢?

2023-03-08 14:39:13 166

原创 Android 单进程或多进程监听应用前后台切换

解决 Android 跨进程监听应用前后台切换问题。

2023-02-08 11:02:11 2174 2

原创 解决:代码中动态获取尺寸与 AndroidAutoSize 设置的尺寸不一样

AndroidAutoSize 是字节出品的一套自动屏幕适配方案,我们在开发过程中可以很容易的去适配各种屏幕。但应用这套开源库后也存在一个问题:我在 xml 中给 view1 设定尺寸为 200dp,又在代码中动态给view2 设置尺寸为 200dp,但是实际的效果却是不一样长。

2022-12-15 22:57:37 794 4

原创 解决:小米手机设置全屏后屏幕上方有黑条问题

解决小米手机全屏后,屏幕上方存在黑条问题。

2022-11-27 16:21:16 1893 2

原创 Android Library 库直接拿到 Context

我们写底层库的时候经常需要用到 Context,但怎样拿到这个 Context 呢?往下看......

2022-09-21 20:03:13 1089

原创 开源库 Gson 怎么读

我们在做 Android 开发的时候经常会用到 Gson 这个开源库,但是 Gson 应该怎么读呢?

2022-08-30 16:03:23 1788 2

原创 解决:java.lang.IllegalArgumentException: Unable to create call adapter for class java.lang.Object

Retrofit 请求网络时报错:java.lang.IllegalArgumentException: Unable to create call adapter for class java.lang.Object说没有添加 CallAdapter。

2022-08-26 17:34:38 2583 1

原创 解决:ARouter 报错 There is no route matched

解决:ARouter 报错 There is no route matched

2022-08-26 16:34:56 684

原创 解决:接入 DoKit 时报错:java.lang.NoSuchMethodError: No static method getAppSignatureMD5()

接入 DoKit 时报错:java.lang.NoSuchMethodError: No static method getAppSignatureMD5()

2022-08-23 16:24:57 305

原创 解决:Android debug 系统源码时行号对应不上

一、问题说明我们在开发过程中经常需要去查看系统的源码,可能大多时候只需要阅读一下就行,有时候为了更好的理解,我们需要去 debug 一下,但是会出现 debug 的行号和运行的代码不一致的情况。二、问题原因这是因为很多手机厂商重新定制了系统源码,你电脑上指定版本 SDK 的源码和你自己手机上的并不完全一致。三、解决方案用 Android Studio 的 Device Manager 下载一个同你的 compileSdk 和 targetSdk 版本一致的谷歌虚拟机,将应用运行上去再次

2022-05-20 16:06:45 1060 1

原创 解决:RecyclerView 瀑布流偶现间距太大

一、问题说明正常应该是这样的但有时候打开会变成这样:对比正常图和异常图,明显页面边距和 item 边距都要大不少。比较奇怪的是直接点击上面的 tab 定位到该 fragment 会出问题,如果左右滑动 ViewPager 到该 fragment 就没事。二、解决方案经过一顿排查,终于发现是某些时机下重复设定 ItemDecoration 导致间距直接 double 了。// addItemDecoration 前加上这句判断if (recyclerView.i

2022-05-16 13:49:33 678

原创 解决:Android Lambda 造成内存泄露

一、问题说明class MyActivity : Activity() { override fun onWindowFocusChanged(hasFocus: Boolean) { super.onWindowFocusChanged(hasFocus) if (hasFocus) { // startCheckClipboard 中存在耗时操作 CommandManager.startCheckClipboard { showCo

2022-03-15 09:50:27 3490 2

原创 解决:AppBarLayout 出现黑边问题

解决 AppBarLayout 出现黑边问题。

2021-12-22 15:23:47 1831

原创 解决:Paging3 PagingDataAdapter 删除 item

一、问题说明Paging 3 可以很方便的管理数据分页。我们项目中有一个特殊需求:删除指定的 item。但是发现 adapter 并未提供相应的支持。二、解决方案adapter.snapshot().toMutableList().removeAt(position)adapter.notifyItemRemoved(position)搞定!...

2021-10-29 19:00:11 3351 4

原创 解决:CoordinatorLayout 嵌套 RecyclerView 再嵌套 RecyclerView 悬浮联动失效

一、问题说明CoordinatorLayout 嵌套 RecyclerView 滑动联动没问题,但是在 RecylerView 中再嵌套一层 RecyclerView 就会出现不联动的问题。二、问题解决给最内层的 RecyclerView 设置属性:nestedScrollingEnabled <androidx.recyclerview.widget.RecyclerView android:layout_width="match_parent" .

2021-09-18 16:32:05 705

原创 记录:TextView 首行缩进指定宽度

// 第一个参数为第一行缩进宽度,第二个参数为其它行缩进宽度val what = LeadingMarginSpan.Standard(width, 0)val ss = SpannableString("hello world")ss.setSpan(what, 0, ss.length, SpannableString.SPAN_INCLUSIVE_INCLUSIVE)titleView.text = ss...

2021-09-13 15:36:45 726

原创 了解 Android 内存泄露

一、说明看文章之前,可以预想一下,你想从这篇文章中了解什么呢?什么是内存泄露 内存泄露有什么危害 怎样检测内存泄露 怎样解决内存泄露本文主要想说明什么是内存泄露、怎样检测和解决内存泄露。希望大家在看完该文后能对内存泄露有一个全面的了解。二、什么是内存泄露内存泄漏是指程序已经不会再使用的内存对象,由于垃圾回收时无法识别其是否为无用的垃圾对象,不能及时地将其回收,一直保留在内存中占用存储空间,不释放给其他对象。举个例子:茅坑只有那么那么五六个,但有些总喜欢占着茅坑不拉屎,这样就

2021-09-06 16:26:41 783

原创 分享一个 Android 尺寸限制组件:限制最大高度、按宽高比限制宽度或高度

一、说明你是否有遇到过以下需求:底部弹窗的高度为自适应,但最大不能高于 200dp,如果能有一个 maxHeight 属性该多好。但这个属性貌似只在 TextView 有发现,其它 View 就不支持了。 图片的宽度为屏幕宽度,图片的高度为按设计图尺寸自适应。 或者图片的高度固定,按一定比例自适应宽度。以上的这些需求,Android 原生没有直接的属性支持。当然,你也可以每次去计算,但这样太费事了,如果能封装一个组件达到一劳永逸是不是会方便很多呢。二、实现逻辑1、在style.xml.

2021-08-05 20:12:48 2093

原创 解决:Type com.alibaba.android.arouter.routes.ARouter$$Group$$home is defined multiple times

一、问题场景项目中有用到阿里的 ARouter 组件,定义路由的时候添加了一个 scheme://home/categories,结果一直报该错误:Type com.alibaba.android.arouter.routes.ARouter$$Group$$home is defined multiple times项目中之前也有用到过scheme://home/mine 这样的路由是没有问题的。比较奇怪的是为什么这个就会有问题呢?二、问题解决换成scheme://home2/..

2021-08-04 11:43:21 6784

原创 解决:Failure [INSTALL_FAILED_TEST_ONLY]

一、问题场景我用 Android Studio 在 VIVO Y85A 手机上调试应用时,一直提示安装失败:failed to install build/outputs/apk/debug/debug.apk: Failure [INSTALL_FAILED_TEST_ONLY]二、解决方案在 gradle.properties 中添加:android.injected.testOnly=false搞定!...

2021-07-28 13:54:35 249

原创 解决:RecyclerView 滑动后布局错乱

一、问题说明我的需求是要做一个类似这样的列表,整体是一个 RecyclerView,每个 item 内部会有一个流式布局,在流式布局内部会动态添加 TextView,TextView 的大小是自适应的。滑动后会出现以下布局错乱问题:由图可以看出,TextView 的背景丢了样式。二、问题解决分析应该是布局复用导致的布局错乱,由于我的列表数据不是很多,占用内存也不是很大,就先直接禁用掉 RecyclerView 的复用,禁用掉后再次滑动就不会存在错乱的问题了。我在网上搜索了禁用

2021-07-26 15:07:09 3265

原创 解决:底部 Dialog 不展示入场动画

一、问题说明遇到一个很奇怪的问题,dialog 入场动画一直展示不出来,但是出场动画可以正常呈献。我尝试了修改动画相关代码,也尝试调整 dialog 中的主题,但一直不行。经过长时间排查和对比,终于找到解决方案。二、问题解决解决方案:只需要给 dialog 的宽度减少 2 个 px 即可解决。三、问题分析如果你的视图部分的宽度本身不是占满全屏的,不会存在不展示入场动画的问题,但如果宽度是占满全屏的话就会不展示入场动画。靠,了解后真是想骂街!!!Android 为什么要这样

2021-07-23 15:00:20 1298 2

原创 解决:Android 在 onMeasure 中获取不到 View 的尺寸

一、问题说明遇到这样一个需求:图片的宽度为接近屏幕的宽度,图片的高度要保持设计图的宽高比。看起来很简单的一个需求是吧!我的方案是:我尝试在 onMeasure 中获取 ImageView 的宽度,然后根据宽度和比率计算好 View 的高度,设置上去。问题:页面打开时 ImageView 的 visibility 为 visible 的话不会有问题;但如果为 gone 的话,即使你设置了 visible,在 onMeasure 中获取到尺寸也是 0。二、解决方案i

2021-07-23 10:59:35 584 1

转载 47 个反编译工具

JADX – Dex to Java decompilerDownloadBytecode ViewerDownloadApktoolDownloadClassySharkDownloadSmali/BaksmaliDownloadAndroguardDownloadEnjarify by GoogleDownloadEnjarify by StoryyellerDownloadAPK StudioDownloadApkToolPlus

2021-06-03 16:16:40 4643

GprinterSDKForAndroid.zip

现在佳博官方的 SDK 下载链接暂时打不开,为了方便开发者下载,特在此上传资源方便开发同学使用

2019-08-13

空空如也

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

TA关注的人

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