![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android Jetpack
文章平均质量分 74
Jetpack应用指南学习笔记
淡淡的香烟
坚持是一件不容易的事情,开发是一条任重而道远的路
展开
-
AndroidAGP8.1.0和JDK 17迁移之旅
随着 Android Studio Flamingo 正式版的发布,AGP 8(Android Gradle Plugin 8)也正式进入咱们的视野,这次 AGP 8 相关更新归于「断代式」更新,同时假如想体验 AGP 8,就需求晋级到 Android Studio Flamingo 版别,而晋级到 Flamingo 的话,默许自带的Java版别就会变成 JDK 17所以,这便是你需求适配 AGP8 的首要原因之一。升级jdk版本到JDK17和AGP版本到8.1.0。原创 2023-08-20 16:27:45 · 1000 阅读 · 0 评论 -
Android中简单封装Livedata工具类
之前讲解过livedata和viewmodel的简单使用,也封装过room工具类,本文是对livedata的简单封装和使用,先是封装了一个简单的工具类,然后实现了一个倒计时工具类的封装.原创 2023-08-07 00:13:52 · 591 阅读 · 0 评论 -
小伙快把你的Android从Groovy迁移到DSL
Kotlin 脚本 (KTS) 比 Groovy 更适合用于编写 Gradle 脚本,因为采用 Kotlin 编写的代码可读性更高,并且 Kotlin 提供了更好的编译时检查和 IDE 支持。Android Gradle 插件 4.0 支持在 Gradle build 配置中使用 KTS。在讨论从 Groovy 迁移时,术语“KTS”和“Kotlin DSL”可以互换使用。换句话说,“将 Android 项目从 Groovy 转换为 KTS”与“将 Android 项目从 Groovy 转换为 Kotlin原创 2023-05-07 21:04:09 · 539 阅读 · 1 评论 -
JetpackCompose从入门到实战学习笔记14——Coli的简单使用
Coil 是一个 Android官方出的配合Jetpack的图片加载库,通过 Kotlin 协程的方式加载图片。原创 2023-04-25 22:43:23 · 1791 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记13——Compose中实现简单瀑布流
LazyGrid包含两种控件:LazyVerticalStaggeredGrid和LazyHorizontalStaggeredGrid。两者内部均由LazyLayout实现(包括LazyColumn和LazyRow也是由LazyLayout实现的)。原创 2023-04-08 22:24:40 · 842 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记12—在Compose中简单使用动画
Jetpack Compose 提供了一些功能强大且可扩展的 API,可用于在应用界面中轻松实现各种动画效果。本文档将介绍如何使用这些 API,以及根据您的动画场景应使用哪种 API。原创 2023-04-05 18:31:48 · 749 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记11——在compose中使用DropdownMenu
下拉列表菜单,菜单具有一个,它是生成菜单的元素。例如一个图标,点击该图标可以触发菜单。DropdownMenu的内容可以是DropdownMenuItems,也可以是自定义内容。原创 2023-04-01 23:35:44 · 669 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记10——Lottie在compose中的简单使用
Lottie动画现在已经是很多应用中必备的动画,而Jetpack-Compose也是谷歌推出的代码式编写UI的新框架,一旦它们遇到一起了,又会产生怎样的碰撞呢?又会产生怎样的火花呢?原创 2023-03-27 12:10:38 · 354 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记9—Scaffold脚手架的简单使用
JetpackCompose从入门到实战学习笔记9—Scaffold的简单使用。原创 2023-03-01 18:58:43 · 540 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用
Compose 中的 ConstraintLayout是一种布局,让您可以相对于屏幕上的其他可组合项来放置可组合项。它是一种实用的替代方案,可代替使用多个已嵌套的RowColumnBox和这种做法。在实现对齐要求比较复杂的较大布局时,很有用。在以下情况下,考虑使用ColumnRow在 View 系统中,建议使用来创建复杂的大型布局,因为扁平视图层次结构比嵌套视图的效果更好。不过,这在 Compose 中不是什么问题,因为 Compose 能够高效地处理较深的布局层次结构。原创 2023-02-11 22:04:42 · 1023 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记7—Dialog的简单使用
AlertDialog组件是Dialog组件的更高级别的封装,同时遵循着Material Design 设计标准。它已经帮我们定位好了标题、内容文本、按钮组的位置。原创 2023-02-09 11:40:49 · 931 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记6——手势的简单使用
Compose 提供了多种 API,可帮助您检测用户互动生成的手势。原创 2023-01-02 23:54:54 · 464 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记5——TextFixed的简单使用
JetpackCompose从入门到实战学习笔记5——TextFixed的简单使用。原创 2023-01-01 00:00:08 · 357 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记4——Image的简单使用
您可以使用Image可组合项(和)中的属性来自定义图片。您还可以使用现有的 Modifiers来将不同的效果应用到Image。修饰符可用于,而不仅仅是Image可组合项,而和是Image可组合项上的显式参数。原创 2022-12-31 00:00:24 · 285 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记3——Text的简单使用
JetpackCompose从入门到实战学习笔记3——Text的简单使用原创 2022-11-28 21:26:14 · 744 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记2——Modifier的简单使用
Modifier的简单使用原创 2022-11-27 23:03:08 · 536 阅读 · 0 评论 -
JetpackCompose从入门到实战学习笔记1—在compose中简单使用webview
在compose中简单使用webview原创 2022-11-19 23:09:46 · 758 阅读 · 0 评论 -
AndroidJetpack应用指南学习笔记13--Paging的简单使用
Paging 的出现,就是用作列表的分页加载。其实现在已经有非常多成熟高效的开源列表加载控件了原创 2022-09-20 00:21:05 · 1340 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记12--DataBinding的简单使用
Android Jetpack DataBinding的简单使用原创 2022-09-17 23:52:03 · 959 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记11使用safe args方式安全传递参数
Android Jetpack应用指南学习笔记11使用safe args方式安全传递参数原创 2022-08-21 23:01:12 · 1411 阅读 · 0 评论 -
Android CameraX适配Android11的踩坑之路
11月份Google发通知应用必须适配到30,要不然提交到google play的app不能发布更新,用户就只能使用旧版本。1.我们来看看Google的通知说明:自 2021 年 11 月 1 日起,针对 Google Play 上的应用和游戏的更新必须以 Android 11(API 级别 30)或更高版本为目标运行环境。此日期过后,您将无法上传targetSdkVersion低于 30 的新 app bundle 和 APK。请注意,Wear OS应用不受关于 API 级别 ....原创 2021-12-29 23:31:06 · 4108 阅读 · 1 评论 -
Android中StateFlow的简单使用
最近在学习StateFlow,感觉很神奇,于是记录了一下.1.简介:StateFlow是一个状态容器式可观察数据流,可以向其收集器发出当前状态更新和新状态更新。还可通过其value属性读取当前状态值。如需更新状态并将其发送到数据流,请为MutableStateFlow类的value属性分配一个新值。2.使用:@ExperimentalCoroutinesApiclass MainViewModel :ViewModel(){ private val _loginUi...原创 2021-12-25 23:07:22 · 3713 阅读 · 2 评论 -
Android中Hilt的简单使用
Android中Hilt的简单使用plugins {id ‘com.android.application’id ‘kotlin-android’id ‘kotlin-kapt’id ‘dagger.hilt.android.plugin’}//Dagger - Hiltimplementation “com.google.dagger:hilt-android:2.30”kapt原创 2021-08-26 01:08:34 · 5801 阅读 · 2 评论 -
Jetpack Compose实现简单聊天列表
JetPackCompose实现简单聊天列表原创 2021-08-13 01:10:50 · 1276 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记10NavigationUi的简单使用
Fragment的切换,除了Fragment页面本身的切换,通常还伴有App bar的变化。为了方便统一管理,Navigation组件引入了NavigationUI类。1.配置环境:(根据官网的文档)要在您的项目中添加 Navigation 支持,请向应用的build.gradle文件添加以下依赖项:dependencies { def nav_version = "2.3.0" // Java language implementation implementation "...原创 2020-09-23 01:04:08 · 2362 阅读 · 2 评论 -
Android Jetpack应用指南学习笔记7之LiveData+ViewModel实现Fragment之间的通信
在AndroidJetpack应用指南学习笔记5中LiveData与ViewModel可以结合使用,ViewModel能够将数据从Activity中剥离出来。只要Activity不被销毁,ViewModel会一直存在,并且独立于Activity的配置变化,即旋转屏幕导致的Activity重建,不会影响到ViewModel。Fragment可以看作是Activity的子页面,即,一个Activity中可以包含多个Fragment,这些Fragment彼此独立,但是又都属于同一个Activity。基于这原创 2020-09-05 23:26:43 · 2023 阅读 · 3 评论 -
Android Jetpack应用指南学习笔记6之Navigation(一)基本使用
一.在Android中单个Activity嵌套多个Fragment的UI架构方式,已被大多数Android工程师所接受和采用。但是,对Fragment的管理一直是一个比较麻烦的事情,工程师需要通过FragmentManager和FragmentTransaction来管理Fragment之间的切换。这其中还包括了对应用程序的App bar的管理,Fragment间的切换动画,Fragment间的参数传递,总之,使用起来不是特别友好。为此,Android Jetpack提供的一个名为Navigatio..原创 2020-09-05 18:28:46 · 526 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记5Room与LiveData+ViewModel的结合使用
1.Android JetPack学习笔记4中介绍了《Room的基本使用》。每次数据库中的数据发生变化后,我们都需要开启一个工作线程去获取数据库中的内容。这让我们觉得不方便,我们希望数据在发生变化时,我们能自动收到通知,这就是LiveData。2. LiveData通常结合ViewModel一起使用。我们知道ViewModel是用来存放数据的,因此我们可以将数据库放在ViewModel中进行实例化。但数据库在实例化的时候需要Context,而ViewModel不能传入任何带有Context引用的对象,.原创 2020-09-01 00:36:50 · 487 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记4之Room的简单使用
1.Android采用Sqlite作为数据库存储。Sqlite代码写起来繁琐且容易出错,所以开源社区里逐渐出现了各种ORM(Object Relational Mapping)库。这些开源ORM库都是为了方便Sqlite的使用,包括数据库的创建,升级,增删改查等。常见的ORM有ORMLite,GreenDAO等。Google也意识到了推出自家ORM的必要性,于是有了Room。2.Room 包含 3 个主要组件: 数据库:包含数据库持有者,并作为应用已保留的持久关系型数据的底层连接的主要接入点。使.原创 2020-08-28 23:29:07 · 2426 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记3之LiveData的简单使用
1.简介:LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。如果观察者(由 Observer 类表示)的生命周期处于 STARTED 或 RESUMED 状态,则 LiveData 会认为该观察者处于活跃状态。LiveData 只会将更新通知给活跃的观察者。为观.原创 2020-08-25 23:02:52 · 330 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记2之ViewModel的使用
1.在页面(Activity/Fragment)很简单的情况下,通常我们会将UI交互,数据获取与处理等相关业务逻辑,全部写在页面中,但是在页面复杂的情况下,这样做是不合适的,它不符合“单一责任”原则。页面只应该负责接收用户的交互,以及将数据展示到屏幕上,相关数据应该单独存放和处理。为此,Android为我们提供了ViewModel类,专门用于存放应用程序页面所需的数据。它将页面所需的数据从页面中剥离出来,页面只需要处理用户交互,以及负责展示数据的工作。ViewModel是一个抽象类,其中只有一个方法原创 2020-08-24 22:31:23 · 578 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记1之Lifecycle的简单使用
AndroidJetPack应用指南学习笔记1——LifeCycle的简单使用1.LifeCycle的引入:在App的build.gradle目录下添加如下依赖:implementation “androidx.lifecycle:lifecycle-extensions:2.2.0”2.创建Service服务继承LifecycleService,因为LifecycleService是Service子类,和Service使用上没什么区别创建服务的观察者:原创 2020-08-23 20:58:19 · 1642 阅读 · 0 评论 -
Android Jetpack应用指南学习笔记9Room数据库的升级
1.添加room依赖:implementation "androidx.room:room-runtime:2.2.5"annotationProcessor "androidx.room:room-compiler:2.2.5"2.指定数据库导出路径:javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schem原创 2020-09-08 00:15:58 · 1149 阅读 · 0 评论 -
Android Jetpack应指南学习笔记8Navigation(二)使用safe args传递参数
在android中,未使用safe args之前,通常我们Fragment之间传递参数是这样的:1.传递参数//未采用safe args的传递方式Bundle bundle = new Bundle();bundle.putString("user_name", "Michael");bundle.putInt("age", 30);Navigation.findNavController(v).navigate(R.id.action_mainFragment_to_secondFragm原创 2020-09-06 19:06:06 · 1684 阅读 · 0 评论