首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android开发指南

    Anrdoi依赖注入框架koin

    Koin 是什么 Koin 是为 Kotlin 开发者提供的一个实用型轻量级依赖注入框架,采用纯 Kotlin 语言编写而成,仅使用功能解析,无代理、无代码生成、无反射。 Add Jcenter to your repositories if needed repositories { jcenter() } dependencies { // Koin for Android compile "org.koin:koin-android:$koin_version" } 2.比如创建一个HelloRepository来提供一些数据: interface 原理 内联函数 Koin使用了很多的内联函数,它的作用简单来说就是方便进行类型推导,能具体化类型参数。 koin里有一个全局的容器,提供了应用所有所需实例的构造方式,那么当我们需要新建实例的时候,就可以直接从这个容器里面获取到它的构造方式然后拿到所需的依赖,构造出所需的实例就可以了。

    2.2K30发布于 2020-07-28
  • 来自专栏大话swift

    kotlin构建MVVM应用之依赖注入--Koin

    增加程序重用 模块功能单一 方便测试 需求变更,减少程序开发 充分的解耦合 Koin是一个Kotin极轻量的依赖注入框架,据官方资料显示,它有一下特点 无代理 无代码生成 无反射。 在app\build.gradle中引入依赖 //koin(依赖注入) implementation "org.koin:koin-androidx-scope:2.0.1" implementation "org.koin:koin-androidx-viewmodel:2.0.1" implementation "org.koin:koin-androidx-ext import org.koin.core.module.Module import org.koin.dsl.module val viewModelModule = module import org.koin.core.module.Module import org.koin.dsl.module val viewModelModule = module

    2.7K40发布于 2020-04-16
  • 来自专栏用户9239674的专栏

    Android注解三大框架Dagger、Hilt 和 Koin 有何不同?

    image.png Koin Koin 与 Dagger 以及 Hilt 相比,管理依赖项的方法完全不同。要在 Koin 中注册依赖项,我们不会使用任何注解,因为Koin不会生成任何代码。 Dagger 生成代码来提供依赖,而 Koin 不生成代码,这实际上带来了一些影响。 1. image.png 在 Koin 中的情况有所不同,因为它不会生成任何代码。 另一方面,在 Koin 中,我们可以看到它花费了很多时间。在 Dagger 中注入依赖也比在 Koin 中快一些。 总结 正如我在本文开始时所说的,我这里的目标不是告诉您要使用哪个库。 我在两个不同的大项目中都使用了 Koin 和 Dagger。老实说,我认为选择 Dagger 还是 Koin 并不重要,重要的是能够让你编写干净、简单且易于单元测试的代码。

    3.2K40编辑于 2021-12-21
  • Android 中依赖注入(Dagger和Hit)的用法与原理

    Koin(轻量级 DI 框架) Koin 是一个基于 Kotlin DSL 的轻量级依赖注入框架,使用运行时反射,简单易上手。 1. 添加依赖 dependencies { implementation "io.insert-koin:koin-android:3.5.0" } 2. { super.onCreate(savedInstanceState) userRepository.getUsers() } } Koin 总结 依赖注入是现代 Android 开发中不可或缺的设计模式,尤其在结合 Hilt 或 Koin 等框架后,能够显著提升开发效率和代码质量。 1. 推荐选择: 项目规模 推荐框架 理由 中大型项目 Hilt Google 官方推荐,编译时安全,与 Android 组件深度集成 小型项目 / 快速原型 Koin 轻量、无注解处理器、Kotlin DSL

    40310编辑于 2025-11-30
  • 来自专栏loongwind

    Android基于DataBinding+Koin实现MVVM模式页面快速开发框架

    本篇是 ardf的第二篇,将介绍基于 DataBinding + Koin 实现的 MVVM 模式页面快速开发框架的使用和详细实现。 Koin 无反射、无代码生成且使用更简单;借助该库可轻松在基于 kotlin 的 Android 应用开发中实现依赖注入,降低代码的耦合性。 更多关于 Koin 的介绍及使用请查阅官方文档:Koin[2] 2. koin,代码如下: val appModule = module { // 将 ViewModel 添加到 koin 依赖 viewModel{ TestViewModel()} } /InsertKoinIO/koin [3] ardf: https://github.com/loongwind/ardf

    2.1K20编辑于 2022-09-27
  • 来自专栏Android面试

    Android MVVM 架构应用实现

    同时本项目使用Koin作为依赖注入的框架,省去初始化ViewModel、Repository、ViewModelProcider.Factory的过程。 先贴上项目目录,需要关注的是高亮显示的文件(使用Koin省去了Factory类的实现): [image.png] ViewModel类: 实现HomeViewModel类,需要继承继承自ViewModel ") } } }) } } } Koin 初始化: Koin的初始化分为两步: 定义ViewModel,告诉Kioin从哪里找到ViewModel和Repository并自动生成,这里我选择直接写在BaseApplication中,需要注意的是需要定义在最外层 本项目使用开源组件库:koin、timber、permissionx、BaseRecyclerViewAdapterHelper 视频:Android中高级进阶之MVVM与JetPack

    1.8K20编辑于 2021-12-27
  • 来自专栏Android工具与第三方库

    用 Kotlin 脚本(KTS)重塑 Android 工程效能:2000 字终极实践指南

    buildSrc/src/main/kotlin/Dependencies.ktobject Versions { const val compose = "1.6.3" const val koin androidx.compose.material3:material3:${Versions.compose}" // DI const val koinCore = "io.insert-koin :koin-core:${Versions.koin}" const val koinAndroid = "io.insert-koin:koin-android:${Versions.koin}

    60610编辑于 2025-05-15
  • 来自专栏安卓开发干货分享

    最新 Android 热门开源项目公布

    官网:mockk.io KOIN 面向 Kotlin 开发者的轻量依赖注入框架。 [1240] KOIN 提供了轻量的函数式依赖注入 DSL,无需代码生成和反射。 startKoin { androidContext(this@MyApplication) modules(myModule) } } } 官网:https://insert-koin.io

    1.7K00发布于 2019-07-10
  • 来自专栏Rust语言学习交流

    【大家的项目】Rudi 0.2.0 - 一个开箱即用的依赖注入框架

    由于 Rudi 最开始是以 Koin 为参考,写的基于函数 API 的依赖注入框架,后来发现 inventory 这个库,就又添加了一套属性宏 API。

    40320编辑于 2023-09-26
  • 来自专栏Java技术栈

    只会用 Spring Boot 创建微服务?那你就 OUT 了,还有这 4 种替代方案!

    因为Helidon SE 缺乏依赖注入的手段,因此为此使用了Koin。 以下代码示例,是包含 main 方法的类。为了实现依赖注入,该类继承自KoinComponent。 首先,Koin 启动,然后初始化所需的依赖并调用startServer()方法—-其中创建了一个WebServer类型的对象,应用程序配置和路由设置传递到该对象; 启动应用程序后在Consul注册: object 和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module {     single { ApplicationInfoService application-info {   name: "ktor-service"   framework {     name: "Ktor"     release-year: 2018   } } 在 Ktor 和 KoinKoin 中,模块类似于 Spring 框架中的应用程序上下文。

    7.1K20编辑于 2022-09-27
  • 来自专栏民工哥技术之路

    只会用 Spring Boot 创建微服务?这 4 种替代方案绝了!

    因为Helidon SE 缺乏依赖注入的手段,因此为此使用了Koin。 以下代码示例,是包含 main 方法的类。为了实现依赖注入,该类继承自KoinComponent。 首先,Koin 启动,然后初始化所需的依赖并调用startServer()方法—-其中创建了一个WebServer类型的对象,应用程序配置和路由设置传递到该对象; 启动应用程序后在Consul注册: 和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module { single { ApplicationInfoService name: "ktor-service" framework { name: "Ktor" release-year: 2018 } } 在 Ktor 和 KoinKoin 中,模块类似于 Spring 框架中的应用程序上下文。

    1.4K10编辑于 2024-03-02
  • 来自专栏loongwind

    Android基于EasyPermission封装实现快速权限申请

    EasyPermission 更多介绍见:EasyPermission[1] ardf更多文章: Android基于DataBinding封装RecyclerView实现快速列表开发 Android基于DataBinding+Koin BaseBindingViewModelActivity、BaseFragment、BaseBindingFragemnt、BaseBindingViewModelFragment 关于其他几个基类的使用见:Android基于DataBinding+Koin

    2.3K30编辑于 2023-01-01
  • 来自专栏程序猿DD

    只会用 Spring Boot 创建微服务?这 4 种替代方案了解一下!

    因为Helidon SE 缺乏依赖注入的手段,因此为此使用了Koin。 以下代码示例,是包含 main 方法的类。为了实现依赖注入,该类继承自KoinComponent。 首先,Koin 启动,然后初始化所需的依赖并调用startServer()方法—-其中创建了一个WebServer类型的对象,应用程序配置和路由设置传递到该对象; 启动应用程序后在Consul注册: 和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module {       single { ApplicationInfoService name: "ktor-service"     framework {       name: "Ktor"       release-year: 2018     }   }   在 Ktor 和 KoinKoin 中,模块类似于 Spring 框架中的应用程序上下文。

    3.4K40编辑于 2023-04-04
  • Kotlin跨平台Compose Multiplatform实战指南

    状态管理与导航状态管理:使用 mutableStateOf 或 ViewModel(通过 koin 或 kodein 注入)。

    4.5K30编辑于 2025-05-13
  • 来自专栏贾志刚-OpenCV学堂

    图像编辑器 Monica 之图像涂鸦、裁剪、有趣的滤镜

    图像编辑器 Monica Monica 是一款跨平台的桌面图像编辑器,使用 Kotlin Compose Desktop 进行开发基于 mvvm 架构,使用 koin 作为依赖注入的框架。

    90110编辑于 2024-05-31
  • 来自专栏ThoughtWorks

    有态度的前沿技术解析,第22期技术雷达如约发布!

    Koin ? 随着 Kotlin 被越来越多地用于移动和服务端开发,其相关生态系统也在不断发展。Koin 是一个Kotlin框架,用于处理软件开发中的常规问题之一:依赖注入。 尽管有多种 Kotlin 依赖注入框架可供选择,我们的团队更喜欢 Koin 的简单性。Koin 避免使用注解,而是通过构造函数或模仿 Kotlin 的延迟初始化,从而仅在需要时才注入对象。

    95210发布于 2020-05-27
  • 来自专栏深度学习与python

    Kotlin Multiplatform Mobile 进入 Beta 测试

    许多流行的库已经采用了 Kotlin Multiplatform,包括异步事件处理框架 Ktor、类型安全的 SQL API 生成器 SQLDelight、GraphQL 客户端 Apollo 和依赖注入框架 Koin

    1.6K20编辑于 2023-03-29
  • 来自专栏大前端修炼手册

    进阶:如何让 AI 帮你写 Android 开发 Skill

    比如我每次让 AI 写 Android 代码,都要说: • 用 Hilt 做依赖注入,不要用 Koin • 状态管理用 sealed class + StateFlow,不要用 LiveData • Repository references/conventions.md:- 语言:优先 Kotlin - 架构:MVVM + Repository - 异步:suspend + Flow/StateFlow - DI:Hilt(禁止 Koin

    33210编辑于 2026-04-02
  • 来自专栏哈利迪ei

    Android |《看完不忘系列》之dagger

    于是就有了一些库来实现自动依赖注入,有两个实现思路(koin的实现以后再聊~), 一是运行期反射连接依赖项,编译影响小,但运行慢 二是编译期就连接依赖项,创建辅助类需要额外的io和编译耗时,会拖慢编译速度 //... } 尾声 简单总结下dagger的优缺点~ 优势:无反射、支持增量编译 缺点:构建过程需要而外的io和编译时间、生成类会增大包体积、不够好用、 后续计划:dagger细枝、hilt、koin

    1.3K10发布于 2020-09-03
  • 来自专栏loongwind

    Flutter之GetX依赖注入tag使用详解

    与 Dagger 和 koin 中的 named 作用相似。

    2.6K31编辑于 2022-09-27
领券