2018年12月28日金曜日

ML Kit のサンプルコードと資料を更新しました。

8月1日に開催した ML for Mobile Developers の資料とハンズオンのコードを更新しました。

資料は12月14日の Google Developers ML Summit で発表した ML Kit の内容を利用したものに変更しました。




ハンズオンのコード https://github.com/yanzm/MLKitSample は最新の ML Kit SDK を使ったものに更新しました。

2018年12月17日月曜日

Kotlin メモ : require(), check()

require

指定した condition を満たさなかった場合 IllegalArgumentException が throw されます。IllegalArgumentException に渡す message を第2引数の lambda で指定することができます。
  1. data class AccessKey(val value: String) {  
  2.     init {  
  3.         // value が empty の場合 IllegalArgumentException("value must not be empty") が throw される  
  4.         require(value.isNotEmpty()) { "value must not be empty" }  
  5.     }  
  6. }  



check

指定した condition を満たさなかった場合 IllegalStateException が throw されます。IllegalStateException に渡す message を第2引数の lambda で指定することができます。
  1. data class AccessKey(val value: String) {  
  2.     init {  
  3.         // value が empty の場合 IllegalStateException("value must not be empty") が throw される  
  4.         check(value.isNotEmpty()) { "value must not be empty" }  
  5.     }  
  6. }  



2018年12月9日日曜日

sapporo.apk #2 で Jetpack について講演してきました。

sapporo.apk #2 で Jetpack の各機能の紹介をしてきました。おまけとして AndroidX の stable と最新のライブラリバージョンを載せてあります。

AndroidX は 1.0.0 がでて、そろそろ Support Library から AndroidX への移行を進めた方がよいでしょう。 次の 1.1.0-alpha もいくつかの artifact で出ています。 個人的には androidx.activity:activity:1.1.0-alpha02 で ViewModel を取得するための "by viewModels()" Kotlin property delegate が入ったのが熱いです。
  1. class MainActivity : AppCompatActivity() {  
  2.   
  3.     private val viewModel : MainViewModel by viewModels()  
  4.   
  5.     ...  
  6.   
  7. }