2017-01-01から1年間の記事一覧

Kotlinで型パラメータの型情報を取得する

フレームワークやライブラリの仕様で、Classインスタンスが必要になる場合があります。 例: AndroidのIntentを作る場合、jsonを特定の型にパースする場合など JavaとKotlinではこのような場合にどのような違いがあるのか調べました。 Javaの場合 以下のよう…

Kotlinで関数の引数などの条件をチェックする関数

kotlinの標準ライブラリに条件式を満たさなければ例外を出すという動作を行う関数が定義されています。 関数内で引数の条件をチェックする場合などに使うと便利なので紹介したいと思います IllegalArgumentExceptionを発生させる 引数をチェックするための関…

演算子オーバーロードを使ってFragmentを生成しない方が良いのではないか

少しツイートが古いですが、Kotlin + AndroidのFragmentで下記ツイートの方法を使っているコードを見かけたので自分の考えを書いておきます ※このツイートがどのような文脈で呟かれたのかを確認していないのでこのツイートだけを見て思った感想です。 class …

Kotlinのデフォルト値を使用した関数やコンストラクタをJavaから使用する際のtips

tl;dr Kotlinコードで定義したデフォルト値を使用した関数,コンストラクタをJavaコードで使う事を想定する場合には@JvmOverloadsアノテーションをつける @JvmOverloadsアノテーション Kotlinの関数やコンストラクタの宣言で、以下のようにデフォルト値を使う…

Kotlinレポジトリのidea pluginやJ2Kのテスト実行方法メモ

Kotlin1.1.50あたりからビルドスクリプトがgradle(Gradle Kotlin Script)になった。その影響かテストの実行方法が変わっていたので、メモしておく ※以下の情報は古くなる可能性が高いのでまずはKotlin(github)のReadmeを先に読んでください Gradleタブから実…

CamTwistを使ってAndroidEmulatorのカメラソースをPC画面にする

バーコード読み取り機能を作る場合などにいちいち実機でバーコードをスキャンするのが面倒臭かったのでなんとかPCに表示した画像をエミュレータのカメラソースにできないか調べてみました CamTwist CamTwistはニコニコ生放送やTwitchなどで配信する時に、Web…

FCMを使ってAndroid端末へ通知を送るスクリプト

Firebase Cloud Messaging(FCM)を使ってAndroid端末へ通知を送るスクリプトを作りました(iOSは非対応です) スクリプト内で送られているデータはcurlを使う場合を参照してください 作成したスクリプト ソースコードは https://github.com/sckm/fcm-send にあ…

FirebaseCrashReportingにmappingファイルをあげるスクリプトを作った

FirebaseCrashReportingにAndroidのマッピングファイルをあげる際に相対パスが使えなかったり、google-services.jsonがapp直下にない時にAppIdなどを指定するのが面倒くさかったのでgolangでスクリプトを作ってみました ソースコードは https://github.com/s…

RxJava2のSingle.zipのエラー処理ではまった話

問題 RxJavaでたまにonErrorReturnItemなどでエラー処理をしていてもたまにエラーがすり抜けてきてアプリが落ちてしまうことがあった 問題となっていそうな部分を簡単に表すと以下のようになっていた Single.zip( Single Single ) .onErrorReturnItem 対処方…