How to start Android app development

How to start Android app development

How to start Android app development

6dd0483f1353a4a359e92633cfd65c64?s=128

Daichi Furiya (Wasabeef)

January 17, 2018
Tweet

Transcript

  1. How to start Android app development wasabeef GDG Tokyo New

    Year 2018
  2. About me Daichi Furiya Google Developer Expert CyberAgent, Inc. @wasabeef_jp

    wasabeef
  3. Android OS

  4. 8.1 Oreo (2017/12) Unix like (C/C++, Java) smartphones, tablets, 


    TV, wear, auto Android OS
  5. None
  6. Lessons

  7. Building Your First App Different Devices Lifecycles System Permissions Lessons

  8. Building Your First App Different Devices Lifecycles System Permissions Lessons

  9. Building Your First App Different Devices Lifecycles System Permissions Lessons

  10. Building Your First App Different Devices Lifecycles System Permissions Lessons

  11. Building Your First App Different Devices Lifecycles System Permissions Lessons

  12. Building Your First App

  13. Android Studio d.android.com/studio

  14. Demo!

  15. None
  16. Kotlin

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

  18. Diffrent Devices

  19. Diffrent Devices

  20. 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%
  21. Support Library

  22. Backward Compatibility for newer APIs Convenience and Helper Classes Debugging,

    Testing and Utilities Support Library
  23. 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" }
  24. 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" />

  25. Lifecycles

  26. Lifecycles

  27. 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() }
  28. System Permissions

  29. 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>
  30. Internet Camera Storage Location Vibrate System Permissions Calendar Contacts Phone

    Wake Lock Alarm
  31. Runtime Permissions at Run time ~ Lollipop (5.x) Marshmallow (6.x)

    ~
  32. Etc..

  33. View Animation Intent Kotlin Support Library RxJava, RxKotlin Android Architecture

    Components Etc.. Testing Media (ExoPlayer) FireBase DI (Dagger..)
  34. Thank you. twitter.com/wasabeef_jp wasabeef.jp github.com/wasabeef