小编Rik*_*zen的帖子

无法将 Kotlin Android 扩展添加到我的项目

当我尝试通过以下方式添加 kotlin-android-extensions 时:

apply plugin: 'kotlin-android-extensions'

到我的项目 Android Studio 告诉我插件没有找到'kotlin-android-extensions ??

出了什么问题?我正在运行 Android Studio 3.0 Canary 8

android kotlin kotlin-android-extensions

21
推荐指数
4
解决办法
2万
查看次数

Android:如何为Kotlin中的所有对象列表创建类型转换器(for Room)

我在我的项目中使用Room作为本地数据库解决方案.对于某个对象类型的每个列表,我都为项目添加了类型转换器,因此类型转换器看起来像这样:

@TypeConverter
fun convertListToString(video: List<VideoType>): String {

    val videoArray = arrayOfNulls<VideoType>(video.size)
    for (i in 0..video.size - 1) {
        videoArray[i] = video[i]
    }
    var str = ""
    val gson = Gson()
    for (i in videoArray.indices) {
        val jsonString = gson.toJson(videoArray[i])
        str = str + jsonString
        if (i < videoArray.size - 1) {
            str = str + strSeparator
        }
    }

    return str
}

@TypeConverter
fun convertStringToList(videoString: String): List<VideoType> {

    val videoArray = videoString.split(strSeparator.toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
    val videos = ArrayList<VideoType>()
    val gson …
Run Code Online (Sandbox Code Playgroud)

database generics android kotlin android-room

13
推荐指数
2
解决办法
2196
查看次数

Kotlin:我怎样才能让Android Studio在课堂底部实现界面功能

在Kotlin类中实现接口时:

当我在ClassName上按Alt + Enter时,我可以让IDE通过"实施成员"添加界面的功能.

令人讨厌的是,在Kotlin中,这些函数被添加到类的顶部.我希望它们在类的末尾添加(就像在Java中一样).

我怎样才能做到这一点?

interface class implements kotlin android-studio

9
推荐指数
1
解决办法
697
查看次数

Firebase Crashlytics:是否可以将多个应用程序的崩溃合并到一个概述中?

使用 Fabric,过去可以将多个具有相同代码库和“基本”包名称的应用程序合并到一个崩溃概述中。我似乎无法弄清楚 Firebase Crashlytics 是否也可以这样做。

所以我的意思是:我有一个应用程序的多种变体。用包名说:

com.norakomi.appname.app1
com.norakomi.appname.app2
com.norakomi.appname.app3
Run Code Online (Sandbox Code Playgroud)

等等。

我希望将所有崩溃报告合并在一个概览中,因为它们使用相同的代码库,而且我不想每次都浏览应用程序的所有(比如)30 个版本。

有谁知道如何做到这一点?

android firebase crashlytics crashlytics-android

5
推荐指数
0
解决办法
439
查看次数

Android:为什么android.permission.ACCESS_WIFI_STATE会自动添加到我签名的apk版本中?

我的应用使用了一些权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

and:
android:permission="com.google.android.c2dm.permission.SEND">
Run Code Online (Sandbox Code Playgroud)

昨天我上传了一个新版本到谷歌播放,不知何故

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
Run Code Online (Sandbox Code Playgroud)

已添加,因此用户不会获得我的应用程序的自动更新,但必须先授予权限.我不希望将此权限添加到我的项目中,但我不知道如何删除它,因为预构建它在我的代码中没有被请求.

有没有人有一些建议?

android android-wifi android-permissions

2
推荐指数
1
解决办法
3968
查看次数

Kotlin:如何使用扩展功能延迟运行函数

我试图弄清楚如何使用扩展函数来延迟运行任何方法,但似乎无法搞清楚.

我尝试下面的东西,我有一个函数,我想要一个处理程序延迟执行一定的timeInterval:

functionX().withDelay(500)
functionY().withDelay(500)

private fun Unit.withDelay(delay: Int) {
  Handler().postDelayed( {this} , delay)}

private fun Handler.postDelayed(function: () -> Any, delay: Int) {
  this.postDelayed(function, delay)}
Run Code Online (Sandbox Code Playgroud)

任何人?

android postdelayed kotlin

2
推荐指数
2
解决办法
1457
查看次数