Slide 1

Slide 1 text

How to start Android app development wasabeef GDG Tokyo New Year 2018

Slide 2

Slide 2 text

About me Daichi Furiya Google Developer Expert CyberAgent, Inc. @wasabeef_jp wasabeef

Slide 3

Slide 3 text

Android OS

Slide 4

Slide 4 text

8.1 Oreo (2017/12) Unix like (C/C++, Java) smartphones, tablets, 
 TV, wear, auto Android OS

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Lessons

Slide 7

Slide 7 text

Building Your First App Different Devices Lifecycles System Permissions Lessons

Slide 8

Slide 8 text

Building Your First App Different Devices Lifecycles System Permissions Lessons

Slide 9

Slide 9 text

Building Your First App Different Devices Lifecycles System Permissions Lessons

Slide 10

Slide 10 text

Building Your First App Different Devices Lifecycles System Permissions Lessons

Slide 11

Slide 11 text

Building Your First App Different Devices Lifecycles System Permissions Lessons

Slide 12

Slide 12 text

Building Your First App

Slide 13

Slide 13 text

Android Studio d.android.com/studio

Slide 14

Slide 14 text

Demo!

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Kotlin

Slide 17

Slide 17 text

Concise Safe Interoperable Tool-Friendly Kotlin Kotlin Koans Online
 https://try.kotlinlang.org

Slide 18

Slide 18 text

Diffrent Devices

Slide 19

Slide 19 text

Diffrent Devices

Slide 20

Slide 20 text

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%

Slide 21

Slide 21 text

Support Library

Slide 22

Slide 22 text

Backward Compatibility for newer APIs Convenience and Helper Classes Debugging, Testing and Utilities Support Library

Slide 23

Slide 23 text

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" }

Slide 24

Slide 24 text

Support Library

Slide 25

Slide 25 text

Lifecycles

Slide 26

Slide 26 text

Lifecycles

Slide 27

Slide 27 text

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() }

Slide 28

Slide 28 text

System Permissions

Slide 29

Slide 29 text

System Permissions ...

Slide 30

Slide 30 text

Internet Camera Storage Location Vibrate System Permissions Calendar Contacts Phone Wake Lock Alarm

Slide 31

Slide 31 text

Runtime Permissions at Run time ~ Lollipop (5.x) Marshmallow (6.x) ~

Slide 32

Slide 32 text

Etc..

Slide 33

Slide 33 text

View Animation Intent Kotlin Support Library RxJava, RxKotlin Android Architecture Components Etc.. Testing Media (ExoPlayer) FireBase DI (Dagger..)

Slide 34

Slide 34 text

Thank you. twitter.com/wasabeef_jp wasabeef.jp github.com/wasabeef