草庐IT

kotlin_module

全部标签

Django ImportError:cannot import name from partially initialized module (不同app间的模型循环导入的问题)

背景:有两个APP,互相引用对方models.py的模型作为外键,app1中的models.py引用了app2的模型B,app2中的models.py引用了app1的模型A错误写法:#这样写会出现报错:DjangoImportError:cannotimportname'...'frompartiallyinitializedmodule'...'(mostlikelyduetoacircularimport)#app1的models.pyfromapp2.modelsimportBclassL1(models.Model):b=models.ForeignKey(B,on_delete=mo

Android Studio 0.6 "Select modules to import"错误

我正在尝试导入Volley进入我的Android应用程序。我过去成功地做到了这一点。今天早上,我更新到AndroidStudio0.6,更新了我的buildToolsVersion到19.1.0,更新了gradle。当我尝试导入Volley模块,并导航到文件系统中Volley文件夹的位置时,我收到以下消息“选择要导入的模块".然后我打开了Volley中的build.gradle文件夹,更新了gradle和build版本,还是报同样的错误。有人遇到过这个问题吗? 最佳答案 我遇到了像你这样的问题,我通过注释行#android.libr

android - UnitTest 协程 Kotlin 用例 MVP

我正在尝试模拟来self的用例的响应,这个用例适用于协程。fungetData(){view?.showLoading()getProductsUseCase.execute(this::onSuccessApi,this::onErrorApi)}我的用例是在演示者上注入(inject)的。GetProductsUseCase有这段代码:classGetProductsUseCase(privatevarproductsRepository:ProductsRepository):UseCase>(){overridesuspendfunexecuteUseCase():Mutabl

Android Studio版本升级后的问题 gradle降级、jdk升级 Compose 与 Kotlin 的兼容性对应关系

Cannotuse@TaskActionannotationonmethodIncrementalTask.taskAction$gradle_core()becauseinterfaceorg.gradle.api.tasks.incremental.IncrementalTaskInputsisnotavalidparametertoanactionmethod.修改下面两处地方分别为7.0.3、7.3.3AndroidGradlepluginrequiresJava11torun.YouarecurrentlyusingJava1.8.Anexceptionoccurredapplyin

安卓工作室 : Is it possible to define library module manifest placeholders in main module?

我正在将一些组件添加到库模块list文件中。显然可以使用${applicationId}占位符,即使我没有在库的build.gradle文件中声明它。它唯一声明的地方是在主模块的build.gradle中。所以我认为如果我向主模块添加一个自定义占位符它也可以工作。简而言之:这似乎可行:库的AndroidManifest.xml:主模块的build.gradle:defaultConfig{applicationId"package.name.here"...但这不是:库的AndroidManifest.xml:主模块的build.gradle:defaultConfig{manifes

junit报错The package org.junit is accessible from more than one module: <unnamed>, junit

当创建Junit测试时,出现Thepackageorg.junitisaccessiblefrommorethanonemodule:,junit错误是因为junit包放到了Modulepath里面了,解决方法就是将它移动到Classpath中,Apply应用一下就OK啦

Kotlin 协程一 —— 协程 Coroutine

一、协程的一些前置知识1.1进程和线程1.1.1基本定义进程进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。进程是资源分配的最小单位,在单核CPU中,同一时刻只有一个程序在内存中被CPU调用运行。线程基本的CPU执行单元,程序执行过程中的最小单元,由线程ID、程序计数器、寄存器组合和堆栈共同组成。线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能。1.1.2为什么要有线程单个进程只能干一件事,进程中的代码依旧是串行执行。执行过程如果堵塞,整个进程就会挂起,即使进程中某些工作不依赖于正在等待的资源,

node_modules.cache是什么东西

一开始没明白这是啥玩意,还以为是npm的属性,网上也没说过具体的来源出处 .cache文件的产生是由webpack4的插件cache-loader生成的,node_modules里下载了cache-loader插件,很多朋友都是vuecli工具生成的项目,内置了这部分设置,使用在配置文件例如vue.config里看不到这部分设置 此外,在Webpack4中,部分插件是默认启用缓存功能的(例如压缩代码的Terser插件等),当然.cache文件下的4个插件其实也是默认启用了webpack的缓存功能想深入了解可看下面文章webpack缓存原理

如何使用Intellij(Kotlin)中的LateInit修饰符更改语法突出显示变量的规则?

Intellij亮点varmutableVariable:String带有下划线。Intellij还突出显示lateinitvarmutableVariable:String带有下划线。在实践中,我的后期var有效地不可变。我想强调var,但不是lateinitvar。Intellij支持此用例吗?看答案必须初始化非挂钩字段varmutableVariable:String=""这是有效的var意味着变量是可变的。你不能lateinitvallateinitvarmutableVariable:String

kotlin协程详解,不可能学不懂

一、协程简介首先还是先抛出一系列的问题,大家搞清楚这些问题后学习Kotlin协程可能会轻松一点:1、什么是并发?什么是并行?2、什么是多任务?什么是协作式多任务?什么是抢占式多任务?3、什么是同步?什么是异步?4、什么是非阻塞式?什么是阻塞式?5、什么是挂起?6、什么是非阻塞式挂起?7、什么是协程?8、什么是Kotlin协程?9、Kotlin协程有什么用?1、什么是并发?什么是并行?1)、并发就是同一时刻只有一条指令在执行,但是因为CPU时间片非常的小,多个指令间能够快速的切换,使得我们看起来拥有同时执行的效果,存在于单核或多核CPU系统中2)、并行就是同一时刻有多条指令同时在执行,存在于多核