Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kotlin + Javaで始めるAndroid開発
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tebasakyu
June 26, 2017
Programming
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlin + Javaで始めるAndroid開発
KotlinのLT会!Kotlin入門者の集い
https://kotlin.connpass.com/event/52374/
tebasakyu
June 26, 2017
More Decks by tebasakyu
See All by tebasakyu
育児 × 在宅勤務のTips
tebasakyu
5
6.3k
育児タスクのカンバン管理 離乳食編
tebasakyu
1
2.2k
Annotations specific to the Java platform.
tebasakyu
1
1.1k
Firebaseでslack力を上げる
tebasakyu
1
2k
Other Decks in Programming
See All in Programming
どこまでゆるくて許されるのか
tk3fftk
0
500
えっ!!コードを読まずに開発を!?
hananouchi
0
220
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
870
AIエージェントで 変わるAndroid開発環境
takahirom
2
680
5分で問診!Composer セキュリティ健康診断
codmoninc
0
360
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
140
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
250
霧の中の代数的エフェクト
funnyycat
1
410
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
340
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
200
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.8k
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
BBQ
matthewcrist
89
10k
Become a Pro
speakerdeck
PRO
31
6k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
A Soul's Torment
seathinner
6
3.1k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
640
Evolving SEO for Evolving Search Engines
ryanjones
0
240
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
Kotlin + Java で始めるAndroid開発 2017.06.26 KotlinのLT会!Kotlin入門者の集い @tebasakyu
自己紹介 • 鈴木 誠 (Makoto Suzuki) ◦ 娘: 遙華(Haruka) 4ヶ月
• Monstar Lab, Inc. • Android Engineer • Twitter: @tebasakyu • GitHub: @tebasakyu
Start New Project or
択一だっけ?
Start New Project and
立ち回りの基本 • KotlinがJavaからどう見えるのか理解する • Java勢に優しくなる ◦ PublicなものはJava寄りに記述 ◦ Privateなものは好きに書く •
役割分担 ◦ Utilなどのメンテすることが少ないもの ▪ 引き継ぎコストを(多少は)気にしなくなる ◦ テストクラス
どう見える - Null Safety class StringUtil { companion object {
@JvmStatic fun equals(value1: String?, value2: String): Boolean { return TextUtils.equals(value1, value2) } } }
どう見える - 拡張関数 FileName: ViewExtentions.kt fun View.toVisible() { this.visibility =
View.VISIBLE }
どう見える - 拡張関数 FileName: ViewExtentionsKt.java public static void toVisible(@NonNull View
view) { view.setVisibility(View.VISIBLE); } Javaからはこのようなクラスとメソッドが用意されている様に見え ている。 ものによっては、あまり便利に使えない場合もある。
PublicでもKotlinしていいところ fun newInstance(id: Int) = DetailFragment().apply { arguments = Bundle().apply
{ putInt(KEY_ID, id) } } 例えば、Fragmentのインスタンス生成を行う関数。
• 戻り値の型の省略 ◦ DetailFragment#newInstanceの戻り値は自明なので、こ れならば省略しても大丈夫。 ◦ “isHoge”関数も同様に省略して良い。 ▪ 名称から見て、Booleanを返すのは自明である。 •
スコープ関数の使用(apply) ◦ DetailFragment#newInstanceの内容を呼び出し元が大 きく気にかけることは無い。そのため、自由に記述しても大 丈夫。 ◦ 仮に渡す値が増えても、改修内容は複雑では無い。
PublicでもKotlinしていいところ fun toUpperCase(value: String?) { value ?: return value.toUpperCase() }
fun toLowerCase(value: String?) { value?.run { toLowerCase() } } 条件が複雑でなければ雰囲気で分かる
ライブラリ • Javaで書かれたもの ◦ 概ね自由に使える ◦ Annotationものにはkaptを忘れないこと • Kotlinで書かれたもの ◦
Javaから実行する際に公式readmeと記法が異なる場合 があるので注意されたし 例:”@JvmStacic”の有無でJavaから実行する際の記法が異なる なし:FrogUtil.Companion.pickles(); あり:FrogUtil.pickles();
コードレビュー • 互いに実施して理解を深め合う ◦ チームでレベルアップする • 読み方が分からない、分かりづらいポイントは解説する • レビューを通して、コーディングのルールを作っていく
Thank you.