常用依赖简单汇总

简介: 常用依赖简单汇总

重要


maven仓库快照仓库地址

maven {
    url('https://s01.oss.sonatype.org/content/repositories/snapshots/')
}
复制代码


compose基础库依赖

implementation 'io.github.ananananzhuo-blog:composelib:1.0.19'
复制代码

==

implementation 'io.github.ananananzhuo-blog:composelib:1.0.20-SNAPSHOT'
复制代码


mvvm基础库依赖

implementation 'io.github.ananananzhuo-blog:mvvmlib:1.0.8'
复制代码

==

implementation 'io.github.ananananzhuo-blog:mvvmlib:1.0.16-SNAPSHOT'
复制代码


kotlin扩展库

implementation 'io.github.anhorseg:androidexthorse:1.0.1'
复制代码


汇总一些常用依赖


androidx 对 viewmodel 的扩展程序

androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0
复制代码


androidx 对 lifecycle 的扩展程序

implementation('androidx.lifecycle:lifecycle-runtime-ktx:2.2.0')
复制代码


androidx 对 livedata 的扩展程序

androidx.lifecycle:lifecycle-livedata-ktx:2.2.0
复制代码


Core KTX

implementation "androidx.core:core-ktx:1.3.1"
复制代码


Collection KTX

implementation "androidx.collection:collection-ktx:1.1.0"
复制代码


Navigation KTX

implementation "androidx.navigation:navigation-runtime-ktx:2.3.0"
    implementation "androidx.navigation:navigation-fragment-ktx:2.3.0"
    implementation "androidx.navigation:navigation-ui-ktx:2.3.0"
复制代码


Room KTX

implementation "androidx.room:room-ktx:2.2.5"
复制代码


SQLite KTX

implementation "androidx.sqlite:sqlite-ktx:2.1.0"
复制代码


WorkManager KTX

implementation "androidx.work:work-runtime-ktx:2.4.0"
复制代码


SavedStateHandle 的使用

android {
        dataBinding.enabled = true
        ...
        }
        dependencies {
        implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0'
}
复制代码


Room 持久性库的使用

dependencies {
      def room_version = "2.2.5"
      implementation "androidx.room:room-runtime:$room_version"
      annotationProcessor "androidx.room:room-compiler:$room_version" // For Kotlin use kapt instead of annotationProcessor
      // optional - Kotlin Extensions and Coroutines support for Room
      implementation "androidx.room:room-ktx:$room_version"
      // optional - RxJava support for Room
      implementation "androidx.room:room-rxjava2:$room_version"
      // optional - Guava support for Room, including Optional and ListenableFuture
      implementation "androidx.room:room-guava:$room_version"
      // Test helpers
      testImplementation "androidx.room:room-testing:$room_version"
    }
复制代码


添加 Navigation 支持

dependencies {
  def nav_version = "2.3.0"
  // Java language implementation
  implementation "androidx.navigation:navigation-fragment:$nav_version"
  implementation "androidx.navigation:navigation-ui:$nav_version"
  // Kotlin
  implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
  implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
  // Feature module Support
  implementation "androidx.navigation:navigation-dynamic-features-fragment:$nav_version"
  // Testing Navigation
  androidTestImplementation "androidx.navigation:navigation-testing:$nav_version"
}
复制代码


Paging 组件

dependencies {
      def paging_version = "2.1.2"
      implementation "androidx.paging:paging-runtime:$paging_version" // For Kotlin use paging-runtime-ktx
      // alternatively - without Android dependencies for testing
      testImplementation "androidx.paging:paging-common:$paging_version" // For Kotlin use paging-common-ktx
      // optional - RxJava support
      implementation "androidx.paging:paging-rxjava2:$paging_version" // For Kotlin use paging-rxjava2-ktx
    }
复制代码


协程依赖插件

implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2"
复制代码


RecyclerView 的依赖项

implementation "androidx.recyclerview:recyclerview:1.1.0"
        // For control over item selection of both touch and mouse driven selection
        implementation "androidx.recyclerview:recyclerview-selection:1.1.0-rc01"
复制代码


Compose导航依赖


2.4.0-alpha02版本

implementation("androidx.navigation:navigation-compose:2.4.0-alpha02")
复制代码


2.4.0-alpha03版本

implementation("androidx.navigation:navigation-compose:2.4.0-alpha03")
复制代码

该版本对应的gradle依赖如下:

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21"
复制代码


Activity fragment扩展库,可以使用LifecycleScope,这两个库最好一起使用

implementation 'androidx.activity:activity-ktx:1.3.0'
    implementation 'androidx.fragment:fragment-ktx:1.3.0'
复制代码


Compose使用Paging3

implementation "androidx.paging:paging-runtime:3.0.0-beta02"
implementation "androidx.paging:paging-compose:1.0.0-alpha08"
复制代码


Compose中SwipeRefresh的使用

