Tag: kotlin anko

使用Anko协程扩展的正确方法是什么?

所以我正在从RxJava移植一个示例应用程序到Kotlin / Anko Corountines,我想知道如果我正在做它最好的(第一)方法: fun getPopulationList() { val ref = asReference() async(UI) { try { ref().setCurrentState(ViewState.State.LOADING) val background = bg { repository.populationResponse().execute().body() } ref().let { it.response = background.await() it.mvpView?.onGetData(it.response) it.setCurrentState(ViewState.State.FINISH) } } catch (e: Exception) { e.printStackTrace() ref().mvpView?.onError(e) } } } 我正在使用MVP架构,其中我的Presenter基类有一个CompositeSubscription和在onDestroy的片段或活动方法简单退订,并清除CompositeSubscription对象。 但是我想知道如果从asReference()函数是相同的,没有必要保存一个Deferred的列表,然后迭代它并逐个取消。 顺便说一句,如果我添加一个Thread.sleep(5000)来模拟一个大事务,并销毁碎片,我可以在logcat中看到的HTTP响应即使片段不可见/销毁,而RxJava没有发生,所以我想我我没有正确使用。

如何防止对话(警报)在您使用Anko触摸外部或后退时关闭

我正在用kotlin和anko创建一个警报/对话框(下面的代码),但是当你敲门或者按回来关闭它。 这是代码 alert(“TITLE”) { title(“Text”) positiveButton(“Ok”) { action() } }.show() 这里是如何解决方案将在Java(没有使用anko太) dialog.setCancelable(false); // for prevent on back pressed dialog.setCanceledOnTouchOutside(false); // for prevent on touching outside 任何想法如何使用kotlin和anko实现这一点? 谢谢 :)

如何在Kotin中使用Anko设计SQLite表?

我在Kotlin中使用Anko设计了一个非常简单的表格,表格中有一个名为_id的主键,我希望_id是由SQLite系统自动传递的值。 我已经阅读了一些示例代码,但是我不知道哪一个是正确的,方法1,方法2还是方法3? 还有更多,当我插入一个记录时,我不认为我需要传递一个值给_id,但是MSetting和DBSetting的_id属性必须传递值,所以我必须用MSetting(10L,”My Settings”,2000L,”This is description!”)我不知道Anko如何处理不必要的_id,我很奇怪,当执行SettingManage().addSetting(MSetting(10L,”My Settings”,2000L,”This is description!”))时,应用程序不会崩溃SettingManage().addSetting(MSetting(10L,”My Settings”,2000L,”This is description!”))重复! 方法1:将 DBSettingTable._ID to INTEGER + PRIMARY_KEY+ UNIQUE, 方法2:将 DBSettingTable._ID to INTEGER + PRIMARY_KEY+ AUTOINCREMENT, 方法3: DBSettingTable._ID to INTEGER + PRIMARY_KEY, 插入数据 SettingManage().addSetting(MSetting(10L,”My Settings”,2000L,”This is description!”)) 设计表 class DBSettingHelper(mContext: Context = UIApp.instance) : ManagedSQLiteOpenHelper( mContext, DB_NAME, null, DB_VERSION) { companion object { val DB_NAME […]

安子的主题和风格

有没有办法用Anko添加主题和样式到Layout? 谢谢

如何删除SQLite中的行与多个使用Anko的参数?

我希望通过_id删除一行,我也希望通过使用Anko的args删除多行。 我已阅读https://github.com/Kotlin/anko/wiki/Anko-SQLite#updating-values的文章,但我没有结果,你能帮我吗?

我如何使用Kotlin Anko使用Android Bootstrap Library?

Android Bootstrap库 例如,在这里标准的Anko按钮; button{ text = “OK” setOnClickListener{ toast(“ok”) } } 我如何使用自定义样式?

如何在Anko DSL布局中设置底部边距为FAB?

我在我的kotlin活动中使用Anko DSL布局。 我不能将底部边距设置为FAB。 正确的利润工作。 在我的活动 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) (application as SamfantozziApp).dgaeacomponent().inject(this) InvoiceListKtActivityUI(_rxBus).setContentView(this) } 我的Anko DSL布局InvoiceListKtActivityUI.kt class InvoiceListKtActivityUI (val _rxBus: RxBus): AnkoComponent{ override fun createView(ui: AnkoContext): View = with(ui){ return relativeLayout{ padding = dip(5) lparams { width = matchParent height = wrapContent margin = 5 } verticalLayout{ tabLayout{ lparams { width = matchParent […]

Android中的Kotlin协程:为什么要使用Anko中的bg()而不是async()?

我今天开始在Android上使用Kotlin协同程序,并且注意到Anko对它们有一套自己的辅助方法。 我明白为什么asReference()存在,但我不明白为什么bg() asReference() ,因为核心协程库lib已经具有async() 。 bg()代码非常简单,它内部使用async() : @PublishedApi internal var POOL = newFixedThreadPoolContext(2 * Runtime.getRuntime().availableProcessors(), “bg”) inline fun bg(crossinline block: () -> T): Deferred = async(POOL) { block() } 那么使用bg()而不是async()的优点是什么? 对于Android应用程序, async()效率低下吗?

如何创建Kotlin DSL – DSL语法Kotlin

和anko一样,你可以这样编写回调函数: alert { title = “” message = “” yesButton { toast(“Yes”) } noButton { toast(“No”) } } 我怎样才能创建一个这样的嵌套function? 我试图创建它像下面,但似乎并没有工作。 class Test { fun f1(function: () -> Unit) {} fun f2(function: () -> Unit) {} } 现在,如果我用这个扩展function, fun Context.temp(function: Test.() -> Unit) { function.onSuccess() // doesn’t work } 从Activity调用它: temp { onSuccess { toast(“Hello”) } […]

从Kotlin Anko的两个表中选择数据

在我的数据库中有两个表格, 1)任务:(id(INTEGER + PRIMARY_KEY),标题,描述,时间戳,category_id(Category – > id的外键)) 2)类别:(id(INTEGER + PRIMARY_KEY),名称) 从表中选择数据Anko提供的方法如下: var mDatabase: DatabaseManager = DatabaseManager.getInstance(activity) var mResult: List = ArrayList() mDatabase.use { mResult = select(TABLE_TASK).parseList(classParser()) } 我想要的是显示任务列表的类别名称我已经检查了所有的教程和堆栈链接,但没有得到任何方式来实现这一点。 有什么方法可以从Kotlin Anko的两个表中选择数据? 感谢提前!