Jetpack

2024/4/11 19:15:00

Android Jetpack-LiveDataBus分析

文章目录Android Architecture ComponentsAndroid Architecture Components的特点LiveDataLiveData的优点LiveDataBus使用LiveData的理由为什么要用LiveDataBus替代EventBus和RxBusLiveDataBus的设计和架构LiveDataBus的组成LiveDataBus原理图LiveDataBus的实现第一个实现问题出…

Android DataBinding使用详解

文章目录1 基础入门2 单向数据绑定2.1 BaseObservable3 双向数据绑定4 事件绑定5 使用类方法8 BindingAdapter参考: https://developer.android.google.cn/topic/libraries/data-binding/start.html https://www.jianshu.com/p/bd9016418af2 DataBinding 是谷歌官…

ViewModelScope 简介与使用

简介 当在ViewModel中引入协程,如果直接使用CoroutineScope,那么需要在onCleared()方法中取消协程,如果忘记取消协程那么会导致出现内存泄漏等各种问题,此时需要使用ViewModel扩展属性viewModelScope来实现协程作用域。 viewMod…

Android Jetpack组件(一)LifeCycle

Android Jetpack组件系列文章: Android Jetpack组件(一)LifeCycle Android Jetpack组件(二)Navigation Android Jetpack组件(三)ViewModel Android Jetpack组件(四)LiveD…

Android Jetpack组件(四)LiveData

Android Jetpack组件系列文章: Android Jetpack组件(一)LifeCycle Android Jetpack组件(二)Navigation Android Jetpack组件(三)ViewModel Android Jetpack组件(四)LiveD…

Android Jetpack组件(二)Navigation

Android Jetpack组件系列文章: Android Jetpack组件(一)LifeCycle Android Jetpack组件(二)Navigation Android Jetpack组件(三)ViewModel Android Jetpack组件(四)LiveD…

Kotlin MVVM之Jetpack系列ViewModel、LiveData的简单使用

一、MVVM是什么? MVVM分为Model,View,ViewModel 三个部分 Model:数据层,包含数据实体和对数据实体的操作 View:UI层,对应于Activity,XML,负责数据显示以及用户交互。 ViewModel:…

Android Jetpack组件(七)Paging

Android Jetpack组件系列文章: Android Jetpack组件(一)LifeCycle Android Jetpack组件(二)Navigation Android Jetpack组件(三)ViewModel Android Jetpack组件(四)LiveD…

Android JetPack组件(六)DataBinding

Android Jetpack组件系列文章: Android Jetpack组件(一)LifeCycle Android Jetpack组件(二)Navigation Android Jetpack组件(三)ViewModel Android Jetpack组件(四)LiveD…

Android Jetpack-ViewModel

文章目录ViewModel 概览实现 ViewModelViewModel 的生命周期在 Fragment 之间共享数据将加载器替换为 ViewModel将协程与 ViewModel 一起使用更多信息参考:https://developer.android.google.cn/topic/libraries/architecture/viewmodel https://developer.android…

【Jetpack】Navigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )

文章目录 一、页面跳转间的传统的数据传递方式1、传统的数据传递方式 - Bundle 传递数据1、Navigation 组件中的 Bundle 数据传递2、传统数据传递实现步骤3、FragmentA 完整代码示例4、FragmentB 完整代码示例5、执行结果 2、使用 Bundle 传递数据安全性差 二、页面跳转间的传统…

Android Jetpack-Room数据库简单使用

文章目录1 添加依赖2 表的结构信息3 数据访问对象接口4 定义数据库5 使用6 查看结果7 生成的代码https://developer.android.google.cn/topic/libraries/architecture/roomhttps://developer.android.google.cn/training/data-storage/room/index.html https://developer.andr…

Jetpack -- DataStore

DataStore简介 Jetpack DataStore 是用来替代SharedPreferences的一种数据存储的解决方案,可以使用Kotlin协程和Flow异步,体现数据处理的一致性。注意: DataStrore适用于key-value型的数据存储,Room适用于大型或者复杂的数据存储…

Android Jetpack-Navigation改造使用

文章目录1 新建Navigation项目2 自定义注解处理器2.1 添加注解2.2 NavProcessor3 生成json文件4 解析json文件5 构建页面路由6 构建底部导航栏7 定制Fragment导航器Navigation的简单使用参参考:https://blog.csdn.net/hongxue8888/article/details/103672351 自定义…

Jetpack -- ViewModel使用与分析

简介 使用Android AAC组件构建自己的应用之后,为了不让自己停留在仅仅是使用的层面,所以从头开始总结一边AAC组件的使用以及注意的要点ViewModel旨在以注重生命周期的方式存储和管理界面相关的数据, ViewModel 类让数据可在发生屏幕旋转等配…

Jetpack -- WorkManager

