問題タブ [kotlin-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
912 参照

java - Android での Kotlin ビルドの問題

multidex を使用するやや大規模なプロジェクトに Kotlin を統合しました。

したがって、ビルドしようとすると、次のエラーが発生します。

:incrementalDesygnerDebugJavaCompilationSafeguard UP-TO-DATE :compileDesygnerDebugKotlin WARN: Failed to initialize native filesystem for Windows java.lang.RuntimeException: Could not find installation home path. Please make sure bin/idea.properties is present in the installation directory.

パスは正しく構成されているようで、idea.propertiesファイルはそこにあるようです:C:\Program Files\Android\Android Studio\bin\idea.properties

建物が停止するまでに数分かかるので、Windows のタスク マネージャーから手動で停止します。

再試行すると、ビルドは成功します!

しかし、行を変更して再構築すると、同じエラーが再び表示されます。

時々私もこれを手に入れます:

The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: PermGen space

あらゆる種類のメモリ設定を増やしてみましたが、正しく行われていない可能性があります

org.gradle.jvmargs=-Xmx8g -XX:MaxPermSize=2048m私が持っているものですgradle.properties

Instant Run のオンとオフを試してみました。

プロジェクトは Kotlin なしで正常にビルドされ、Android Studio 2.0 安定版、Kotlin 安定版、Kotlin EAP および AS Canary ビルドを試しました。

PSgradlew assembleDebugは、AS でビルドしてみるまで毎回動作します。

編集:同じプロジェクトを試しました:

  • 別の Windows 10 PC -> 同じこと。
  • OSX -> 問題なく動作します。

何か案は?

0 投票する
0 に答える
89 参照

maven - Mavenの依存関係でKotlin拡張機能を「有効にする」方法の例はありますか?

Kotlin を使い始めて、Kotlin-JDBC サンプル ( https://github.com/kotlin-projects/kotlin-jdbc ) を使用しようとしており、Kotlin/Maven プロジェクトに次の依存関係を追加しました。

ただし、拡張関数はどれも IntelliJ には表示されません。

「更新」は IDE に赤で表示されます。これを修正する方法について何か考えはありますか?

0 投票する
1 に答える
250 参照

kotlin - 親コンテキストで変数を作成する方法

Kotlinでこの構文に似たものを実装しようとしています

a内で解決できないため、現時点ではこれは機能しませんafter。これはクロージャーの仕組みによるものだと理解しています。

私の質問は、Kotlin にこれを可能にし、レシーバー オブジェクトに格納され、他のクロージャー/拡張機能にアクセスできるような方法でクロージャー/拡張機能に変数を作成できるメカニズムがあるかどうかです。

これは、Groovy スクリプトを Kotlin に移行する取り組みの一環です。

免責事項: これは、Kotlin を使用する初めての試みです。ドキュメントを読みましたが、何か(多く)が欠けている可能性があります。自由に正しい方向を指してください

EDIT:コンパイル可能な例を追加

0 投票する
2 に答える
830 参照

properties - 可変プロパティの Kotlin 拡張関数

拡張機能でプロパティを再割り当てできるように、変更可能なプロパティに拡張機能を設定しようとしています。可能かどうか知りたかった。

私の目標はDate、簡単にアクセスできる拡張機能を作成することです。例えば:

この関数は、オブジェクトを使用して日付に日数を追加しCalendarます。問題は、この関数を使用するたびに再割り当てするのが混乱する可能性がある新しい日付を返す必要があることです。

私が試したこと:

Date残念ながら、これはオブジェクトでは使用できません。

これを行うことは可能ですか?

0 投票する
1 に答える
2033 参照

android - Android SDK クラスの Kotlin 拡張関数の単体テスト

Kotlinの拡張機能は素晴らしいです。しかし、それらに対して単体テストを実行するにはどうすればよいでしょうか? 特に、Android SDK が提供するクラス (Context、Dialog など) のもの。

以下に 2 つの例を示します。単体テストの方法を誰かが共有できるかどうか、または本当に単体テストを行いたい場合に別の方法で記述する必要があるかどうかを教えてください。

どんな提案も役に立ちます。ありがとう!

0 投票する
2 に答える
1576 参照

android - 関数パラメーターを介して拡張関数を送信できますか

私は以下のいくつかの拡張機能関数を持っています。

setEmailValidationListenerとはsetPasswordValidationListener、それぞれ使用する検証関数、つまりvalidateEmailFormatとを除いて、同じですvalidatePasswordFormat

そのため、以下のように 2 つの関数の共通コードを共通関数にリファクタリングする予定です。

validationFunc...基本的には、パラメーターとして送信するだけです。

EditText.validateEmailFormatただし、 andEditText.validatePasswordFormatvalidationFunc関数パラメーターに送信する方法が見つかりません。

どうすればそれを達成できますか?

0 投票する
3 に答える
762 参照

android - Kotlin クラス NoClassDefFoundError クラッシュ

次のライブラリを使用する既存の Android プロジェクトがあります。

  1. 自動値
  2. ダガー2
  3. RxJava
  4. レトロラムダ

プロジェクトをゆっくりと Kotlin に移行できるように、Kotlin サポートを追加しようとしています。これが私がやったことです。

  1. Kotlin の依存関係を追加しました。
  2. クラスの 1 つを Kt クラスに変換し、src/main/kotlin/..package..

  3. ソースセットに kotlin を追加しました。sourceSets { main.java.srcDirs += 'src/main/kotlin' }

  4. クリーン ビルドを実行してアプリをデプロイすると、NoClassDefFoundError 例外が発生します。ただし、再度デプロイすると問題なく動作します。助言がありますか?kapt変換したクラスには注釈がないため、プラグインは適用しませんでした。

注: 最新の kotlin 1.0.4 を使用しています。また、インスタントランを無効にしています。