Tag: android

Android将kotlin资源部署到maven资源库

什么是gradle配置,以确保kotlin源包括在源分类器jar中部署在maven仓库中?

Gradle忽略kotlin jvmname?

我正在构建一个Android应用程序,并试图用Gradle编译一段kotlin代码。 我有@JvmName ,但似乎注释被忽略,因此编译失败。 @JvmName("setOptionsForPairs") private fun setOptionsFor(field: JSONObject, options: MutableList<Pair<Int, String>>, spinner: Spinner?){ options.plusAssign(json2pairs(field.getJSONObject("options"))) setOptions(options.map { it.second }, spinner) } private fun setOptionsFor(field: JSONObject, options: MutableList<String>, spinner: Spinner?){ val candidates = field.getJSONArray("options") for (i in 0..candidates.length() – 1) options.add(candidates.getString(i)) setOptions(options, spinner) } Gradle告诉我:平台声明由于上述函数的签名而发生冲突。 我错过了什么? 我应该告诉Gradle明确注意注释还是别的吗? 正如@Ilya所建议的,我创建了一个最小的完整示例。 这个代码是可以编译的。 import android.support.v7.app.AppCompatActivity import android.os.Bundle class MainActivity : AppCompatActivity() […]

安装员不要求Kotlin POJO

我写了一个简单的POJO(或POKO),并希望将其用于在Kotlin编写的Android应用程序内的数据绑定。 我的问题,setter中的代码不被调用。 我希望在控制台中看到Set value to <> 。 任何想法为什么这不发生? 这是我在try.kotlinlang.org发布的代码: fun main(args: Array<String>) { var myData = MyData() println(myData.helloWorldText) println(myData.helloWorldText) println(myData.helloWorldText) println(myData.helloWorldText) } class MyData { private val values = listOf<String>("Oh…", "Oh captain…", "Oh captain, my …", "Oh captain, my captain…") private var i = -1 var helloWorldText: String = "" get() = values[++i % values.size] […]

Android版Azure移动应用程序框架(仅限Kotlin)

只能使用Kotlin代码在Android应用上使用Azure移动应用服务框架吗?

在Volley的背景下,Kotlin“它”的语法

有人可以向我解释这段代码中的Kotlin'it'语法是如何工作的吗? 这段代码很难阅读,有人把它发给我来解决我的问题,它对于多个连续的请求像魔术一样工作。 我之前使用过Volley,但是这个代码很混乱。 我相信Kotlin比Java更容易阅读,但是这个特殊的代码很难理解。 val responses = mutableListOf<JSONObject>() val myAPIUrl = "https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=" val myAPIKey = "REMOVED" val transportMode = listOf("&mode=driving", "&mode=walking", "&mode=bicycling", "&mode=transit&transit_mode=bus", "mode=transit&transit_mode=subway", "mode=transit&transit_mode=train") val queue = Volley.newRequestQueue(this) transportMode.map { "$myAPIUrl$locationCoordinatesLat,$locationCoordinatesLong&destinations=$locationInput$it&key=$myAPIKey" } .map { JsonObjectRequest(Request.Method.GET, it, null, Response.Listener { responses.add(it) }, Response.ErrorListener { //nothing }) }.forEach { queue.add(it) } }

无法在Kotlin代码中显示EditText错误

我已经把我的Android开发切换到了Kotlin,但是我正在处理一个我无法弄清楚的崩溃。 我习惯于在Java中能够在空的EditText上显示一个错误: if(mEmail.getText().toString().isEmpty()) { mEmail.setError("Email cannot be blank."); } 据我所知,这可以被翻译成Kotlin: if(email.text.toString().isEmpty()) { email.error = "Email cannot be blank." } 但是,这不起作用,我得到以下堆栈跟踪: Process: com.androidessence.capturethetag, PID: 4016 android.view.InflateException: Binary XML file line #17: Error inflating class TextView at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763) at android.view.LayoutInflater.inflate(LayoutInflater.java:482) at android.view.LayoutInflater.inflate(LayoutInflater.java:414) at android.view.LayoutInflater.inflate(LayoutInflater.java:365) at android.widget.Editor.showError(Editor.java:319) at android.widget.Editor.setError(Editor.java:355) at android.widget.TextView.setError(TextView.java:4648) at android.widget.TextView.setError(TextView.java:4633) at com.androidessence.capturethetag.activities.LoginActivity.validateInput(LoginActivity.kt:31) at com.androidessence.capturethetag.activities.LoginActivity.access$validateInput(LoginActivity.kt:12) at […]

领域查询通知不使用Kotlin触发

我无法使用Kotlin在Android中触发Realm Query Notifications。 我已经尝试完整(1)和lambda(2)语法分开: object DataService { val realm: Realm = Realm.getDefaultInstance() var allDogs: RealmResults<Dog> = realm.where(Dog::class.java).findAll() fun start() { // (1) allDogs.addChangeListener(object: RealmChangeListener<RealmResults<Dog>> { override fun onChange(element: RealmResults<Dog>?) { print("Ping?") } }) // (2) allDogs.addChangeListener { // This listener doesn't fire when I create managed the Dog object below print("Ping?") } realm.executeTransaction { realm.createObject(Dog::class.java) […]

Kotlin比Java更难于逆向工程

我正在决定哪一个用于Android Studio项目,我愿意使用Kotlin。 如果在反向工程方面比java更难。

android java / kotlin recyclerview项目不可见

我正在尝试构建一个扫描蓝牙设备的应用程序,并将其显示在回收站中。 我正在写一些使用java和kotlin中的应用程序的应用程序。 由于某些原因,我的recyclerview项目是不可见的。 有人请帮我找到我正在犯的错误。 我发布了我的活动的代码,也是我的回收者视图。 澄清我的问题。 发现成功,找到设备,并且我的适配器中的所有继承方法似乎都被调用。 我把日志消息放在里面,在回收站里我什么也看不到。 为什么没有显示出来? 这里是我用java编写的活动: public class ToofActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener { private static final String TAG = "ToofActivity"; private static final int REQUEST_COARSE_LOCATION = 222; private static BluetoothAdapter btAdapter; private TextView mStatusLabel; private Switch mStatusSwitch; private ProgressBar mProgressBar; private RecyclerView mDeviceRecylcer; private static ArrayList<BluetoothDevice> mDevices = new ArrayList<>(); […]

在kotlin中启用和禁用广播

我写了这个代码来启用和禁用广播: val broadcastState = when(state){ true -> {PackageManager.COMPONENT_ENABLED_STATE_ENABLED} false -> {PackageManager.COMPONENT_ENABLED_STATE_DISABLED} } val component:ComponentName=ComponentName(this,DateChangeReceiver::class) packageManager.setComponentEnabledSetting(component, broadcastState,PackageManager.DONT_KILL_APP) 但Android Studio发生了一些错误,直到我将component更改为: val component:ComponentName=ComponentName(this,DateChangeReceiver::class.java) 基于这个链接,它应该被用来检索一个对象的Java类,但是我所有的类都在kotlin中。 所以我想知道如果我做对了。