首页 > TAG信息列表 > JetPack

Jetpack Compose学习(8)——State及remeber

原文地址: Jetpack Compose学习(8)——State状态及remeber关键字 - Stars-One的杂货小窝 之前我们使用TextField,使用到了两个关键字remember和mutableStateOf,这两个是做什么用的呢?本篇特来补充说明下 mutableStateOf 之前也说过,compose是MVVM模式的一种实现,UI界面依赖数据,

开发Jetpack Compose应用,解决Android Studio配置完Kotlin下载慢的问题

修改项目(而非模块)build.gradle文件,如下: buildscript { ext { compose_version = '1.1.1' kotlin_version = '1.6.21' } repositories { // 以下四行添加阿里云的仓库地址,方便国内开发者下载相关插件 maven { url 'https://maven.ali

Jetpack组件相关依赖

待更新 Lifecycle id 'kotlin-kapt' //自行定义坐标的版本 def lifecycle_version = "2.4.1" ViewModel // 自行定义坐标版本 implementation 'androidx.lifecycle:lifecycle-viewmodel:2.4.1'

Jetpack组件库(含Jetpack Compose)从入门到精通全家桶【附Demo】

前言 开发应用程序就像搭积木。我们对产品业务及功能模块的划分和封装,就像在搭建积木一样。积木不能太大,这不利于修改和拆解;积木也不能太小,否则管理起来可能会很混乱。只有基于稳健、合理的架构,项目才能轻松应对需求的变化,才有可能健康成长。 没有良好架构的应用程序,就像没有搭好

Compose能拯救安卓开发吗?Jetpack Compose入门到精通(附资料)含实战、附Demo!

Jetpack Compose 简述 Jetpack Compose是用于构建原生Android UI的现代工具包。 Jetpack Compose使用更少的代码,强大的工具和直观的Kotlin API,简化并加速了Android上的UI开发。这是Android Developers 官网对它的描述。 由于Compose基于Kotlin构建,因此可以与Java编程语言完全互操

Jetpack从入门到精通全家桶(含项目实战 附Demo)

前言 开发应用程序就像搭积木。我们对产品业务及功能模块的划分和封装,就像在搭建积木一样。积木不能太大,这不利于修改和拆解;积木也不能太小,否则管理起来可能会很混乱。只有基于稳健、合理的架构,项目才能轻松应对需求的变化,才有可能健康成长。 没有良好架构的应用程序,就像没有搭好

jetpack compose 滑动事件用法

package com.ice.compose.components import android.content.res.Resources import androidx.compose.foundation.background import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.layout.Box import androidx.compose.foundatio

Android Jetpack中Paging3 从网络和数据库加载页面

Android Jetpack中Paging3 从网络和数据库加载页面 从网络和数据库加载页面协调数据加载Paging 生命周期基本用法创建 Room 实体实现 RemoteMediator定义 initialize 方法创建 Pager处理竞态条件管理远程键项键 页面键添加远程键表使用远程键加载就地刷新 从网络和数据

Android Kotlin Jetpack Compose UI框架 完全解析,这些年我所经历的所有面试

下面是开启了 资源缩减 的最小化发布版 APK (使用了 R8) 通过 APK Analyzer 所测量的结果: 关于上述数字的说明: 1、使用了 APK Analyzer 报告的 “APK file size” (而不是下载时的大小)。 APK 大小分析 2、在使用了 Compose 后,我们发现 APK 大小缩减了 41%,方法数减少了 1

做个简单的Android列表字母索引控件

⚠️ 注意:本文撰写日期为 2016-08-02 相信大家在许多App中都见到过带字母索引的界面,比如我最近看到的这个开源控件: WaveSideBar 很酷是不是?!!!如果加在例如联系人列表界面上,大大提升了用户体验。 那么这个索引控件要怎么做呢,说到底就是自定义一个view,因为自身能力原因我并不能

Android Jetpack中DataBinding数据绑定布局和绑定表达式(三)

Android Jetpack中DataBinding数据绑定布局和绑定表达式(三) 布局和绑定表达式数据对象绑定数据表达式语言缺少的运算Null 合并运算符属性引用避免出现 Null 指针异常视图引用集合字符串字面量资源事件处理方法引用避免使用复杂的监听器导入、变量和包含导入类型别名导入其他

[译]Flutter文件选择器组件file_picker(四)问题解决方案

本文翻译自: Troubleshooting · miguelpruivo/flutter_file_picker Wiki · GitHub 版本: file_picker 4.3.3 Android

1.Jetpack系列之 ---- Navigation原理分析

1.Navigation是什么? 官方文档中的介绍 Navigation 是一个框架,用于在 Android 应用中的“目标”之间导航,该框架提供一致的 API,无论目标是作为 Fragment、Activity 还是其他组件实现。 那它其实就是一个对 Fragment / Activity 进行统一调度跳转的组件库, 2.Navigation怎么用?

抽丝剥茧 Jetpack | Lifecycle 到底解决了什么问题?

作者:路遥TM Lifecycle(生命周期) 在任何 GUI 编程中都是基石般的存在,Android 也不例外。 作为用户,在页面跳转,旋转屏幕,查看通知,切换应用等日常操作中,都期望获得流畅连贯的使用体验。在这背后,就需要我们开发者在生命周期组件的不同阶段中进行相应的逻辑处理。这里的生命周期组

Jetpack的ViewModel与LiveData总结

本文基于SDK 29 一、ViewModel与LiveData的作用: 1、viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据。   2、LiveData: 感知生命周期并且通知观察者刷新,防止内存泄漏。   一下用流程图的方式说明一下其是怎么工作的: 1、ViewModel的构造:    2、Live

Android 启动优化: JetPack App Startup 使用及源码浅析

6 return ExampleLogger(WorkManager.getInstance(context)) 7 } 8 9 override fun dependencies(): List<Class<out Initializer<*>>> { 10 // Defines a dependency on WorkManagerInitializer so it can be 11 // initialized after WorkManager is init

一文搞懂Android-JetPack组件原理之Lifecycle、LiveData、ViewModel与源码分析技巧

2. 手动postValue或setValue触发数据通知 接下来,便以这两个任务链的顺序,对每个方法进行分析。 observer()注册监听者 @MainThread public void observe(@NonNull LifecycleOwner owner, @NonNull Observer<? super T> observer) { assertMainThread(“observe”); if (owner.

Android Jetpack架构开发组件化应用实战,ndk开发教程

} } } return insets; } 复制代码 直接break了。所以我们也需要自定义一个view来重写dispatchApplyWindowInsets方法。具体也会在后续文章中进行讲解。 下面就简单介绍下各个Tab的技术要点。 首页 首页主要分为顶部Banner和底部的文章列表。列表使用Paging加载。 并且封装了A

