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
Daichi Furiya (Wasabeef)
January 17, 2018
Programming
1
860
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
5
2k
About Flutter Architecture
wasabeef
1
260
2023 Flutter/Dart Summary
wasabeef
0
81
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
190
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3k
What it Takes to be a Flutter Developer
wasabeef
0
200
FlutterKaigi 2022 Keynote
wasabeef
1
610
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.4k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.2k
Other Decks in Programming
See All in Programming
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
870
生成AI、実際どう? - ニーリーの場合
nealle
0
140
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.7k
コーディングは技術者(エンジニア)の嗜みでして / Learning the System Development Mindset from Rock Lady
mackey0225
2
540
AWS Serverless Application Model入門_20250708
smatsuzaki
0
110
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.2k
TROCCO×dbtで実現する人にもAIにもやさしいデータ基盤
nealle
0
290
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
190
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
210
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
600
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
370
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Six Lessons from altMBA
skipperchong
28
4k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Gamification - CAS2011
davidbonilla
81
5.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Bash Introduction
62gerente
614
210k
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