Tag: 安卓

未解决的参考:使用greendao和kotlin的DaoSession

我想转换一个用java编写的android项目到kotlin。 我的greendao类已经生成了我生成任何时候我得到一个Unresolved reference: DaoSession错误消息。 我有 kapt { generateStubs = true }在我的构建gradle代码中。

我可以使用Kotlin为Android开发使用第三方Java库(.jar)吗?

我还没有转移到Android开发Kotlin,只是想知道Kotlin是否支持Android的第三方库,或者他们需要更新,以便与Kotlin一起工作?

Kotlin折叠和缩小的基本区别是什么? 什么时候用哪个?

我正在经历Kotlin的基础知识,我对Kotlin的这两个函数fold()和reduce()都很困惑,任何人都可以给我一个具体的例子来区分两者吗?

butterknife 7.x和Kotlin M14一起工作吗?

我试图用一些Kotlin代码和Java代码来使用Butterknife。 我知道在M12之前,ButterKnife需要注释处理的支持是不好的或者根本不支持。 所以我把我的活动保持在Java中。 至少在Java中使用Butterknife 6.x和preM12 Kotlin工作。 我现在正在用M13和M14尝试butterknife 7.x。 它应该有注解处理支持,但它不适合我。 bind()函数不会绑定用Java编写的适配器中的任何内容,也不会用Kotlin编写的活动。 我在build.gradle中使用这个(在Github上试过最新版本): apply plugin: 'com.neenbedankt.android-apt' dependencies { provided files('libs/butterknife-annotations.jar') kapt files('libs/butterknife-compiler-8.0.0-SNAPSHOT.jar') compile 'com.jakewharton:butterknife:8.0.0-SNAPSHOT@aar' } 这不会编译。 我也尝试编译“com.neenbedankt.android-apt”,但绑定不起作用。 我知道那里可能还没有支持butterknife 。 但有没有什么破解得到它的工作?

在android studio中使用main函数运行单个kotlin类

我正在尝试熟悉Kotlin在我的android应用程序中使用。 所以首先我想尝试一些简单的kotlin示例,只是为了熟悉kotlin的语法。 我只用main方法在我的android项目中创建了一个名为Main.kt的类。 fun main(args: Array<String>) { println("Hello World"); } Android工作室向我展示了主方法左侧的一个kotlin图标,当我点击这个图标时,它会显示下面三个选项: 1)运行Mainkt 2)调试Mainkt 3)运行与覆盖面的Mainkt 我选择了第一个,但它抛出了我 Exception in thread "main" java.lang.ClassNotFoundException: com.vikalp.kotlin.MainKt at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:107) 我陷入了这样一个小问题。 让我知道你们中的任何一个人是否面临这样的问题和解决方案。

纯粹的kotlin模块中的“空测试套件”。 (斯波克/ Android装置)

我的Android应用程序是多模块项目: include (android-app/kotlin-android)':application', (pure kotlin)':presentation', (pure kotlin)':domain', (android-library/kotin-android)':dataproviders' 模块:应用程序和:数据提供者与Spock正常工作,测试运行和完成没有问题。 但是:纯粹kotlin模块的表现和领域与spock框架有问题。 有我简单的例子: MostPopularPresenterTest.groovy class MostPopularPresenterTest extends Specification { def "exampleTest"(){ when: int i = 1 then: i == 1 } } 此测试以错误结束: 未找到类:“pl.hypeapp.presentation.mostpopular.MostPopularPresenterTest”空的测试套件。 但是,用Java / Junit4写的测试通过并没有发生任何错误: MostPopularPresenterTest2.java public class MostPopularPresenterTest2 { @Test public void test(){ assertEquals(1, 1); } } 我正在使用Android Studio 3.0 Canary 5你可以看看我在github上的build.gradle文件: 的build.gradle dependencies.gradle […]

Kotlin:声明一个Activity静态的子类

在将Java代码转换为包含子类Fragment的Activity后,布局将无法正确渲染(logcat错误朝向本文底部)。 我想,因为声明一个活动的子类必须声明为静态的 ,这是我转换为Kotlin后的: class SettingsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_settings) } override fun onOptionsItemSelected(item: MenuItem): Boolean { if (item.itemId == android.R.id.home) { finish() return true } return super.onOptionsItemSelected(item) } // Apparently the following class must be declared static. class SettingsFragment : PreferenceFragmentCompat(), OnSharedPreferenceChangeListener { override fun onCreatePreferences(savedInstanceState: Bundle, rootKey: String) […]

Android上的Kotlin:无法找到主合并清单。 什么是造成这个错误?

我想给科林一枪。 我将我的java类转换为Kotlin并纠正了一些错误。 如果我尝试构建,出现以下错误: 错误:任务':app:generateDebugInstantRunAppInfo'的执行失败。 找不到主合并清单。 这是清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mdrueke.kniffel"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" android:windowSoftInputMode="adjustPan"> </activity> <activity android:name=".Setup_Activity" android:windowSoftInputMode="adjustPan"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 谢谢你的帮助!

ObjectAnimator.ofFloat不能直接在kotlin中将Int作为参数

我正在kotlin项目上工作,我尝试将java中的方法转换为kotlin。 我现在得到这个错误 所提供的参数都不能调用以下函数。 它发生在ObjectAnimator.ofFloat() 代码如下 码 fun animate(holder: RecyclerView.ViewHolder, goesDown: Boolean) { val animat = AnimatorSet() val objectY = ObjectAnimator.ofFloat(holder.itemView, "translationY", if (goesDown) 200 else -200, 0) objectY.setDuration(Kons.Duration.toLong()) val objectX = ObjectAnimator.ofFloat(holder.itemView, "translationX", -50, 50, -30, 30, -20, 20, -5, 5, 0) objectX.setDuration(Kons.Duration.toLong()) animat.playTogether(objectX, objectY) animat.start() }

如何在Kotlin中加载片段?

我是新的kotlin我在我的应用程序中添加底部栏 val bottomNavigationView = findViewById<View>(R.id.navigation) as BottomNavigationView BottomNavigationViewHelper.removeShiftMode(bottomNavigationView) bottomNavigationView.setOnNavigationItemSelectedListener { item -> var selectedFragment: Fragment? = null when (item.itemId) { R.id.action_item1 -> selectedFragment = ItemOneFragment.newInstance() R.id.action_item2 -> selectedFragment = ItemTwoFragment.newInstance() R.id.action_item3 -> selectedFragment = ItemThreeFragment.newInstance() R.id.action_item4 -> selectedFragment = ItemThreeFragment.newInstance() } val transaction = supportFragmentManager.beginTransaction() transaction.replace(R.id.frame_layout, selectedFragment) transaction.commit() true } //Manually displaying the first fragment […]