Tag: 模块

显示DialogFragment抛出“无法执行此操作后onSaveInstanceState”错误

问题 嗨,我正在为Titanium创建一个Android和iOS模块,它有一个sendLog方法,它将一些任意的JSON数据发送到一个服务器,并返回一个URL,如果它匹配一些预定义的过滤器。 该网址应该以带有webview的模式对话框打开。 我编写了原生的iOS和Android库,并将它们包装为Titanium模块。 在iOS上,一切正常,但在Android上,我无法打开对话框(请参阅下面的错误堆栈跟踪)。 现在有一个日志消息总是触发相同的网页进行测试。 在Android上它只是默默地失败。 测试用例 var mupets = require("be.iminds.mupets"); mupets.initialize("wappr", "http://tocker.iminds.be:3000/log/report.json", 1, 100, 3); var esmLog = { bar: "foo" }; mupets.sendLog("es-test-01",JSON.stringify(esmLog)); 在这段代码之后(大约10秒钟之后),模块应该在下面的网页中显示一个本地对话框: http : //tocker.iminds.be : 3000/es/sheets/test-01/index.html 相反,这是我始终如一的错误: 日志 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1411) at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1429) at android.app.BackStackRecord.commitInternal(BackStackRecord.java:687) at android.app.BackStackRecord.commit(BackStackRecord.java:663) at android.app.DialogFragment.show(DialogFragment.java:256) at be.iminds.mupets_client_android.logging.plugins.OutHttp.getEsm(OutHttp.java:122) at be.iminds.mupets_client_android.logging.plugins.OutHttp$1.success(OutHttp.java:78) […]

如何在库中使用Realm

我想了解如何在我正在使用的库中使用Realm,经过几天的研究,我现在了解RealmModules(如果来自Realm的读者,请务必改进关于在库中使用的文档)。 我已经做了一个简单的类,给我的库配置领域: object ChatRealm { fun getChatRealm(): Realm{ val config = RealmConfiguration.Builder() .name("mtchat_realmDB") .schemaVersion(2) .deleteRealmIfMigrationNeeded() .modules(ChatModule()) .build() return Realm.getInstance(config) } } 模块是这个 @RealmModule(library = true, allClasses = true) class ChatModule {} 并在项目应用程序类我安装领域像这样 class App: Application() { override fun onCreate() { super.onCreate() initRealm() setupRealm() } private fun initRealm() { Realm.init(this) } private fun setupRealm(){ Realm.setDefaultConfiguration( RealmConfiguration.Builder() […]

如何在IntelliJ插件中“注册”一个新的模块类型?

我是IntelliJ插件开发的初学者,但是我想让我的插件在“新建项目”/“新建模块”窗口中注册一个新的模块类型。 我已经通过插件开发人员的文档搜索,但无法找到有用的东西。 我还查看了像Kotlin和Scala这样的现有插件,它们也添加了新的模块类型,但我无法弄清楚如何在上面提到的对话框中显示完成的模块类型。 我需要在plugin.xml文件中更改什么? 我已经添加了扩展并为ModuleType,ModuleBuilder和ModuleConfigurationExtensionProvider创建了java类,但是这不会改变任何东西。 我希望你能提前帮助我,谢谢。

制作模块化Gradle项目的最佳方法

我将重做一个Git仓库托管的整体Gradle项目(一个基于Kotlin的Web刮板)。 它目前只包含一个命令行界面。 我想添加一个基于JavaFX和Android应用程序的GUI。 我可能会把当前的代码放在一个“核心”模块中,期望CLI将把它放在一个“cli”模块中。 我可能会创建额外的“gui”和“android”模块。 我是Gradle的新手:组织这些模块的最好方法是什么? 我应该使用Git分支吗? (核心模块的一个分支,其他模块都有它们的专用分支,当核心更新时我只需要重新分配它们)

Kotlin注释处理器+ AutoService

我有以下问题: – 创建了一些模块,实现了一个Component类,它用@AutoService(Component::class)注释 – 我的Android应用程序使用ServiceLoader来检索这些类。 但由于某种原因, kapt不会生成META-INF/services/…的文件META-INF/services/… 我的模块gradle.file: apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } […]

kotlin库模块中调试目录的未解决的参考

我第一次使用Kotlin开发Android应用程序。 目前我正在使用我的项目中的一个库模块(“数据”),与主应用程序模块分开: > [Root directory] > app > […] > data > src > debug > kotlin > com.domain.app > […] > main > kotlin > com.domain.app > […] > release > kotlin > com.domain.app > […] 我遇到了一个障碍:每当data.src.main内的文件引用data.src.debug中的文件时,构建过程将失败,并显示消息“Unresolved reference:[class name]”。 但是,当我在data.src.release中引用文件时,它不会失败。 在这两种情况下,我已经三重检查了语法,目录和构建变体。 我没有修改我的build.gradle文件中的调试版本或发布版本 – 我正在使用他们的默认设置。 我的源文件是: android { … sourceSets { main.java.srcDirs += 'src/main/kotlin' debug.java.srcDirs […]