Tag: 安卓

Kotlin Parcelize Exception API <21

我在Parcelize中使用parcelize。 每当我在低于21的API级别上运行我的应用程序,我会得到以下例外: W/dalvikvm: VFY: register1 v5 type 17, wanted 5 W/dalvikvm: VFY: register1 v6 type 17, wanted 5 W/dalvikvm: VFY: rejecting opcode 0x76 at 0x0020 W/dalvikvm: VFY: rejected L$Creator;.createFromParcel (Landroid/os/Parcel;)Ljava/lang/Object; W/dalvikvm: Verifier rejected class L$Creator; W/dalvikvm: Exception Ljava/lang/VerifyError; thrown while initializing L/data/model/Student; : Unable to invoke no-args constructor for class data.model.Student. Registering an InstanceCreator with […]

Geofence不在Kotlin工作

Geofence不在Kotlin中工作,尽管相同的代码在Java中工作。 我是Kotlin的新手,因此无法理解这个问题。 其实我从一个活动MainActivity调用MainGeofence.kt服务类以下是代码 MainGeofence.kt public class MainGeofence : IntentService(“MyService”), LocationListener { internal var mGeofencePendingIntent: PendingIntent? = null private var mGeofenceList: ArrayList? = null private var mGoogleApiClient: GoogleApiClient? = null val TAG = “Activity” internal lateinit var mLocationRequest: LocationRequest internal var currentLatitude = <<lat value internal var currentLongitude = <<long value override fun onCreate() { super.onCreate() […]

从kotlin代码中移除getter和setter

对于这个代码 class Foo { var name: String? = null } kotlin编译器生成: private String name; public final String getName() { … } public final void setName(String name) { … } 即使属性name没有自定义getter或setter。 可以使用@JvmField注释去除多余的get和set方法。 所以这个代码 class Foo { @JvmField var name: String? = null } 只生成一个字段,而无需其他方法。 public String name; 但有什么办法让kotlin编译器不能为整个项目中的所有属性生成getter和setter? 不管有没有注释。 也许一些实验编译器标志? 我想要它,因为我已经在kotlin上编写了android instrumentation测试。 测试apk超过65k的方法计数限制。 大约有2k个方法被生成getter / setter。 […]

调试Kotlin内联函数

我在我的基于Kotlin的Android项目中使用了内联函数(我被迫使用,因为我使用了关键字)。 有没有可能调试类似于普通的内联函数? 断点不会抢夺,我猜,这与插入函数的代码插入过程有关

Kotlin的构造函数ArrayAdapter无法识别

我在Kotlin中扩展ArrayAdapter有一个问题。 这里代码: class SpinnerArrayAdapter(context: Context?, resource: Int, list: ArrayList<Pair>) : ArrayAdapter<Pair>(context, resource, list) { override fun getCount(): Int { return list.size //error list is unresolved } } 编辑与ArrayAdapter扩展无关。 我的问题是构造器的理解。

Kotlin Android扩展无法解析“文本”

所以我试图摆脱“findViewById”,并决定添加Kotlin Android扩展到我的项目 在我的gradle里面: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ 在项目级别gradle.build中: classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version” 在我的MainActivity中: import kotlinx.android.synthetic.main.activity_main.* 不过,我仍然需要var editTextCity = editText_city.findViewById(R.id.editText_city) 解决var city = editText_city.text.toString() 看起来像扩展不工作

与标志的kotlin startactivity

我试图通过使用kotlin的Anko上下文来启动一个活动,但是想使用标志 override fun createView(ui: AnkoContext) = with (ui) { verticalLayout { // load something button (“Back”) { onClick { // goes back to the previous activity startActivity() } } } } 我正在举办这样的活动, startActivity() 我怎样才能添加标志重新排列活动的顶部 这不起作用,得到一个types不匹配的错误 startActivity(intentFor(“id” to 5).singleTop())

Android工作室kotlin插件错误

在Android工作室即时通讯错误: Plugin Error: Kotlin threw an uncaught AbstractMethodError. Disable Plugin 昨天一切都很好。 摇篮: buildscript { ext.kotlin_version = ‘1.1.51’ repositories { google() jcenter() mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.1’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } Android工作室版本:3.0.1 Build#AI-171.4443003 更甚者:如果我用kotlin支持创建新的android项目失败,同样的错误。 #EDIT1 完整的根gradle构建脚本。 buildscript […]

如何绕过Kotlin上的NetworkOnMainThreadException

您好我开始与kotlin,现在的Android Studio 3.0支持,但我不知道如何做一个简单的网络请求在另一个线程… 在java中是非常容易的 new Thread(new Runnable() { @Override public void run() { //Do dome Network Request runOnUiThread(new Runnable() { @Override public void run() { //Update UI } }); } }).start(); 我知道我可以做一个AsyncTask和blablabla …但我不想要的。 我想要一个简单的解决方案而不创建额外的类和复杂的用例 Kotlin可能吗?

房间,KOTLIN问题只与果冻豆

我在Kotlin的应用程序中使用了Room库。 应用程序适用于Android 4.4及以上版本。 但与Android的果冻豆(测试4.1和4.2)有这个问题: Caused by: java.lang.RuntimeException: cannot find implementation for com.app.example.database.AppDatabase. AppDatabase_Impl does not exist at android.arch.persistence.room.Room.getGeneratedImplementation(Room.java:90) at android.arch.persistence.room.RoomDatabase$Builder.build(RoomDatabase.java:440) at com.app.example.application.MyApplication.onCreate(MyApplication.kt:36) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:999) 我试过使用 kapt { generateStubs = true } 和 apply plugin: ‘kotlin-kapt’ 没有不同。 同样的错误。