Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to start Android app development
Search
Daichi Furiya (Wasabeef)
January 17, 2018
Programming
1
870
How to start Android app development
How to start Android app development
Daichi Furiya (Wasabeef)
January 17, 2018
Tweet
Share
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.3k
About Flutter Architecture
wasabeef
1
290
2023 Flutter/Dart Summary
wasabeef
0
94
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
200
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3k
What it Takes to be a Flutter Developer
wasabeef
0
210
FlutterKaigi 2022 Keynote
wasabeef
1
640
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
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
5
270
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
300
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1k
AIコーディングエージェント(Gemini)
kondai24
0
160
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
730
AIコーディングエージェント(NotebookLM)
kondai24
0
130
AWS CDKの推しポイントN選
akihisaikeda
1
240
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
25
21k
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.1k
認証・認可の基本を学ぼう前編
kouyuume
0
160
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
150
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.9k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Code Reviewing Like a Champion
maltzj
527
40k
A Modern Web Designer's Workflow
chriscoyier
697
190k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Invisible Side of Design
smashingmag
302
51k
Designing for humans not robots
tammielis
254
26k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Context Engineering - Making Every Token Count
addyosmani
9
470
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
GraphQLとの向き合い方2022年版
quramy
50
14k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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