《理解Dropout》分享,Jetpack-MVVM高频提问和解答

那么这里引出一个更重要的问题是,什么是过拟合? 什么是过拟合? 定义:过拟合就是训练出来的模型在训练集上表现很好,但是在测试集上表现较差的一种现象。 这里先普及下训练模型关于数据集的划分,一般情况我们都会将数据集划分为以下: 训练集(顾名思义,用来训练的) 验证集(训练过程中

Jetpack系列(九) — WorkManager,为什么说spring让Android变得更好

params: WorkerParameters ) : Worker(ctx, params) { override fun doWork(): Result { // 通知,记得加通道 makeStatusNotification(“Blurring image”, ctx) return try { val picture = BitmapFactory.decodeResource( ctx.resources, R.drawable.test ) val output = bl

「卷无人道」,手机app定制

34.如何优化自定义View 第四章 数据结构与算法面试题 1.常用的数据结构有哪些? 2.数组 (1).如何在一个1到100的整数数组中找到丢失的数字 (2).如何在给定的整数数组中找到重复的数字? (小米) (3).如何在未排序整数数组中找到最大值和最小值?(字节跳动) (4).在Java中如何从给定数组中删

Android架构组件JetPack之DataBinding玩转MVVM开发实战(四)

最后运行之后,结果如上图。我就不再发一遍了,有兴趣的朋友再拖回去看一遍,反正下面还有~~ 3 . 更多用法 简单的字符拼接 简单的三目运算 判断名字是否为空,不为空只显示user.name,否则显示donkor11: 相当于 这里需要注意的是当{}中使用了双引号“”,最外层要改成单引号” 根

抖音、美团、微信,kotlin教学

构:屋宇、供人居住的木、砖瓦构筑物。 简称:组件 整体结构和组件的组合就形成了架构。以 Android 架构为例子一个 APP 通常是有 class(类)组成,而这些 class 之间如何如何组合、相互之间如何发生作用,则是影响这个 APP 本身的关键点。细分的话可以分为类、接口(连接器)、任务流。所

Jetpack 之 LifeCycle 组件使用详解,【金三银四

二、LifeCycle 的使用 ============================================================================= Jetpack 为我们提供了两个接口: 被观察者:LifecycleOwner 观察者:LifecycleObserver 被监听的系统组件需要去实现 LifecycleOwner 接口,观察者需要实现 LifecycleObserver

Jetpack之LiveData分析,Android-MVP模式详解

见官方文档。 分析: LiveData本身是一个抽象类,在Jetpack组件中唯一的子类是MutableLiveData。公开了两个方法setValue和postValue。两个方法用来更新LiveData的值,前者只能在主线程中调用,后者可以在子线程中调用,通过Handler消息机制,通知到主线程更新。 在这分析这两个方法之前