implementation ("com.google.accompanist:accompanist-swiperefresh:0.18.0")
复制代码


compose中的Banner库

implementation "com.google.accompanist:accompanist-pager:0.16.1"
复制代码

需要添加阿里云仓库

maven {
    allowInsecureProtocol = true
    url "http://maven.aliyun.com/nexus/content/groups/public"
}
复制代码

使用参考:juejin.cn/post/700623…


okhttp和retrofit

implementation "com.squareup.retrofit2:retrofit:2.4.0"
implementation "com.squareup.retrofit2:converter-gson:2.4.0"
implementation "com.squareup.okhttp3:okhttp:3.10.0"
implementation "com.squareup.okhttp3:logging-interceptor:3.10.0"
复制代码


compose状态栏和底部导航栏颜色处理依赖库

implementation "com.google.accompanist:accompanist-insets:0.16.0"
implementation "com.google.accompanist:accompanist-systemuicontroller:0.16.0"
复制代码


业务性很强的依赖


官方的ImageView形状处理ShapeImageView

参考文章:juejin.cn/post/697164…

implementation 'com.google.android.material:material:1.2.1'
复制代码


郭霖的权限依赖

比较干净的一个库

dependencies {    implementation 'com.permissionx.guolindev:permissionx:1.4.0'}
复制代码

使用方法参考:blog.csdn.net/guolin_blog…


zxing扫码库

需要引入的代码量极少,拿来可以直接用。有自定义需求可以将CaptureActivity拿出来自己修改

implementation('com.github.shenyuanqing.zxing:zxing-simplify:1.0.5')
复制代码

使用参考:blog.csdn.net/shenyuanqin…


compose中ViewModel扩展库的使用

一般我们的项目到会导入导航库,会自动带上这个库,如果写demo不引入导航库,就需要手动导入这个库来使用ViewMOdel的扩展功能

implementation("androidx.navigation:navigation-compose:2.4.0-alpha02")



相关文章
|
8月前
|
人工智能 自然语言处理 监控
大语言模型的解码策略与关键优化总结
本文系统性地阐述了大型语言模型(LLMs)中的解码策略技术原理及其应用。通过深入分析贪婪解码、束搜索、采样技术等核心方法,以及温度参数、惩罚机制等优化手段,为研究者和工程师提供了全面的技术参考。文章详细探讨了不同解码算法的工作机制、性能特征和优化方法,强调了解码策略在生成高质量、连贯且多样化文本中的关键作用。实例展示了各类解码策略的应用效果,帮助读者理解其优缺点及适用场景。
828 20
大语言模型的解码策略与关键优化总结
|
11月前
「Mac畅玩鸿蒙与硬件15」鸿蒙UI组件篇5 - Slider和Progress组件
Slider 和 Progress 是鸿蒙系统中的常用 UI 组件。Slider 控制数值输入,如音量调节;Progress 显示任务的完成状态,如下载进度。本文通过代码示例展示如何使用这些组件,并涵盖 进度条类型介绍、节流优化、状态同步 和 定时器动态更新。
293 7
「Mac畅玩鸿蒙与硬件15」鸿蒙UI组件篇5 - Slider和Progress组件
|
API Android开发 容器
33. 【Android教程】悬浮窗:PopupWindow
33. 【Android教程】悬浮窗:PopupWindow
2000 2
|
10月前
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
2201 2
|
监控 JavaScript 前端开发
深入理解与实践:利用监听事件优化应用程序响应性
【7月更文挑战第3天】事件监听是软件开发中的关键,基于“发布-订阅”模式,用于响应用户操作、系统变化等。常见于UI交互、异步编程、系统事件和游戏开发。JavaScript示例展示了如何监听按钮点击:添加事件监听器到元素,定义处理函数。进阶技巧包括事件委托、冒泡与捕获、节流和防抖,用于优化性能和用户体验。理解并运用事件监听能提升应用质量。
496 2
|
缓存 Android开发 Kotlin
【Android】Jetpack Compose 环境配置
【Android】Jetpack Compose 环境配置
402 0
|
机器学习/深度学习 分布式计算 数据处理
在Python中应用Spark框架
在Python中应用Spark框架
245 1
|
Android开发
Android 数据传递的几种方式,HttpLoggingInterceptor消息拦截器
Android 数据传递的几种方式,HttpLoggingInterceptor消息拦截器
|
Android开发 Kotlin
kotlin开发安卓应用 如何修改app安装后的名称
在 Android 应用中,要修改安装后的显示名称,需更新 AndroidManifest.xml 文件中 application 标签的 android:label 属性。可直接在该属性内设置新名称,或在 res/values/strings.xml 文件中修改 app_name 并在 manifest 中引用。推荐使用 strings.xml 方式,以便支持多语言和集中管理。
|
Kubernetes Cloud Native 开发者
云原生概要介绍-云原生发展史及概念
云原生概要介绍-云原生发展史及概念
云原生概要介绍-云原生发展史及概念