SlideShare a Scribd company logo
Android Kotlin
2017.06.29
Kenichi Kambara (@korodroid)
6 Kotlin
About me
•
•
• Droidcon Stockholm 2014
• Droidcon Spain 2014
• Droidcon Amsterdam 2013
• Droidcon Paris 2013
• Smartphone & Tablet 2014 Spring Tokyo
• Developers Summit 2013 Summer & 2015
•
• Mobile Dev Blog
• Android
• NTT
(@korodroid)
Introduction
• Kotlin
•
Kotlin
Qiita ( )
Kotlin
- : All Java
- OSS: DataBinding / Retrofit
Kotlin
- : All Kotlin
- OSS:
Kotlin
Kotlin
[Menu]Code->Convert Java File to Kotlin File
(^^)v
…
(><)
…
AndroidアプリのKotlin移行時に遭遇した問題と対処例
Error:Circular dependency
between the following tasks:
:app:compileDebugKotlin
Error:Circular dependency
between the following tasks:
:app:compileDebugKotlin
Gradle Plugin
Gradle Plugin
(3.0.0-alpha3 )
Caused by: java.lang.IllegalArgumentException:
Parameter specified as non-null is null: method
kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,
parameter savedInstanceState
Caused by: java.lang.IllegalArgumentException:
Parameter specified as non-null is null: method
kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,
parameter savedInstanceState
Kotlin Nullable
NotNull
Nullable ( ? )
※ ( )
Unresolved reference: databinding
Unresolved reference: ActivityMainBinding
…
Unresolved reference: databinding
Unresolved reference: ActivityMainBinding
…
Kotlin Java
GenerateStubs
App build.gradle
android {

…
kapt {
generateStubs = true
}
…
}
Cannot access 'binding': it is
private in 'ViewBindingHolder'
Cannot access 'binding': it is
private in 'ViewBindingHolder'
binding
private
private
Platform declaration clash: The following
declarations have the same JVM signature
(getRetrofit()Lretrofit2/Retrofit;):
Platform declaration clash: The following
declarations have the same JVM signature
(getRetrofit()Lretrofit2/Retrofit;):
Kotlin getter/setter
getter/setter
e.g.) getRetrofit→getRetrofitInstance
Smart cast to 'Retrofit' is impossible,
because 'retrofit' is a mutable property
that could have been changed by this time
Smart cast to 'Retrofit' is impossible,
because 'retrofit' is a mutable property
that could have been changed by this time
SmartCast
)Smart Cast
Smart Cast
fun demo(x: Any) {
if (x is String) {
print(x.length)
}
Smart Cast
fun demo(x: Any) {
if (x is String) {
print(x.length) //
}
Smart Cast
fun demo(x: Any) {
if (x is String) {
print(x.length) // Kolin
}
Conclusion (Kotlin )
•
• Kotlin
• ( ) 

or Kotlin
Appendix
- Please let me know if you have any requests 

such as technical speeches, technical writings and so on.
Facebook:http://fb.com/kanbara.kenichi
Google+:+Kenichi Kambara
LinkedIn:http://www.linkedin.com/in/korodroid
Twitter:@korodroid
Thank you so much.

More Related Content

PDF
20分くらいでわかった気分になれるC++20コルーチン
PPTX
RPGにおけるイベント駆動型の設計と実装
PDF
Unityでオニオンアーキテクチャ
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PDF
できる!並列・並行プログラミング
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
PPTX
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
PPTX
競プロでGo!
20分くらいでわかった気分になれるC++20コルーチン
RPGにおけるイベント駆動型の設計と実装
Unityでオニオンアーキテクチャ
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
できる!並列・並行プログラミング
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
競プロでGo!

What's hot (20)

PDF
ドメイン駆動で開発する ラフスケッチから実装まで
PDF
中級グラフィックス入門~シャドウマッピング総まとめ~
PPTX
RustによるGPUプログラミング環境
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
PDF
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
PDF
C#でわかる こわくないMonad
PPTX
C#とILとネイティブと
PDF
Go mobileでモバイルアプリを作ろう
PDF
【Unite 2017 Tokyo】スマートフォンでどこまでできる?3Dゲームをぐりぐり動かすテクニック講座
PPTX
なぜなにリアルタイムレンダリング
PDF
カスタムメモリマネージャと高速なメモリアロケータについて
PDF
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
PDF
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
PDF
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
PDF
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
PDF
Unityではじめるオープンワールド制作 エンジニア編
PDF
GLSLによるシェーダーアートことはじめ
PDF
Quine・難解プログラミングについて
PPTX
HoloLens2とPCで、WebRTCで映像をやりとり
ドメイン駆動で開発する ラフスケッチから実装まで
中級グラフィックス入門~シャドウマッピング総まとめ~
RustによるGPUプログラミング環境
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C#でわかる こわくないMonad
C#とILとネイティブと
Go mobileでモバイルアプリを作ろう
【Unite 2017 Tokyo】スマートフォンでどこまでできる?3Dゲームをぐりぐり動かすテクニック講座
なぜなにリアルタイムレンダリング
カスタムメモリマネージャと高速なメモリアロケータについて
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】大量のオブジェクトを含む広いステージでも大丈夫、そうDOTSならね
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~​
文脈を操る美しきZenjectプロジェクトからの眺め 〜Contextの扱い方と活用方法〜
Unityではじめるオープンワールド制作 エンジニア編
GLSLによるシェーダーアートことはじめ
Quine・難解プログラミングについて
HoloLens2とPCで、WebRTCで映像をやりとり
Ad

More from Kenichi Kambara (20)

PDF
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
PDF
Hello Flutter”の次におさえたい Flutterのポイント その5
PDF
[ABC2018Spring]Flutterアプリ開発入門
PDF
“Hello Flutter”の次におさえたい Flutterのポイント その4
PDF
[Google I/O 2018 Highlights] Sandbox
PDF
[Google I/O 2018 Highlights] Flutter / WearOS
PDF
"Hello Flutter"の次におさえたいFlutterのポイントその3
PDF
Hello Flutterの次におさえたいFlutterのポイントその2
PDF
I/Oへの期待+海外渡航持ち物Tips
PDF
Hello Flutterの次におさえたいFlutterのポイント
PDF
Developing Android Apps for Google Assistant
PDF
Google Assistant対応アプリ開発3つのポイント
PDF
10分で作るGoogle Assistant対応アプリ
PDF
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
PDF
Android O (Picture In Picture)入門+実装例
PDF
Android O (Beta) Topics
PDF
Publishing Android Wear 2.0 Apps
PDF
Android Studio 2.3 New Features
PDF
Android 7.0 Nougat マルチウィンドウ解説+α
PDF
日本androidの会定例会2016年6月_Android Wear 2.0+関連展示紹介
Hello Flutterの次におさえたい Flutterのポイント その6 (レイアウト編)
Hello Flutter”の次におさえたい Flutterのポイント その5
[ABC2018Spring]Flutterアプリ開発入門
“Hello Flutter”の次におさえたい Flutterのポイント その4
[Google I/O 2018 Highlights] Sandbox
[Google I/O 2018 Highlights] Flutter / WearOS
"Hello Flutter"の次におさえたいFlutterのポイントその3
Hello Flutterの次におさえたいFlutterのポイントその2
I/Oへの期待+海外渡航持ち物Tips
Hello Flutterの次におさえたいFlutterのポイント
Developing Android Apps for Google Assistant
Google Assistant対応アプリ開発3つのポイント
10分で作るGoogle Assistant対応アプリ
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
Android O (Picture In Picture)入門+実装例
Android O (Beta) Topics
Publishing Android Wear 2.0 Apps
Android Studio 2.3 New Features
Android 7.0 Nougat マルチウィンドウ解説+α
日本androidの会定例会2016年6月_Android Wear 2.0+関連展示紹介
Ad

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
1. Introduction to Computer Programming.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
A comparative analysis of optical character recognition models for extracting...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Approach and Philosophy of On baking technology
Spectral efficient network and resource selection model in 5G networks
MIND Revenue Release Quarter 2 2025 Press Release
Advanced methodologies resolving dimensionality complications for autism neur...
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Group 1 Presentation -Planning and Decision Making .pptx
Digital-Transformation-Roadmap-for-Companies.pptx
NewMind AI Weekly Chronicles - August'25-Week II
1. Introduction to Computer Programming.pptx
20250228 LYD VKU AI Blended-Learning.pptx

AndroidアプリのKotlin移行時に遭遇した問題と対処例