Tag: android studio 3.0

Gradle 3.0.0(在Android Studio 3.0中)重新排列任务序列(用Kotlin模块编译时)?

我有一个简单的Gradle脚本(只是为了记录我的Gradle任务运行时) class TestScriptTask extends DefaultTask { @TaskAction def testScript() { logger.quiet("My Gradle Task Here") } } project(":app") { task testScript(type: TestScriptTask) { } } 我有一个简单的Android项目,“app”依赖于Kotlin中的一个模块“remotelib”。 我的应用程序的build.gradle依赖关系如下 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':remotelib') // and others } 所以当我运行我的gradle任务如下 ./gradlew :app:assembleRelease :app:testScript 该脚本运行如下(注意任务在这里执行第一) > Task :app:testScript My Gradle Task Here > Task :remotelib:compileReleaseKotlin Using […]

不寻常的崩溃只有在一些设备 – 异步调用kotlin协同程序

我正在Kotlin编写一个Android应用程序,我只在运行Android API 17的一些华为平板电脑上得到了这个崩溃。不过,我已经在一个Sony Xperia和一个Samsung galaxy s3 mini(或类似的东西)上测试过了,它们都运行Android API 19,没有问题。 崩溃发生在val data = connection.inputStream.bufferedReader().readText() ,代码如下: doAsync { val url = urlString val connection = URL(url).openConnection() as HttpURLConnection val responseCode = connection.responseCode uiThread { if (responseCode == 200) { // ENTERS IF AND CRASHES WITHOUT EXECUTING THE NEXT LINE val data = connection.inputStream.bufferedReader().readText() val response = connection.headerFields […]

错误:找不到符号类为android studio 3.0稳定的java类添加kotlin类

我使用android studio 3.0和一些旧的Java类转换Java到Kotlin。 之后Kotlin类不能在java类中导入! 在下面你可以看到我的等级和我的错误图片。 模块build.grade buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' classpath 'com.google.gms:google-services:3.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 在应用程序级build.gradel通常我使用gradel代码和android 3.0我认为我们需要任何东西 apply […]

Android Studio 3 beta 2 ClassNotFound在kotlin单元测试中

我正在使用Android Studio 3.0 beta 2,将现有项目转换为gradle插件3.0.0-beta2 当我尝试运行在kotlin中编写的现有单元测试时,我得到'java.lang.NoClassDefFoundError:com / other / domain / CollectionItem' 测试本身非常简单: import org.junit.Test import org.junit.Assert.* class CollectionViewModelTest { @Test fun getItemsWithManyItemsWillReturnCollectionItemViewModels() { val collectionItems = listOf(CollectionItem(42, "Item1", CollectionItemType.COLLECTION, ""), CollectionItem(43, "Item2", CollectionItemType.COLLECTION, ""), CollectionItem(44, "Item3", CollectionItemType.COLLECTION, "")) val collection = Collection(45, "Home", "Home collection", collectionItems, 42) val collectionViewModel = CollectionViewModel(collection) assertTrue(collectionViewModel.items.first().isFirst) assertFalse(collectionViewModel.items.first().isLast) assertFalse(collectionViewModel.items[1].isFirst) […]

如何从Kotlin的ListView中获取所选项目?

代码示例: package tech.kapoor.listviewdemo import android.content.Context import android.graphics.Color import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.view.ViewGroup import android.widget.BaseAdapter import android.widget.ListView import android.widget.TextView import android.widget.AdapterView class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val listView = findViewById<ListView>(R.id.main_listview) var redColor = Color.parseColor("#FF0000") listView.setBackgroundColor(redColor) listView.adapter = CustomAdapter(this) } private class CustomAdapter(context: Context): BaseAdapter() { private […]

没办法编译我自己的kotlin库

随着谷歌I / O 2017年,我决定学习kotlin开发我自己的库在Android的kotlin。 这个库允许从OpenWeatherMap API获取信息。 项目链接: https : //github.com/sokarcreative/EasyOWM 有什么问题 ? 我只是不能编译我的图书馆。 我尝试了一切。 我已经编译了分叉的项目,它工作,但没有办法与我自己的图书馆。 我用这些gradlew脚本创建了一个新项目: – 项目gradle allprojects { repositories { … maven { url 'https://jitpack.io' } } } – 模块gradle dependencies { … compile 'com.github.sokarcreative:easyowm:master-SNAPSHOT' } 错误: Failed to resolve: com.github.sokarcreative:easyowm:master-SNAPSHOT 我知道这是一个反复出现的问题,但没有办法解决这个问题。 编辑:以防万一,图书馆工作。 这是我的银河选项卡S3: EasyOWM截图的结果

“包含Kotlin支持”复选框不在Android Studio 3.0 Canary 5中

我想在我的Windows 7 64位机器上的Android Studio 3.0 Canary 5(171.4141229)中创建一个Kotlin项目。 但是,当我启动一个新项目时,向导的第一个窗口不显示“包括Kotlin支持”复选框(它也不显示“包括C ++支持”复选框)。 它看起来像这样: 我能做些什么来创建Android Studio 3.0 Canary 5中的Kotlin项目? 所有的教程(使用加那利1)说,这个复选框应该在那里。

Android Studio 3.0 kotlin扩展功能“未解决的参考”

我正在尝试将我的项目更新为使用Android Studio 3.0 Beta 2,并在我的Kotlin扩展功能中出现错误。 我有一个模块sdk ,其中包含一些提供扩展功能的Kotlin文件,例如: fun Context.hasPermission(permission: String): Boolean = ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED 我在其他两个模块中使用了这个函数,我已经从compile project(':sdk')更改为implementation project(':sdk') 。 当我现在编译我得到的错误: Unresolved error: hasPermission 还有什么我应该做的更新时获得跨模块的这些扩展功能? UPDATE 我改变了函数签名不再是一个扩展函数,而是看起来像: fun hasPermission(context: Context, permission: String): Boolean ContextCompat.checkSelftPermission(context, permission) == PackageManager.PERMISSION_GRANTED 我仍然得到相同的错误,如果我把它包装在一个类或它的工作对象。 object ContextUtils { fun hasPermission(context: Context, permission: String): Boolean ContextCompat.checkSelftPermission(context, permission) == PackageManager.PERMISSION_GRANTED } UPDATE 我用–info –stacktrace标志运行了这个构建,这里是输出(还有很多,但是这似乎是相关的部分): […]

无法使用Kotlin访问EditText或其他UI组件

我正在使用Android Studio 3.0 RC2&Kotlin。 当我尝试访问一个UI组件时,应用程序崩溃,除非我先写findViewById。 我以为Kotlin应该摆脱不得不写的findViewById线? 用户界面是一个fragment ,我试图从相同的fragment代码访问。 有没有办法不必写findViewById? 这些线路工作: var userNameField = view?.findViewById<EditText>(R.id.userNameTextField) as EditText userNameField.setText("hello world") 没有findViewById行这行不工作 userNameTextField.setText("hello world") 我什至有 import kotlinx.android.synthetic.main.fragment_sign_in.* onCreateView()代码: override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { // Inflate the layout for this fragment var view = inflater!!.inflate(R.layout.fragment_sign_in, container, false) var userNameField = view?.findViewById<EditText>(R.id.userNameTextField) as EditText userNameField.setText("hello […]

在kotlin如何做即时应用功能?

我需要在kotlin中做一个新的Android项目,支持即时应用程序功能,我可以做到这一点? 这是Google的一个已知问题,您无法使用kotlin插件和Instant Apps SDK进行Gradle同步。 难道这个问题依然存在?