简介 WorkManager适合处理一些定时执行的任务,它可以根据操作系统的版本自动选择底层是使用AlarmManager实现还是JobScheduler,降低我们的使用成本,同时他还支持周期性任务、链式任务处理等功能。WorkManager可以在应用退出或者手机重启的情…

Android Jetpack之CameraX使用

文章目录添加Gradle依赖权限配置CameraX拍照和录像保存和预览预览照片和录像参考:https://developer.android.google.cn/training/camerax https://codelabs.developers.google.com/codelabs/camerax-getting-started/#0 代码Github:https://github.com/345166018…

Jetpack探秘系列(一)----ViewModel

传统的开发模式中,大多数的处理逻辑和数据都是写在Activity和Fragment,导致两者代码臃肿,因此产生了诸如MVP,MVVM的架构,而ViewModel正是实现MVVM架构最重要的组件之一。 ViewModel最重要的作用就是存放Activity和Fra…

Android Jetpack 学习 | dataBinding中如何设置监听点击事件?

点击事件 onClick 准备监听方法 以MutableDemoVM类为例 public class MutableDemoVM {// ... public void onClickBack(View view) {// ...}public void onClickAdd(View view) {// ...} }里面的2个方法,onClickBack(View view)和onClickAdd(View view)用来设置点…

Android Jetpack-ViewModel源码分析

参考: https://www.jianshu.com/p/f8f728c6cc69 https://blog.csdn.net/ydxlt/article/details/99449584 ViewModelProviders.java NonNullMainThreadpublic static ViewModelProvider of(NonNull FragmentActivity activity,Nullable Factory factory) {Applicat…

Android Jetpack-Navigation简单使用

文章目录1导包2 navigation导航文件3 主页面4 三个Fragment5 遗留问题参考:https://developer.android.google.cn/guide/navigation/ https://developer.android.google.cn/guide/navigation/navigation-getting-started https://www.jianshu.com/p/0bb65607bdf8 …

Android Jetpack-Paging使用

参考: https://developer.android.google.cn/topic/libraries/architecture/paging/ 文章目录ConcertPagedListAdapterConcertDataSourceConcertFactoryConcertViewModelMainActivityConcert public class Concert {private String title;private String content;…

Android Jetpack-LiveData示例

示例1 public class NameViewModel extends ViewModel {// Create a LiveData with a Stringprivate MutableLiveData<String> currentName;public MutableLiveData<String> getCurrentName() {if (currentName null) {currentName new MutableLiveData<Stri…

Android Jetpack-LiveData

文章目录LiveData 概览使用 LiveData 的优势使用 LiveData 对象创建 LiveData 对象观察 LiveData 对象更新 LiveData 对象将 LiveData 与 Room 一起使用将协程与 LiveData 一起使用扩展 LiveData转换 LiveData创建新的转换合并多个 LiveData 源参考&#xff1a; https://develo…

Android Jetpack-LifeCycle

传统做法 使用对象感知Activity的生命周期 public interface ILifeCycle {void onStart();void onResume();void onPause();void onStop(); }public class MyLifeCycle implements ILifeCycle {Overridepublic void onStart() {//做一些事情}Overridepublic void onResume() …

Android Jetpack-Room缓存框架

文章目录新建lib_network添加依赖指定room.schemaLocation生成的文件路径表数据操作-Dao定义数据库缓存管理类CacheManager使用Room是Google为了简化旧式的SQLite操作专门提供的 1、拥有SQLite的所有操作功能2、使用简单&#xff08;类似于Retrofit库&#xff09;&#xff0c;…

Jetpack 之 WorkManager

WorkManager 引入 官方库 dependencies {def work_version "2.7.1"// (Java only)implementation "androidx.work:work-runtime:$work_version"// Kotlin coroutinesimplementation "androidx.work:work-runtime-ktx:$work_version"// option…

Jetpack 之 Lifecycle

Lifecycle简介 Lifecycle是一个生命周期感知组件&#xff0c;一般用来响应Activity、Fragment等组件的生命周期变化&#xff0c;并将变化通知到已注册的观察者。有助于更好地组织代码&#xff0c;让代码逻辑符合生命周期规范&#xff0c;减少内存泄漏&#xff0c;增强稳定性。…

Jetpack 之 ViewModel和LiveData

ViewModel引入见 Lifecycle官方库 LiveData引入见 Lifecycle官方库 Kotlin 扩展模块支持使用多个 AndroidX 依赖项。这些模块的名称后附加了后缀“-ktx”。例如&#xff1a; implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"会变为 …

Android Jetpack-LiveDataBus使用

文章目录LiveEventBus的特点常用消息总线对比在工程中引用配置使用方法以生命周期感知模式订阅消息以Forever模式订阅和取消订阅消息发送消息跨进程、跨APP发送消息Sticky模式混淆规则参考&#xff1a;https://github.com/JeremyLiao/LiveEventBusLiveEventBus是一款Android消息…

Jetpack:020-Jetpack导航示例:底部导航栏

文章目录 1. 概念介绍2. 使用方法3. 代码与分析3.1 示例代码3.2 代码分析 4. 内容总结 我们在上一章回中介绍了Jetpack中导航相关的内容&#xff0c;本章回中主要介绍 导航的综合示例&#xff1a;底部导航栏。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff0…

Jetpack:028-Jetpack中的Card

文章目录 1. 概念介绍2. 使用方法2.1 主要类型2.2 其它类型 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中Switch相关的内容&#xff0c;本章回中 主要介绍Card。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中介…

Jetpack:013-Jetpack底部导航栏

文章目录 1. 概念介绍2. 使用方法2.1 NavigationBar2.2 NavigationBarItem 3. 示例代码3.1 代码和注释3.2 代码难点3.3 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中弹出菜单相关的内容&#xff0c;本章回中将介绍 底部导航栏。闲话休提&#xff0c;让我们一起Talk …

【代码】JetpackComposeKotlin分享Bitmap图片

目录 1. 发送函数2. 配置fileProvider3. bitmap保存本地的函数4. 全局变量5. 封装的ButtonIcon函数 Android12在jetpack compose中使用Kotlin代码分享Bitmap图片。 1. 发送函数 Composable fun Share() {val context LocalContext.currentButtonIcon(icon Icons.Rounded.Sha…

Jetpack:014-Jetpack中的小红点

文章目录 1. 概念介绍2. 使用方法2.1 Badge2.2 BadgedBox 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack库中底部栏相关的内容&#xff0c;本章回中主要介绍 小红点。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中…

Jetpack:026-Jetpack中的Slider

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack多点触控相关的内容&#xff0c;本章回中 主要介绍Slider。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回…

Jetpack:018-Jetpack中的导航一

文章目录 1. 概念介绍2. 使用方法2.1 基本概念2.2 传统用法2.3 新的用法 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack库中对话框相关的内容&#xff0c;本章回中主要介绍 导航。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我…

Android kotlin 系列讲解(进阶篇)Jetpack系列之LiveData

<<返回总目录 文章目录 一、LiveData是什么二、LiveData测试一、LiveData是什么 LiveData是Jetpack提供的一种响应式编程组件,它可以包括任何类型的数据,并在数据发生变化的时候通知给观察者。LiveData特别适合与ViewModel结合在一起使用,虽然它也可以单独在别的地方…

Android开发:Jetpack Compose编程知识全汇总 (含详细实例讲解)

一、简述 ​ Jetpack Compose是Google I/O 2019 发布的Andorid UI框架&#xff0c;它不同于Andorid常见的Xml命令式Coding的UI开发范式&#xff0c;而是基于Kotlin的DSL实现了一套类似React的声明式UI框架。Jetpack Compose目前仍然处于Alpha版本目标是2020年能够发布稳定的Be…

Android开发:Jetpack Compose Button,IconButton等各种Button的讲解

前言 本文会讲解Button&#xff0c;IconButton, ExtendedFloatingActionButton, FloatingActionButton,IconToggleButton,OutlinedButton,RadioButton,TextButton这几个Button的用法详解&#xff0c;感兴趣的请往下看 一&#xff1a;Button的用法 先来看看Button的源码(Outl…

Jetpack -- App StartUp

定义 App StartUp是Google Jetpack新增的一个组件&#xff0c;该组件在App启动时提供了一个直接、高效的方式来初始化组件&#xff0c;同时开发者可以使用App Startup这个组件来简化启动顺序并且显示地设置初始化顺序&#xff0c;通过App Startup这个组件提供了一个ContentPro…

视频播放 (一) VideoView的使用

1. 配置参数 1.1 AndroidManifest.xml 文件添加网络权限 <uses-permission android:name"android.permission.INTERNET" /> 1.2 http 明文请求设置 android:usesCleartextTraffic"true" 1.3 activity 配置屏幕变化&#xff0c;不重新加载 Activity …

Android--Jetpack--Paging详解

不尝世间醋与墨&#xff0c;怎知人间酸与苦。 择一业谋食养命&#xff0c;等一运扭转乾坤。 你见过哪些令你膛目结舌的代码技巧&#xff1f; 文章目录 不尝世间醋与墨&#xff0c;怎知人间酸与苦。择一业谋食养命&#xff0c;等一运扭转乾坤。你见过哪些令你膛目结舌的代码技…

Android Hilt依赖注入框架

Hilt 是一个基于 Dagger2 的依赖注入框架&#xff0c;它提供了一些简便的注入方式来简化开发者在 Android 应用中使用 Dagger2 的复杂性。Hilt 旨在简化 Android 应用程序中的依赖注入实现&#xff0c;使开发人员能够更轻松地管理依赖项和应用程序的组件。 Hilt 的主要目标是提…

Compose中的一些机制验证与总结——remember

最近在搞一个基于 Compose 实现的低代码跨平台项目&#xff0c;涉及到一些 Compose 运行时的一些机制问题&#xff0c;周末写了个 demo 验证总结一下&#xff0c;总体是与过往经验相符的&#xff0c;也发现了一些小的细节是以前不太清楚的&#xff0c;可以一起学习研究一下&…

Room的基本使用

参考&#xff1a;jetpack之Room数据库 目录 引言一、基本使用1. 导入相关引用2. 建表Entity3. 数据库操作类Dao4. 数据库RoomDatabase5. 简单使用 二、ViewModel LiveData Room 的结合开发1. 建表Entity2. 数据库操作类Dao3. 数据库RoomDatabase4. 仓库Repository5. ViewMode…

Jetpack之Lifecycle应用与源码分析

Build lifecycle-aware components that can adjust behavior based on the current lifecycle state of an activity or fragment. 上面是源于官网的定义&#xff0c;简单翻译就是说Lifecycle的作用就是基于当前的Activity或者Fragment的生命周期当前状态构建可感知生命周期的…

JetPack系列:001-JetPack概要介绍

文章目录 1. 概念介绍2. 主要内容2.1 框架库2.2 UI界面库 3. 核心思想4. 内容总结 本章回是一起Talk AndroidJetpack吧专栏的第一章回&#xff0c;本章回中主要介绍JetPack的基本概念和编程思想&#xff0c;同时也会介绍它的基础知识。闲话休提&#xff0c;请我们一起Talk Andr…

Jetpack:010-Jetpack中的进度条

文章目录 1. 概念介绍2. 使用方法2.1 圆形进度条2.2 长条形进度条 3. 示例代码4. 内容总结 我们在上一章回中介绍了Kotlin中的lambda、匿名函数和闭包&#xff0c;本章回中主要介绍 进度条。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 进…

Jetpack:007-Kotlin中的Button

文章目录 1. 概念介绍2. 使用方法2.1 Button2.2 IconButton2.3 ElevatedButton2.4 OutlinedButton2.5 TextButton2.6 FloatingActionButton 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中输入框相关的内容&#xff0c;本章回中将要介绍 Button。闲话休提&#xff0…

Jetpack:023-Jetpack中的事件二

文章目录 1. 知识回顾2. 使用方法2.1 单击事件2.2 双击事件2.3 长按事件2.4 滑动事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了 Jetpack中事件相关的内容&#xff0c;本章回中继续介绍这方面的内容。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01;…

Jetpack:021-Jetpack中的滑动列表

文章目录 1. 概念介绍2. 使用方法2.1 函数参数2.2 列表成员 3. 示例代码4. 内容扩展5. 内容总结 我们在上一章回中介绍了Jetpack中底部导航栏相关的内容&#xff0c;本章回中主要介绍 滑动列表。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍…

Jetpack:005-文本组件的扩展

文章目录 1. 概念介绍2. 使用方法2.1 可以选择的文本2.2 可以点击的文本2.3 多种形式的文本 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中文本组件的使用方法&#xff0c;本章回中主要介绍 文本组件的扩展。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧…

Android Jetpack组件(八)WorkManager

Android Jetpack组件系列文章&#xff1a; Android Jetpack组件&#xff08;一&#xff09;LifeCycle Android Jetpack组件&#xff08;二&#xff09;Navigation Android Jetpack组件&#xff08;三&#xff09;ViewModel Android Jetpack组件&#xff08;四&#xff09;LiveD…

Android Jetpack组件(三)ViewModel

Android Jetpack组件系列文章&#xff1a; Android Jetpack组件&#xff08;一&#xff09;LifeCycle Android Jetpack组件&#xff08;二&#xff09;Navigation Android Jetpack组件&#xff08;三&#xff09;ViewModel Android Jetpack组件&#xff08;四&#xff09;LiveD…

Jetpack Compose中的列表控件LazyRow和LazyColumn详解

背景 如果你需要显示大量的条目&#xff08;或一个未知长度的列表&#xff09;&#xff0c;使用像 Column 这样的布局会导致性能问题&#xff0c;因为所有的条目都会被组合和布局&#xff0c;无论它们是否可见。那么&#xff0c;在Compose中有没有像RecycleView的控件可以滑动…

Jetpack之livedata原理

1.LiveData是什么&#xff1f; 只有在生命周期处于started和resumed时。livedata才会更新观察者 2.Livedata的各种使用方式 1.更新数据 class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceSta…

Jetpack Compose中的附带效应简介及使用

前言 附带效应是指LaunchedEffect、DisposableEffect、rememberCoroutineScope、rememberUpdatedState、produceState 、derivedStateOf的使用。附带效应这4个字在google官方文档上的表达与解释挺让人难以理解的。其实个人认为准确的描述应该是外部产生的数据向Compose状态作用…

Android Jetpack组件(五)Room

Android Jetpack组件系列文章&#xff1a; Android Jetpack组件&#xff08;一&#xff09;LifeCycle Android Jetpack组件&#xff08;二&#xff09;Navigation Android Jetpack组件&#xff08;三&#xff09;ViewModel Android Jetpack组件&#xff08;四&#xff09;LiveD…

Jetpack -- Navigation

简介 NavHost: 是一个存放页面的容器&#xff0c;同时也是一个控制器(Activity /Fragment)NavController&#xff1a;切换页面&#xff0c;需要定制切换路线NavGraph&#xff1a;利用图形化的方式定制切换路线 Navigation组件配合ViewModel实现数据共享 1.首先创建一个Activ…

Android Jetpack(一) 介绍

Jetpack 是一套库、工具和指南&#xff0c;可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务&#xff0c;以便您将精力集中放在所需的代码上。 Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着&…

Android Jetpack(二) 基础

1、Android KTX - 编写更简洁、惯用的 Kotlin 代码 KTX 拥有的一些 扩展程序列表 dependencies { //androidx.activity implementation "androidx.activity:activity-ktx:1.1.0" //androidx.benchmark implementation "androidx.benchmark:benchmark-junit4:1…

Retrofit+Jetpack(LiveData,Lifecycles,ViewModel,Room)+koin构建Android 官方的推荐架构指南MVVM架构

基本架构&#xff1a;Android 官方的推荐架构指南https://developer.android.google.cn/jetpack/guide#recommended-app-arch 请注意&#xff0c;每个组件仅依赖于其下一级的组件。 例如&#xff0c;Activity 和 Fragment 仅依赖于视图模型。存储区是唯一依赖于其他多个类的类&…

【Android Jetpack 全家桶全面学习】 Fragment 之间共享数据

Activity 中的两个或更多 Fragment 需要相互通信是一种很常见的情况。 想象一下主从 Fragment 的常见情况&#xff0c;假设有一个 Fragment&#xff0c;在该 Fragment 中&#xff0c;用户从列表中选择一项&#xff0c;还有另一个 Fragment&#xff0c;用于显示选定项的内容。 …

Jetpack:015-Jetpack的是脚手架

文章目录 1. 概念介绍2. 使用方法2.1 核心思想2.2 具体内容 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中小红点相关的内容&#xff0c;本章回中将介绍 脚手架。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回中介…

Android如何成功进阶,全面总结最新Android中高级面试知识点

前言 随着Android技术发展的成熟&#xff0c;Kotlin、大前端技术Flutter、RN、小程序等一下子就进入了我们的视野内&#xff0c;同时&#xff0c;Android自身的技术栈也正在不断扩展&#xff0c;比如大热的Jetpack。 因此&#xff0c;Android开发者们越来越焦虑&#xff0c;越…

最新Android开源框架总结:热修复、插件化、图片加载、Android架构组件Jetpack....

对于开发者来说&#xff0c;框架并不陌生&#xff0c;在工作中普遍都会用到各种开源框架&#xff0c;框架的使用可以让我们用少量的代码实现所需要的复杂功能&#xff0c;提高了工作效率。 那么&#xff0c;在大家同样都会使用框架的前提下如何拉开与其它开发者的距离&#xf…

Android Jetpack 知识点强化实战(实现登录页面、APP主框架、网络数据请求、Kotlin Flow项目实战....)

JetPack 是什么&#xff1f; 2018年⾕歌 I/O 发布了⼀系列辅助 Android 开发者的实⽤⼯具&#xff0c;合称 Jetpack。以帮助开发者构建出⾊的 Android 应⽤。 Jetpack 是⼀套库、⼯具和指南&#xff0c;可帮助开发者更轻松地编写优质应⽤。这些组件可帮助你遵循最佳做法、让你摆…

Jetpack揭秘系列(二)----Lifecycle

有时候有些逻辑需要在对应的生命周期中处理&#xff0c;比如app打开后界面的绘制就需要在onCreate中执行&#xff08;为啥不在onResume中&#xff1f;app在整个生命周期中只会执行一次onCreate&#xff09;setContentView&#xff0c;对于其他的一些逻辑操作可以写在对应的生命…

【开源】100% Kotlin 的 Android Jetpack mvvm 项目!

这是我在掘金上面看见的一个还不错的100% Kotlin 的开源项目&#xff0c;分享给大家&#xff0c;希望对大家的学习工作有所启发和帮助~ 原文地址&#xff1a;https://juejin.cn/post/6966851893536489502 项目地址&#xff1a; github.com/haikun-li/J… (由于项目引入了jetpac…

ViewModel源码分析

ViewModel创建 ViewModelProvider(this).get(CustomModel::class.java)点进源码查看ViewModelProvider实现 // 实际上调用的方法是ViewModelProvider(activity.getViewModelStore, factory) public ViewModelProvider(NonNull ViewModelStoreOwner owner) {// 对传入的参数进…

Kotlin 协程的基本概念及用法

协程是什么&#xff1f; 协程是一种编程思想&#xff0c;并不局限于特定的语言。除 Kotlin 以外&#xff0c;其他的一些语言&#xff0c;如 Go、Python 等都可以在语言层面上实现协程。 Kotlin Coroutine 本质上是 Kotlin 官方提供的一套线程封装 API&#xff0c;其设计初衷是…

Jetpack业务架构—四件套(Lifecycle、ViewModel、LiveData、DataBinding)

Jetpack 是一个由多个库组成的套件&#xff0c;可帮助开发者遵循最佳做法、减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码&#xff0c;让开发者可将精力集中于真正重要的编码工作。 Android Jetpack组件的优势&#xff1a; Jetpack推出的主要目的是为了能够…

【Jetpack】Room 中的销毁重建策略 ( 创建临时数据库表 | 拷贝数据库表数据 | 删除旧表 | 临时数据库表重命名 )

文章目录 一、销毁 和 重建策略二、销毁 和 重建策略 核心要点1、创建 Migration 迁移类 - 重点2、配置 Migration 迁移类3、修改数据库版本号4、修改实体类数据类型 三、完整代码示例1、数据库版本 3 代码示例RoomDatabase 数据库类完整代码Student 实体类完整代码执行结果 2、…

【Jetpack】使用 Room Migration 升级数据库并导出 Schema 文件 ( Schema 文件简介 | 生成 Schema 文件配置 | 生成 Schema 文件过程 )

文章目录 一、Schema 文件简介二、生成 Schema 文件配置三、生成 Schema 文件过程1、数据库版本 1 - 首次运行应用2、数据库版本 1 升级至 数据库版本 2 - 第二次运行应用3、数据库版本 2 升级至 数据库版本 3 - 第三次运行应用 一、Schema 文件简介 使用 Room Migration 升级数…

详解Jetpack Compose的标准布局

前言 Compose是一个声明式UI系统&#xff0c;其中&#xff0c;我们用一组函数来声明UI&#xff0c;并且一个Compose函数可以嵌套另一个Compose函数&#xff0c;并以树的结构来构造所需要的UI。 在Compose中&#xff0c;我们称该树为UI 图&#xff0c;当UI需要改变的时候会刷新…

Android Jetpack之LiveData源码分析

LiveData 是一种可观察的数据存储器类。与常规的可观察类不同&#xff0c;LiveData 具有生命周期感知能力&#xff0c;意指它遵循其他应用组件&#xff08;如 activity、fragment 或 service&#xff09;的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的…

【Jetpack】Jetpack 简介 ( 官方架构设计标准 | Jetpack 组成套件 | Jetpack架构 | Jetpack 的存在意义 | AndroidX 与 Jetpack 的关系 )

文章目录一、Google 官方推出的架构设计标准 Jetpack二、Jetpack 组成套件三、Jetpack 架构四、Jetpack 的存在意义1、提高开发效率2、最佳架构方案3、消除样本代码4、设备系统兼容性5、改善应用性能6、测试支持五、AndroidX 与 Jetpack 的关系一、Google 官方推出的架构设计标…

Jetpack之livedata原理分析

1.LiveData是什么&#xff1f; 只有在生命周期处于started和resumed时。livedata才会更新观察者 2.Livedata的各种使用方式 1.更新数据 class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceSta…

Jetpack:007-各种各样的Button

文章目录 1. 概念介绍2. 使用方法2.1 Button2.2 IconButton2.3 ElevatedButton2.4 OutlinedButton2.5 TextButton2.6 FloatingActionButton 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中输入框相关的内容&#xff0c;本章回中将要介绍 Button。闲话休提&#xff0…

Jetpack:012-Jetpack中的弹出菜单

文章目录 1. 概念介绍2. 使用方法2.1 DropdownMenu2.2 DropdownMenuItem 3. 示例代码3.1 代码和注释3.2 代码难点3.3 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中标题栏相关的内容&#xff0c;本章回中主要 弹出菜单。闲话休提&#xff0c;让我们一起Talk Android …

【Hilt】更新Hilt版本后找不到ApplicationComponent

问题&#xff1a; 在使用Hilt单例的时候&#xff0c;我们一般需要在Module上添加注解InstallIn(ApplicationComponent::class),例如&#xff1a; InstallIn(ApplicationComponent::class) Module class HttpModule {SingletonProvidesfun provideHttpObject() HttpObject()}…

Jetpack:025-Jetpack中的多点触控事件

文章目录 1. 概念介绍2. 使用方法2.1 缩放事件2.2 旋转事件2.3 平移事件2.4 综合事件 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中滚动事件相关的内容&#xff0c;本章回中主要介绍 多点解控事件。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xf…

jetpack5.0.2 已经安装了 cudnn 和 tensorrt

在平台 jetson Xavier NX 中想使用 cudnn 和 tensorrt。然后自己下载了相应包并解压&#xff0c;拷贝&#xff0c;编译 安装 cudnn 1.下载对应包文件&#xff0c;例如&#xff1a;cudnn-linux-sbsa-8.4.1.50_cuda11.6-archive.tar.xz 2.解压&#xff0c;移动到解压目录&#…

详解Jetpack Compose中的Modifier修饰符

前言 本文将会介绍Jetpack Compose中的Modifier。在谷歌官方文档中它的描述是这么一句话&#xff1a;Modifier元素是一个有序、不可变的集合&#xff0c;它可以往Jetpack Compose UI元素中添加修饰或者各种行为。例如&#xff0c;背景、填充和单击事件监听器装饰或添加行为到文…

Jetpack:019-Jetpack的导航二(传递数据)

文章目录 1. 知识回顾2. 使用方法2.1 通过参数传递数据2.2 获取参数中的数据2.3 共享导航控制器 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中导航相关的内容&#xff0c;本章回中 继续介绍导航相关的内容。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧…

【Jetpack】Navigation 导航组件 ⑤ ( NavigationUI 类使用 )

文章目录 一、NavigationUI 类简介二、NavigationUI 类使用流程1、创建 Fragment2、创建 NavigationGraph3、Activity 导入 NavHostFragment4、创建菜单5、Activity 界面开发 NavigationUI 的主要逻辑 ( 重点 )a、添加 Fragment 布局b、处理 Navigation 导航逻辑 ( 重点 )c、启…

Jetpack:004-如何使用文本组件

文章目录 1. 概念介绍2. 使用方法2.1 通用参数2.2 专用参数 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack组件在布局中的对齐方式&#xff0c;本章回中主要介绍文 本组件的使用方法。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧 1. 概念介绍 我们在本章…

【Jetpack】DataBinding 架构组件 ⑤ ( 数据模型与视图双向绑定 | BaseObservable 实现双向绑定 | ObservableField 实现双向绑定 )

文章目录 一、数据模型 Model 与视图 View 双向绑定1、数据模型 Model 与视图 View 的单向绑定2、由单向绑定引出双向绑定 二、BaseObservable 实现数据模型 Model 与视图 View 双向绑定1、启用 DataBinding2、导入 kotlin-kapt 插件3、数据模型类4、BaseObservable 实现双向绑…

Android Jetpack的组件介绍,常见组件解析

jetpack组件有哪些 Android Jetpack是一个集成Android应用程序组件的一站式解决方案。它使开发人员能够专注于他们的应用程序的真正创新部分&#xff0c;而不会受到Android平台特定的限制。Jetpack组件可分为四个类别&#xff1a; 架构组件&#xff08;Architecture Componen…

移动架构45_ViewModel管理页面数据

Android移动架构汇总​​​​​​​ 文章目录1 什么是ViewModel2 ViewModel生命周期3 ViewModel实现数据共享4 原理1 什么是ViewModel ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类可在发生屏幕旋转等配置更改后让数据继续留存。 //Activity或…

Jetpack:002-页面与布局

文章目录 1. 概念介绍2. 使用方法2.1 页面2.2 布局 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack相关的概念和主要内容&#xff0c;本章回中主要介绍 页面和布局。闲话休提&#xff0c;请我们一起Talk Android Jetpack吧 1. 概念介绍 我们在本章回中介绍的页面是指…

jetson xavier nx 系统及相关环境配置(cuda,torchvision,torch,tensorflow,opencv)

一、装载系统 首先下载系统镜像 到这里下载https://developer.nvidia.com/embedded/downloads&#xff0c;选择自己需要的jetpack版本。我当时安装的时候查的资料都说jetpack和后面安装的pytorch以及tensorflow要对应&#xff0c;但是当时我没有注意安装的并不是对应的版本&a…

Android Jetpack从入门到精通(深度好文,值得收藏)

前言 即学即用Android Jetpack系列Blog的目的是通过学习Android Jetpack完成一个简单的Demo&#xff0c;本文是即学即用Android Jetpack系列Blog的第一篇。 记得去年第一次参加谷歌开发者大会的时候&#xff0c;就被Navigation的图形导航界面给迷住了&#xff0c;一句卧槽就代…

Kotlin JetPack Room 简单使用

Room的使用很简单&#xff0c;主要是一堆注解&#xff0c;以及理解下协程。 1.实体类 Entity(tableName "cipher") data class Cipher(ColumnInfo(name "name", defaultValue "user")var userName: String,ColumnInfovar password: String, …

Android Jetpack(三) 架构

1、数据绑定 - 以声明方式将可观察数据绑定到界面元素 数据绑定库是一种支持库&#xff0c;借助该库&#xff0c;您可以使用声明性格式&#xff08;而非程序化地&#xff09;将布局中的界面组件绑定到应用中的数据源。 一般调用 findViewById() 来查找 TextView 并将其绑定到…

Android Jetpack(五) 界面

1、动画和过渡 略 2、表情符号 - 在旧版平台上启用最新的表情符号字体 EmojiCompat 支持库旨在让 Android 设备及时兼容最新的表情符号。它可防止您的应用以 ☐ 的形式显示缺少的表情符号字符&#xff0c;该符号表示您的设备没有用于显示文字的相应字体。通过使用 EmojiComp…

Android Jetpack(四) 行为

1、CameraX - 轻松地向应用中添加相机功能 CameraX 是一个 Jetpack 支持库&#xff0c;旨在帮助您简化相机应用的开发工作。它提供一致且易于使用的 API 界面&#xff0c;适用于大多数 Android 设备&#xff0c;并可向后兼容至 Android 5.0&#xff08;API 级别 21&#xff09…

JetPack基本组件一:Lifecycle

LifeCycle 前言 Hello大家好&#xff0c;这里是BlueLzy。本文是JetPack全家桶系列文章的第一篇。作为一名Android开发者&#xff0c;在2021年必备的技能之一就是熟练使用Google为我们提供的开发组件&#xff0c;这一套组件的名字就是&#xff1a;JetPack。里面包括了许多不同…

Jetpack:027-Jetpack中的Switch

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 我们在上一章回中介绍了Jetpack中Slider相关的内容&#xff0c;本章回中 主要介绍Switch。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回…

jetpack之Navigation

概述 当前Android开发中使用Fragment来开发页面已经成为主流做法。Fragment轻量、可控性强等优点让人感觉很香。但是Fragment也有自己的硬伤&#xff0c;那就是回退栈与页面参数传递。 核心功能 处理 Fragment 事务默认情况下&#xff0c;正确处理往返操作。为动画和转换提供…

安卓现代化开发系列——从生命周期到Lifecycle

由于安卓已经诞生快二十载&#xff0c;其最初的开发思想与现代的开发思想已经大相径庭&#xff0c;特别是Jetpack库诞生之后&#xff0c;项目中存在着新老思想混杂的情况&#xff0c;让许多的新手老手都措手不及&#xff0c;项目大步向屎山迈进。为了解决这个问题&#xff0c;开…

Jetpack:011-Jetpack中标题栏

文章目录 1. 概念介绍2. 使用方法2.1 标题与导航2.2 详情菜单 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack中进度条相关的内容&#xff0c;本章回中主要介绍 标题栏。闲话休提&#xff0c;让我们一起Talk Android Jetpack吧&#xff01; 1. 概念介绍 我们在本章回…

Jetpack简介

官方文档读起来 2017年&#xff0c;Google 推出了一个官方的架构组件库 Architecture Components&#xff0c;旨在帮助开发者编写出更加符合高质量代码规范、更具有架构设计的应用程序。2018年&#xff0c;Google 又推出了一个全新的开发组件工具集 Jetpack&#xff0c;并将 A…

Android Jetpack Compose总结

简介 Jetpack Compose 是用于构建native UI的新方式&#xff0c;写法跟Flutter非常相似&#xff0c;对Flutter有了解的同学可以很快上手。 官网&#xff1a;https://developer.android.com/jetpack/compose 官方demo &#xff1a;https://github.com/android/compose-samples …

Compose 为什么可以跨平台?

这是我在 2022 Kotlin 中文开发者大会 中带来的一个分享&#xff0c;会后有网友反馈希望将 PPT 内容整理成文字方便阅读&#xff0c;所以就有了本篇文章。大家如果要了解本次大会更多精彩内容&#xff0c;也可以去 JetBrains 官方视频号查看大会的直播回放。 前言 Compose 不止…

Android 进阶 | 十四例 JetPack 知识点实战系列,千万不要错过!

目录一&#xff0c;初识 ConstraintLayout 之实现登录页面ConstraintLayout项目实战二、Navigation 实践之实现 APP 主框架以及 Navigation 的相关介绍Navigation项目实战三、使用 Coroutines&#xff0c; Retrofit&#xff0c;模式实现网络数据请求Coroutines&#xff08;协程…

Jetson Support Package architecture

Jetson Support Package architecture JetPack中安装的package包括操作系统镜像&#xff0c;库和API&#xff0c;开发人员工具&#xff0c;示例和文档。JetPack 4.2主要新功能包括LTS Kernel 4.9支持&#xff0c;新的Jetson.GPIO Python库&#xff0c;TRT Python API支持以及GS…

Jetpack Compose中使用MD样式组件Scaffold及导航底部菜单的实现

Compose给我们提供了一个Material Design样式的首页组件(Scaffold),我们可以直接套用从而完成一个APP的首页界面 由于Scaffold中还包含有其他的组件,所以讲解Scaffold先讲解前置的一些组件 TopAppBar 首先,便是TopAppBar,其本质就是我们Android原生常见的Toolbar,不过其封装的…