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
840
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
900
About Flutter Architecture
wasabeef
0
170
2023 Flutter/Dart Summary
wasabeef
0
46
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
140
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
2.8k
What it Takes to be a Flutter Developer
wasabeef
0
160
FlutterKaigi 2022 Keynote
wasabeef
1
560
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.3k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.1k
Other Decks in Programming
See All in Programming
Security_for_introducing_eBPF
kentatada
0
110
Haze - Real time background blurring
chrisbanes
1
510
あれやってみてー駆動から成長を加速させる / areyattemite-driven
nashiusagi
1
200
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
110
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Being A Developer After 40
akosma
87
590k
For a Future-Friendly Web
brad_frost
175
9.4k
How to Ace a Technical Interview
jacobian
276
23k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Designing Experiences People Love
moore
138
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Typedesign – Prime Four
hannesfritz
40
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
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