読者です 読者をやめる 読者になる 読者になる

visible true

技術的なメモを書く

Kotlin 1.1 async/awaitの仕組みと使い方の概要 for Android

これはKotlin Advent Calendar2016の19日目のエントリです。 本エントリではKotlinの次期バージョン(1.1)で導入されるコルーチンと、その実装のひとつであるasync/awaitについて解説します。 今回書いているコードはGitHub - sys1yagi/kotlin-async-await-sa…

「解剖 Kotlin ~バイトコードを読み解く~」をGitBookで公開しました。

テクブの夏コミ(C90)のアンドロイドアカデミアに書いた解剖 Kotlin ~バイトコードを読み解く~をGitBookにて公開しました。 GitBook こちらから読めます 解剖 Kotlin ~バイトコードを読み解く~ 概要 解剖 Kotlin ~バイトコードを読み解く~はKotlinで書いたプ…

WEB+DB PRESS vol.94で特集「はじめてのKotlin」を書きました

2016年8月24日発売のWEB+DB PRESS vol.94(¥1,598)で特集「はじめてのKotlin」を書きました。 Amazon: https://www.amazon.co.jp/dp/4774182869 WEB+DB PRESS: http://gihyo.jp/magazine/wdpress WEB+DB PRESS vol.94: http://gihyo.jp/magazine/wdpress/arch…

Kotlin学習の知見のかたまり「Kotlinスタートブック」はサイコーのKotlin入門本です

Kotlinスタートブックを献本頂いたので感想を書きます。 Kotlinスタートブック-新しいAndroidプログラミング 概要 KotlinスタートブックはJavaエンジニアおよびAndroidアプリケーションエンジニア向けにKotlinの基本を解説する本です。Kotlinの文法や機能を…

Kotlin Tips: Reified Type Parametersで型チェックを汎用化する

問題 Kotlin Tips : Intentに必要な値が入っていない場合例外をスローしたい - visible trueではgetLongOrThrow()をIntentに追加しlazyを使う事で可読性を高めた。 Intent.getIntOrThrow(key: String)のおさらい fun Intent.getIntOrThrow(key: String): Int…

Kotlin Tips: 可読性のために拡張関数で別名をつける

問題 次のコードはRxJavaのCompletableを利用している例である。 repository.deleteEntry(entry) .subscribe( { e -> view.hideProgress() view.showError(e) }, { view.hideProgress() } ) このコードには次の問題がある。 repository.deleteEntry()がCompl…

Kotlin Tips : Intentに必要な値が入っていない場合例外をスローしたい

実際にKotlinを使っているなかで思いついたことなどをこまめにメモると良い気がしたのでなるべく書いていく Before : デフォルト値を使ってチェックする 以下のようにActivityでintなどのプリミティブな値を受け取るとする。値はrequiredでセットされなかっ…

Kotlin学習とライブラリ作成

第2回Kotlin勉強会 @ Sansan - connpassで「Kotlin学習とライブラリ作成」というタイトルで話してきました。 kmockito jitpackで配信してるので使えます。 GitHub - sys1yagi/kmockito: Mockito for Kotlin. allprojects { repositories { ... maven { url …

kaptで発生するエラーを回避するworkaround (JSR 269ライブラリ作者向け)

KotlinでJSR 269のライブラリを使う場合以下の様にkaptを使って設定するわけですが不安定な動きをする場合があります。 kapt { generateStubs = true } dependencies { compile 'com.github.sys1yagi.fragment-creator:library:0.6.0' kapt 'com.github.sys1…

【解決編】cloud-endpointsを使っているとkaptでコンパイルできなかった

cloud-endpointsを使っているとkaptでコンパイルできなかった - visible trueではgoogle-api-clientのjarを直接参照する事で問題を回避しましたが、根本的な原因と対応方法を@yanex_ru氏に教えて頂きました。 @sys1yagi お待たせしました!今kapt-cloud-endp…

cloud-endpointsを使っているとkaptでコンパイルできなかった

Kotlinでaptがサポートされてサイコーに捗りそうですね。 kapt: Annotation Processing for Kotlinblog.jetbrains.com 早速試してたんですが、以下のエラーが出てコンパイルできないケースがありました。 java.lang.NoSuchMethodError: com.google.common.collec…

jetBrains/anko触ってたらよくわからない実装を見たので調べたらKotlinで引数に拡張関数を取る関数を作れる事がわかった

JetBrains/ankoというイカしたUI構築用DSLが出ましたね。ankoの良さについてはまだ語れるほど使い込んでないので今度にするとして、ankoの実装見てたらよくわからない書き方に出会ったので調べましたメモです。 JetBrains/ankogithub.com ankoとは ankoはKot…