自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我本地有自己的gmscore项目,我现在需要升级项目中的microg版本,旧版本的microg导致google账号登陆失败

结合你此前的使用背景和西安地区网络环境,‌最稳妥、最有效的解决方案是:在保留你本地项目结构的前提下,将 GmsCore 模块升级至官方最新稳定版 v0.3.13.250932,并同步更新其依赖签名与服务配置‌,而非盲目编译或替换文件。签名不匹配‌ 应用提示“无法验证 Google 账户”、“登录失败,请重试” 官方 APK 使用与 Google Play 服务一致的签名密钥,自编译版本默认使用调试签名,无法通过 Google 认证。必须‌逐模块比对并替换‌,避免引入不必要的权限或冲突服务。

2026-02-26 21:55:20 504

原创 安卓计时器CountDownTimer

CountDownTimer类比较简单,总共就一个构造和4个方法。内部是通过handler实现CountDownTimer(long time,long interval):参数time是总时间(毫秒),interval是间隔时间(毫秒)start():开始倒计时的方法cancel():取消倒计时的方法onTink(longtime):抽象方法,每个间隔时间一到就会调用一次,需要自己实现。参数time是指剩下的时间onFinish():抽象方法,倒计时完成的方法@Override。

2025-06-04 22:25:48 454

原创 Activity & Fragment 生命周期

Fragment 的生命周期与 Activity 的生命周期类似,但也有其独特之处。

2025-06-04 22:09:56 892

原创 安卓开发之Jeptpack 数据流 —— Flow、LiveData、StateFlow、MutableStateFlow、SharedFlow、MutableSharedFlow

MutableSharedFlow 是 SharedFlow 的可变版本,允许发出事件,MutableSharedFlow是一种可变的、用于创建共享流的类。它是热流(hot stream),可以在没有观察者时仍然发出数据,是一种可以向多个订阅者广播事件的流。观察者1从一开始就订阅,而观察者2在3秒后订阅,观察者2不会接收到观察者1在订阅之前已经接收的事件。它是一种状态流,专门用于表示状态的持久化和变化。它是 StateFlow 的一个接口,持有一个最新的状态值,并且对它的所有收听者都可以提供这个状态。

2025-06-04 22:07:17 1236

原创 安卓开发之ViewTreeObserver

OnGlobalLayoutListener 适用于需要在布局变化时执行操作的场景。OnPreDrawListener 适用于需要在即将进行绘制之前执行操作的场景。二者结合使用可以在不同的阶段对视图进行管理和调整。确保在不再使用时移除监听器,以避免内存泄漏和不必要的调用。

2025-06-04 22:03:10 542

原创 线程(Thread)、协程(Coroutines)

#线程与协程区别。

2025-06-04 21:55:15 2766

原创 安卓背景background之shape属性介绍

通过使用 Shape Drawable,您可以方便地创建具有各种样式的背景,增强应用的视觉效果。

2025-06-04 00:20:37 975

空空如也

空空如也

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

TA关注的人

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