登录社区云,与社区用户共同成长
邀请您加入社区
ViewModel - Activity 与 Fragment 通信 ViewModel 实现(ViewModel + 接口实现、ViewModel + LiveData 实现)
Android开发中,ConstraintLayout是一种强大且灵活的布局容器,它通过约束(Constraints)定位UI组件,减少嵌套层级,提升性能。本教程全面介绍了其用法: 核心优势 扁平化布局:减少嵌套,优化渲染性能。 灵活定位:支持相对定位、居中、比例、链式排列等。 可视化编辑:Android Studio提供拖拽式约束设计。 关键功能 基础约束:每个View需至少水平和垂直方向各一个
Java 网络编程(Socket) - 连接异常断开情况 - Server 断网(断网测试、流程解析、原理解析)
今天使用compose写好ui后,用WindowManager.addView(composeView, lp);。运行发现报错:java.lang.IllegalStateException: ViewTreeLifecycleOwner not found from androidx.compose.ui.platform.ComposeView在stackoverflow看到解决方法如下创建
Android 传感器系统是一套设计精良的硬件和软件集合,用于测量运动、屏幕方向和各种环境条件。这些传感器能够提供高精确度和高准确度的原始数据,旨在为移动设备提供丰富的环境感知能力。
摘要:Gson和Kotlinx.serialization是Android开发中常用的JSON处理库。Gson基于反射,生态成熟但性能一般,仅支持JSON且不原生支持Kotlin特性。Kotlinx.serialization由JetBrains开发,编译期生成序列化器,性能更优,支持多平台、Kotlin特性(如默认值、密封类)和多种数据格式。两者在动态JSON处理、构建JSON和配置上语法差异明
本文介绍了kotlin协程的实现思想,Continuation、CPS和suspend方法的实现,不只是kotlin协程,其他语言的协程的实现思想也是类似的,同时还介绍了kotlin提供的intrinsics方法,它是用于给用户操纵这些Continuation,最后通过intrinsics方法实现了一个简化版的kotlin协程,所以kotlin协程也没有那么神秘,它只是Continuation的应
不久之前,Google公开了Android 14的首个Developer Preview版本。按照Google正常的节奏,每年年初会发布两个Developer Preview版本,然后在每年中上旬发布两到三个Beta版本。之后会进入平台稳定期,将版本打磨精细,然后在秋季左右发布当年最新的Android系统版本。其实之前我倒是基本没太写过这种新系统特性一览的文章。去年因为公司安排的原因,我去学习了一
1.首先确定自己android SDK 有没有下载完全,是否网络中断后又重新下载,(这样会导致有些插件下载不完全) 2. 是自己的java jdk是否安装成功,cmd 有没有出现完整的版本信息,如果不出现,重新配置自己的jdk环境变量。建议用eclipse开发的Android SDK与eclipse不要太高(如果你是基础的学习SDk ---25版本左右的够用)eclipse的2018的版本完全够用
结合源码分析,代码执行流程大体如下Activity里面lifecycle事件的分发会根据API的不同其实现有差异,大于等于29是采用注册的回调的方式,低于29是使用无UI的ReportFragment来实现lifecycle事件的分发;宿主的每一个生命周期发生变化的时候会发送一个事件,根据事件推导宿主的状态,所有的观察者根据宿主的状态进行升级或降级以保持同步;
老套路,ViewModel英文直译:视图模型。官方原话:ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据。的确, 这话很官方, 用直白的话来讲: **视图(View)和数据(Data)的桥梁(MVVM亦或者MVC中都有的概念), 是将视图和数据分离开来, 降低UI与数据的耦合性, 即提高代码的可读性、可维护性。**在官方的介绍中,ViewModel可谓是掌控全局, 就因为它活得久
Jetpack并不是一个框架或者组件,它是一套库、工具和指南的集合。Jetpack Compose 则是一个用于构建原生Android UI 的现代化工具包,其基于声明式的编程模型,可以帮助你更简单地描述UI的外观。Jetpack可帮助开发者提高开发效率、消除样板代码、少崩溃和内存泄漏,更轻松地编写优质应用。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。既有适合小白学习的零基
小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新一
composable自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
本文是Jetpack组件专题的第一篇,Jetpack是Google官方在2018年推出的一套组件库,用来帮助开发者更轻松地编写优质应用。包含四大模块:Architecture(架构组件)、Foundation(基础组件)、Behavior(行为组件)、UI(界面组件)。工欲善其事,必先利其器。一起来学习先进的组件知识。DataBinding就是一个绑定数据和UI的框架,简化代码,同步刷新。
Android 开发 - 控件(ConstraintLayout、Guideline、SeekBar、Chronometer、RecyclerView、Toolbar)
Dao@Insert。
Android 人脸识别绘制人脸框
KMP(Kotlin Multiplatform)是新兴的跨平台开发方案,通过Kotlin语法实现非UI逻辑共享,Compose Multiplatform解决UI跨平台问题。相比RN、Flutter等方案,KMP直接编译为原生代码,避免了桥接性能损耗,支持渐进式改造,既保持原生体验又能提高开发效率。在当前APP追求质量体验的趋势下,KMP为开发速度和产品质量提供了平衡方案,特别适合混合项目改造。
测试依然使用.sh命令,将Test-reranking-all_tricks-tri_center-feat_after_bn-cos-market.sh。该测试结果采用的 --config_file='configs/softmax_triplet_with_center.yml'改为:param_dict = torch.load(trained_path).state_dict()该测试结果
本文是小编根据一位前辈封装的mvvm框架加入了自己的理解提炼的mvvm的base基类,单纯的为了方便,不需要再花时间手写base类,如有不足,欢迎大家留言,督促我改进代码。废话不多说,进入正文。application的build.gradlemodule的build.gradle别着急,还有行了,赶紧锤一下你的项目吧,锤完咱们继续实体类模板这是一个实体类的模板,ResponseMode中已经有da
{//存数据//取数据这应该没啥是好说的,就是使用了viewBinding,获取视图xml的控件id。下面就是正式来使用DataStore了,首先我们需要定义一个变量。//定义dataStore这里的变量就是dataStore,我们在定义的时候给了一个Study的名称,就像你使用SP时需要先给一个名字一样,然后才是键值的操作。在DataStore中操作数据会麻烦一些,Key需要我们去定义,例如我定
BottomNavigationView + fragment实现底部导航栏
参考:2021年最全面的Jetpack系统学习课程,看他就够了,更新中_哔哩哔哩_bilibili要求 上下各两个进度条。分别来自两个Fragment。当第一个的progress发生改变的时候。第二个progress同时跟着改变页面package com.anguomob.jecpack.activityimport androidx.appcompat.app.AppCompatActivity
最近项目中使用到了BottomNavigationView结合Navigation实现底部导航栏切换页面业务。NavigationUI.setupWithNavController(bottomNavigationView, navController);结果发现每次点击底部导航栏切换的时候都会重建Fragment,于是分析了源码,并研究了解决方案。源码分析setupWithNavControll
高版本navigation返回重复创建fragment
盘点 Fragment 被废弃的 API:onActivityCreated,startActivityForResult,setTargetFragment,setRetainInsInstance
通过 Jetpack Navigation 组件,你可以轻松实现 Fragment 之间、Activity 之间以及 Activity 与 Fragment 之间的跳转。在 Android 开发中,使用 Jetpack Navigation 组件可以方便地管理 Fragment 和 Activity 之间的导航。以下是如何使用 Jetpack Navigation 实现 Fragment 之间、A
最近项目中使用到了BottomNavigationView结合Navigation实现底部导航栏切换页面业务。结果发现每次点击底部导航栏切换的时候都会重建Fragment,于是分析了源码,并研究了解决方案。
作者:Jkwen2022DialogFragment 是一种弹窗实现方式,其本质是 Fragment。//它的类定义表明,它继承自Fragment,并且拥有Dialog的cancel和dismiss行为public class DialogFragment extends Fragmentimplements DialogInterface.OnCancelListener, DialogInte
首先承认这个系列有点标题党,Jetpack 的 MVVM 本身没有错,错在开发者的某些使用不当。本系列将分享那些 AAC 中常见的错误用法,以帮助大家打造更健康的应用架构Fragment 作为 LifecycleOwner 的问题MVVM 的核心是数据驱动UI,在 Jetpack 中,这一思想体现在以下场景:Fragment 通过订阅 ViewModel 中的 LiveData 以驱动自身 UI
google还是毁灭吧
mvvm
介绍Nibel:面向基于Fragment的应用的导航库,支持在依赖于Fragment的Android应用中无缝使用Jetpack Compose。我们构建Nibel时的目标是,为团队创建新功能时提供真正的Jetpack Compose体验,同时自动保持与代码库的兼容性。Nibel支持单模块和多模块导航,特别适用于在功能模块之间进行导航,这些功能模块之间不直接依赖于彼此。在本文中,您将了解如何在项目
记录在开发中遇到Navigation组件关于Fragment复用的问题
Android 项目问题:This version only understands SDK XML versions up to 3 but an SDK XML file of version 4
Android Gradle 插件兼容问题:Your project may be using a third-party plugin which is not compatible with...
随着kotlin代码跨平台方案的推出,kotlin跨平台一度引起不少波澜。但波澜终归没有掀起太大的风浪,作为一个敏捷型开发的公司,依然少不了Android和iOS的同步开发,实际成本和效益并没有太多变化。所以对于大多数公司来说依然风平浪静……时过境迁,如今kotlin已经支持Android、iOS、Web、PC的桌面UI开发了,并且iOS已经进入Beat的里程碑,kotlin即将迎来一统天下的时刻
Android Studio - Android Studio 查看项目的 Android SDK 版本(4 种方式)
书接上回,我们设计好了“故事生成”的deepseek接口,并且利用这个故事来生成漫画,并且返回到客户端。那我们的思路就是把 漫画生成的服务器接口部署暴露 ,将故事格式化时候传递到服务器接口 ,然后将以上步骤打包。接下来我们就面临一些小问题来完善这个故事界面完善的思路就很简单了:①把我们生成的故事的界面,太过冗杂,可以进行少了优化。比如选定单词的选举和故事界面的相对大小②数据和真实数据库的连接明确了
CameraX 是一个 Jetpack 库,旨在帮助简化相机应用程序的开发。
首先要注册相关账号,比如GitHub账号,Gitee账户,Jitpack账户掌握基本的git命令,以及属性groovy编译工具的语法正确配置gradle版本,gradle插件版本,Android studio 版本的对应关系总重要的一点就是要有足够的耐心,发现问题,分析问题,解决问题。
RenderEffect允许你向UI组件应用视觉效果。这些效果可以包括模糊、自定义着色器或者你能想象到的任何其他视觉转换。然而,RenderEffect仅适用于API 31及以上版本。在我们的示例中,我们将使用RenderEffect为我们的可扩展浮动按钮和一些额外组件创建模糊和着色器效果。
通过模仿activityViewModels源码,我们定义了两个扩展方法:AppCompatActivity.applicationViewModels和Fragment.applicationViewModels,实现了Application作用域的ViewModel,非常简单。但是这样做是不是对的?会不会带来其它问题比如内存泄露啥的?毕竟ViewModel 类旨在以注重生命周期的方式存储和管理
android jetpack
——android jetpack
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net