Android
Android
mozhimen
生活是夹在笔记中的尘埃 欢迎[商务合作]
github地址: https://github.com/mozhimen
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Android】androidx.datastore.core.CorruptionException: Unable to parse preferences proto.
虽然没有直接使用Proto DataStore,但Preferences DataStore实际上在后台使用Protocol buffer进行序列化,这解释了为什么会出现protobuf相关的错误。你可以为每个DataStore创建一个单独的DataStoreManager实例,并重用安全的读/写方法。该问题可能是由于首选项文件中的数据损坏而发生的,这可能是由于写入操作期间进程终止、设备存储问题、系统升级或低内存条件而发生的。使用DataStore的第三方库也可能导致这个问题。原创 2025-02-14 13:46:23 · 475 阅读 · 0 评论 -
【Android】使用Intent打开下载目录
【代码】【Android】使用Intent打开下载目录。原创 2025-02-05 14:14:18 · 277 阅读 · 0 评论 -
【Android】EpoxyModels 报 an annotation argument must be a compile-time constant
Android 应用程序的功能模块内部使用 EpoxyModel 时,无法编译。......上面的代码抱怨 layout = R.layout.layout_foo line 造成 “an annotation argument must be a compile-time constant”。那么如何解?原创 2025-01-03 10:24:56 · 374 阅读 · 0 评论 -
【Android】Agconnect - API ‘android.registerTransform‘ is removed
迁移到 gradle 8.x 后,我无法构建应用程序,因为最新的华为 AppGallery 依赖项仍然不兼容 gradle 8。那么除了恢复到 gradle 7 之外还有其他解决方案吗?原创 2025-01-02 10:09:50 · 994 阅读 · 0 评论 -
【Android】如何在BroadcastReceiver上运行协程函数
然后在您的接收器中,您可以像下面这样使用它。块中的代码是一个协程。请记住,您不应在此协程中使用,它必须在 10 秒内完成。原创 2025-01-02 10:04:50 · 225 阅读 · 0 评论 -
【Android】CameraX 三个拍照模式的区别
CAPTURE_MODE_MINIMIZE_LATENCY(最小化延迟模式):主要目标是减少从相机捕捉图像到显示画面之间的延迟。适用于实时视频传输、游戏或需要即时反应的场景。这种模式可能会牺牲一些图像质量,尤其是在低光条件下或高分辨率情况下。CAPTURE_MODE_MAXIMIZE_QUALITY(最大化质量模式):优先考虑图像质量,可能会增加延迟或降低帧率。适用于需要高质量图像的场景,如摄影、视频制作等。在此模式下,相机会使用更高的分辨率、更高的动态范围和更精细的色彩处理。原创 2024-12-03 00:36:17 · 632 阅读 · 0 评论 -
【Android】弹出Dialog时隐藏状态栏和底部导航栏
弹出Dialog时隐藏状态栏和底部导航栏。原创 2024-11-13 17:50:54 · 348 阅读 · 0 评论 -
【Android】ZipException: Invalid zip entry path: /xxxx 错误
对于以 Android 14 为目标平台的应用,Android 通过以下方式阻止 Zip 路径遍历漏洞:如果 zip 文件条目名称包含“…”或以“/”开头,则 ZipFile(String) 和 ZipInputStream.getNextEntry() 会引发 ZipException。应用可以通过调用 dalvik.system.ZipPathValidator.clearCallback() 来选择退出此验证。此外,您还可以监听相关的回调。原创 2024-11-04 10:12:29 · 511 阅读 · 0 评论 -
【Android】Room 如何判断操作结果
在这些操作完成后,我们希望能够得知操作是否成功,以便进行后续的逻辑处理。在上述代码中,我们通过调用insert、update和delete方法来进行数据库操作,并根据返回的结果来判断操作是否成功。通过这种方式,我们可以方便地获取数据库操作的结果,并根据需要进行相应的处理。根据Room的规范,这些方法会返回受影响的行数,我们可以根据这些返回值来判断操作是否成功。为了判断数据库操作是否成功,我们可以在Room的DAO层中使用返回类型为int的方法,并在方法中返回受影响的行数。原创 2024-10-25 17:37:19 · 459 阅读 · 0 评论 -
【Android】IllegalArgumentException: parameter must be a descendant of this view Error
根据上面的代码片段, 用于防止获得焦点,以便 or 可以请求焦点。当我尝试使用 Intent 或 finish() 返回此视图时,会发生此错误;当我使用 Back Button 时,偶尔也会出现问题。他定义在查找 a 以获得焦点时 与其后代之间的关系。必须是以下常量值之一。原创 2024-10-16 22:30:06 · 484 阅读 · 0 评论 -
【Android】Room 添加新表的迁移策略
有一个疑问新增room Entity时是否要升级数据库版本并写迁移策略, 答案是肯定的, 当room新增通过更新数据库版本以及创建相应的迁移策略来添加新表。以开源库CacheKRM为例, 展现如何升级的过程。原创 2024-10-10 12:03:47 · 696 阅读 · 0 评论 -
【Android】How to use @Parcelize
或者使用 Legacy 的gradle配置。原创 2024-10-06 15:26:14 · 540 阅读 · 0 评论 -
【Android】Room cannot verify the data integrity
同样,如果以前的数据库模式不在线上,则既不需要增加数据库版本,也不需要回退到破坏性迁移。如果不增加数据库(推荐):应该从Android设置中清除应用程序的应用程序数据。如果确实增加了数据库版本:将需要编写数据库迁移代码来解释数据库模式的任何更改。如果的应用程序是在线的,可能需要增加数据库版本并提供适当的迁移。因为清除应用程序数据总是有效的,所以我每次都采用这种方法。当第一次遇到此消息时,很可能正在使用未发布的数据库版本。如果是这种情况,很可能不应该增加数据库版本。简单地清除应用数据将移动你通过异常。原创 2024-10-06 14:38:56 · 402 阅读 · 0 评论 -
【Android】No virtual method setContent(Lkotlin/jvm/functions/Function0;)V in class Landroidx/compose/
【代码】【Android】No virtual method setContent(Lkotlin/jvm/functions/Function0;原创 2024-09-13 22:31:06 · 282 阅读 · 0 评论 -
【Android】Compose屏幕适配
需要使用可组合项 BoxWithConstraints 组件。原创 2024-09-13 22:05:54 · 339 阅读 · 0 评论 -
【Android】TextView的多空格设置
使用\u3000避免多空格被优化问题,同样适用于xml。原创 2024-09-06 14:18:00 · 246 阅读 · 0 评论 -
【CoderSay】智启万象 谷歌开发者之声 - 相遇2024GoogleConnect
透过 Home API,开发者只需一次整合,即可轻松连接超过 6 亿台设备,并能运用 Google 的 hub 和 Matter 架构,以及 Google 的自动化引擎,这些功能都能在 Android 和 iOS 平台上使用。开发者现在能通过 WebView 和 Custom Tab 实现应用内 Web,打造高质量的跨平台内容,优化用户访问和消费内容的体验,并简化多设备上内容的构建与分发。应用能够通过系统级的动画支持,更自然地响应用户的返回手势,展示出更加自然和无缝的交互效果。原创 2024-08-14 23:05:27 · 1034 阅读 · 0 评论 -
【Android】DefaultActivityViewModelFactory not found
移除hilt-lifecycle-viewmodel的依赖会错误消失,因为在较新的手柄版本中不再需要它。只需从应用级别构建中删除这一行即可。原创 2024-07-30 00:06:40 · 341 阅读 · 0 评论 -
【Android】如何判断并让dialog 显示在最上层
遇到这样一个场景, 一个申请通知权限的弹框显示了, 这时候更新的弹框开始弹了, 点击更新需要申请安装权限并弹框, 但是点击了没反应, 奇怪?这是因为申请安装权限和申请通知权限的弹框共用一个Dialog, 他已经显示了, 只不过在更新弹框的下面?那这时候问题来了, 如何判断弹框是否显示在最上面呢?原创 2024-07-29 10:00:14 · 715 阅读 · 0 评论 -
【Android】Consider setting an identifier on the parameter by using @Assisted(“identifier“)
对相同的类型指定identifier。原创 2024-07-10 18:15:11 · 226 阅读 · 0 评论 -
【Android】一行代码实现文本轮播时的两端虚化效果
【代码】【Android】一行代码实现文本轮播时的两端虚化效果。原创 2024-07-03 11:37:12 · 340 阅读 · 0 评论 -
【Android】defaultConfig contains custom BuildConfig fields, but the feature is disabled.
【代码】【Android】defaultConfig contains custom BuildConfig fields, but the feature is disabled.原创 2024-07-03 11:00:53 · 532 阅读 · 0 评论 -
【Android 】java.lang.IllegalStateException no event down from INITIALIZED
是否调用了handleLifecycleEvent方法, 判断其值是不是INITIALIZED, 也可以safe set一下, 例如。原创 2024-07-01 17:06:49 · 542 阅读 · 0 评论 -
【Android】Jetpack强强联合Startup+Hilt
使用Jetpack startup可以很方便的解耦app 冷启动的一些第三方库的初始化操作, 提升我们app的启动速度, 那么如何将他和hilt结合起来使用呢?如您所见,它依赖于DependencyGraphInitializer, 因此它将在它之后创建。3.最重要的是:用新的注释标记它 @HiltAndroidApp。1.创建一个扩展 的类。2.将其添加到您的(在标签中的参数下)这不是强制性的,但可以使事情井井有条。原创 2024-06-17 22:52:40 · 371 阅读 · 0 评论 -
【Android】关于webview点击输入框无法弹出软键盘问题
解决方案: 设置activity的。解决方案: 设置它的。原创 2024-05-29 10:07:10 · 1582 阅读 · 0 评论 -
【Android】 记一次由NavigationButton引起的内存泄漏
一般投屏到pc, 鼠标操作hover在一个view上的时候, 会post show他的tooltiptext, 而这个是通过handler实现的, 刚好这个view是销毁activity的所在事件的view上, 这时候销毁activity, 就泄漏了。场景是我封装的一个toolbar的类, 通过lifecycle感知activity的生命周期, 但是点击navigationIcon的回退的时候, 报这个错, 点系统back则没有。bingo, 又解决了一个bug。我们看看源码是不是这样。原创 2024-05-28 14:20:52 · 432 阅读 · 0 评论 -
【Android】Work Manager: “Could not instantiate Worker“
2.解决点2: 是否用了hilt,是的话, Application要继承自Configuration.Provider,并重写。3.解决点3: 是否在Worker类中,dependecies中初始化了WorkManagerIniter。4.解决点4: 降版本并参考我的这篇博客重新配置。1.解决点1: 没有加provider。原创 2024-05-28 11:28:37 · 403 阅读 · 0 评论 -
【Android】workManager和hilt高效构建你的应用
在快节奏的移动应用开发世界中,有效地管理后台任务是创建健壮且响应迅速的应用程序的关键方面。无论是定期数据同步、通知还是资源密集型操作,Android开发人员经常发现自己在努力应对后台任务执行的复杂性。这就是Android提供的强大而灵活的库WorkManager的用武之地。那么如何将WorkManager与Hilt(一种流行的依赖注入框架)无缝集成呢?原创 2024-05-28 11:20:43 · 1598 阅读 · 0 评论 -
【Android】hilt如何创建包含无需注入参数的ViewModel
日常使用中, 我们都会选择dagger2或hilt这样的依赖注入工具, 简化我们的开发流程, 实现参数的自动注入, 而hilt作为google官方推出的工具, 进一步简化了dagger的使用, 再加上viewmodel的使用, 我们便会遇到自动注入参数, 和自己手动传值参数的混合传参。混合参数的时候不需要加@HiltViewModel。不需要注入的参数加@Assisted。使用activity-ktx。原创 2024-05-27 23:13:06 · 1362 阅读 · 0 评论 -
【Android】hilt如何提供上下文为Activity的实例
使用@ActivityContext。以MyModule为例。原创 2024-05-27 22:41:48 · 303 阅读 · 0 评论 -
【Android】Html.fromHtml 文本含\n不换行问题
【代码】【Android】Html.fromHtml 文本含\n不换行问题。原创 2024-04-10 09:55:26 · 758 阅读 · 0 评论 -
【Android】Unable to find optional library: org.apache.http.legacy
【代码】【Android】Unable to find optional library: org.apache.http.legacy。原创 2024-04-10 09:47:24 · 558 阅读 · 0 评论 -
【Android】The specified child already has a parent. You must call removeView() on the child‘s parent
【代码】【Android】The specified child already has a parent. You must call removeView() on the child‘s parent。原创 2024-03-17 14:01:35 · 737 阅读 · 0 评论 -
【Android】Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM
【代码】【Android】Cannot inline bytecode built with JVM target 11 into bytecode that is being built with JVM。原创 2024-03-17 13:34:53 · 648 阅读 · 0 评论 -
【aidl】aidl couldn‘t find import for class
修改 app 的 build.gradle ,在 android{} 闭包里添加。原创 2024-03-17 13:23:26 · 754 阅读 · 0 评论 -
【Android】Caused by: java.lang.IllegalArgumentException: this and base files have different roots:
最近Android项目多模块编译的时候遇到这个问题, 检索了好久才发现解决方案。将所有的项目模块移动到一个磁盘下。原创 2024-03-17 13:17:07 · 1267 阅读 · 0 评论 -
【Android】task (current target is 17) jvm target compatibility should be set to the same Java version
有时第三方sdk是用jdk17编译的, 这时候我们用jdk8编译的话, 就会报这个错。设置一下app级别的build.gradle。原创 2024-03-17 13:01:08 · 1858 阅读 · 0 评论 -
【Android】Backend Internal error: Exception during IR
这里的kotlinCompilerExtensionVersion。moudle中的build.grade中添加。原创 2024-03-17 12:54:53 · 2047 阅读 · 1 评论 -
【Android】Android设备VPN切换节点,解决OkHttp请求Delayed的思路
有时候,我们设备在连vpn的时候, 切换梯子, 但是由于retrofit内部维持长连接的机制, 我们的网络请求发生超时的情况, 已经我们APP出海禁用国内IP的情况, 导致, 需要重启APP, 才能恢复正常的接口访问, 针对这种情况, 我们该怎么解决呢?原创 2024-02-22 21:41:56 · 879 阅读 · 0 评论 -
【Android】在文字介绍场景下如何显示html文本
<small>天气不错</small>原创 2024-02-22 20:54:37 · 672 阅读 · 0 评论
分享