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
How to start Android app development
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Daichi Furiya (Wasabeef)
January 17, 2018
Programming
880
1
Share
How to start Android app development
How to start Android app development
Daichi Furiya (Wasabeef)
January 17, 2018
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.7k
About Flutter Architecture
wasabeef
1
310
2023 Flutter/Dart Summary
wasabeef
0
130
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
230
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3.1k
What it Takes to be a Flutter Developer
wasabeef
0
240
FlutterKaigi 2022 Keynote
wasabeef
1
700
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.5k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.2k
Other Decks in Programming
See All in Programming
tRPCの概要と少しだけパフォーマンス
misoton665
2
220
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
170
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
980
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
5k
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
1k
Coding as Prompting Since 2025
ragingwind
0
840
Oxlintとeslint-plugin-react-hooks 明日から始められそう?
t6adev
0
280
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
130
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
630
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
900
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
480
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
150
How to Ace a Technical Interview
jacobian
281
24k
How to Talk to Developers About Accessibility
jct
2
180
Ruling the World: When Life Gets Gamed
codingconduct
0
210
Optimizing for Happiness
mojombo
378
71k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
280
A Tale of Four Properties
chriscoyier
163
24k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
540
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
It's Worth the Effort
3n
188
29k
Transcript
How to start Android app development wasabeef GDG Tokyo New
Year 2018
About me Daichi Furiya Google Developer Expert CyberAgent, Inc. @wasabeef_jp
wasabeef
Android OS
8.1 Oreo (2017/12) Unix like (C/C++, Java) smartphones, tablets,
TV, wear, auto Android OS
None
Lessons
Building Your First App Different Devices Lifecycles System Permissions Lessons
Building Your First App Different Devices Lifecycles System Permissions Lessons
Building Your First App Different Devices Lifecycles System Permissions Lessons
Building Your First App Different Devices Lifecycles System Permissions Lessons
Building Your First App Different Devices Lifecycles System Permissions Lessons
Building Your First App
Android Studio d.android.com/studio
Demo!
None
Kotlin
Concise Safe Interoperable Tool-Friendly Kotlin Kotlin Koans Online https://try.kotlinlang.org
Diffrent Devices
Diffrent Devices
Versions (2018/01) Version Release Date Codename API Distribution 2.3.3 -
2.3.7 2010/12 Gingerbread 10 0.4% 4.0.3 - 4.0.4 2011/10 Ice Cream 15 0.5% 4.1.x 2012/07 Jelly Bean 16 1.9% 4.2.x 2012/11 17 2.9% 4.3 2013/7 18 0.8% 4.4 2013/10 KitKat 19 12.8% 5.0 2014/11 Lollipop 21 5.7% 5.1 2015/03 22 19.4% 6.0 2015/10 Marshmallow 23 28.6% 7.0 2016/08 Nougat 24 21.1% 7.1 2016/12 25 5.2% 8.0 2016/08 Oreo 26 0.5% 8.1 2017/12 27 0.2%
Support Library
Backward Compatibility for newer APIs Convenience and Helper Classes Debugging,
Testing and Utilities Support Library
Support Library // build.gradle (app) dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.51" implementation
"com.android.support:appcompat-v7:27.0.2" implementation "com.android.support:design:27.0.2" }
Support Library <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:src="@drawable/ic_my_icon" android:layout_margin="16dp" />
Lifecycles
Lifecycles
Lifecycles override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } override
fun onResume() { super.onResume() } override fun onPause() { super.onPause() } override fun onDestroy() { super.onDestroy() }
System Permissions
System Permissions <!— AndroidManifest.xml —> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="jp.wasabeef.demo" > <uses-permission
android:name="android.permission.INTERNET" /> ... </manifest>
Internet Camera Storage Location Vibrate System Permissions Calendar Contacts Phone
Wake Lock Alarm
Runtime Permissions at Run time ~ Lollipop (5.x) Marshmallow (6.x)
~
Etc..
View Animation Intent Kotlin Support Library RxJava, RxKotlin Android Architecture
Components Etc.. Testing Media (ExoPlayer) FireBase DI (Dagger..)
Thank you. twitter.com/wasabeef_jp wasabeef.jp github.com/wasabeef