Sei sulla pagina 1di 32

BASIC ANDROID

XCOMM MEET-UP 28/11/2018


Presented by : Eric Agustian S.Kom
Mobile OS War
 Periode tahun 2000 – 2010
# Palm OS / PalmSources -> 1996 -> PDA -> Palm & Motorola
# Pocket PC 2000 -> Windows Mobile 2003 -> Pocket PC Phones &
Windows Phones -> HTC, O2, DOPOD, Lumia series, dsb
# J2ME -> MIDP CLDC -> 2001 -> featured phone (Nokia, Siemens,
Samsung, LG, dsb)
# Symbian OS (Nokia, Ericsson, Motorolla) -> 2000 -> smartphones
(Series 60, Series 90 dsb) -> Nokia 6600, Nokia Communicator E-
Series, SonyEricsson P910i dsb

2
Mobile OS War #2
# BlackBerry OS 2002, BlackBerry 10 QNX 2013 -> RIM -> Push Mail,
BBM (Social Networking app), Instant Notification -> BlackBerry Bold,
Storm, Playbook
# Apple Iphone OS -> iOS -> v 1 9 Januari 2007 -> iPhone, iPod, iPad
# Google Android -> beta rilis 5 November 2007 -> Multi Vendor
(Samsung, HTC, LG, Sony, Xiaomi, Oppo dsb) -> Android Phones,
Tablet, Wearable, TV Box Set dsb
# Samsung BADA -> 2009 -> Samsung Wave series -> discontinued in
2013
# Samsung Tizen -> 2012 -> www.tizen.org -> Samsung Galaxy Gear
series, Fit series, Watch series, Samsung Z series, Samsung Smart
Camera NX dsb -> Internet Of Things (IOT)

3
Mobile OS Winners -> 2018

 Pasca 2010 – sekarang


# BlackBerry, booming 2012 – 2014 -> give up!!!
# Windows Phone, 2014 akuisisi Nokia -> give up!!!
# Android -> survive!!!
# iOS -> survive!!!

# KaiOS ???
# Sailfish (former MeeGo) ???

4
5
Distribusi Mobile OS seluruh dunia

6
Q1 2018 Android
terjual >= 2,3
Miliar unit, dan
terus bertambah
#1

Q1 2018 iOS
#1 https://newzoo.com/insights/articles/insights-into-the-2-3-billion-android-smartphones-in-use-around-the-world/
terjual >= 1,3
#2 https://www.macrumors.com/2018/02/01/apple-now-has-1-3-billion-active-devices-worldwide/
7
Miliar unit, dan
terus bertambah
#2
Versi OS Android

8
Distribusi OS Android

# Data akumulasi hingga Oktober 2018


9
Distribusi Aplikasi Android di PlayStore

10
Android Platform

 Mobile phones & Tablet -> Android OS [https://developer.android.com/]


# Rilis terbaru Android 9 Pie
[https://developer.android.com/about/versions/pie/]
# Android JetPack -> AndroidX [https://developer.android.com/jetpack/]
 Wearable -> Wear OS [https://developer.android.com/wear/]
 TV -> Android TV [https://developer.android.com/tv/]
 Automotive -> Android Auto [https://developer.android.com/auto/]
 IOT -> Android Things [https://developer.android.com/things/]

11
How To #1 Programming Language
 Native Development -> Java Language + Kotlin
# Java
# Kotlin
# NDK (C / C++) -> https://developer.android.com/ndk
 Hybrid Development -> HTML, CSS, JavaScript (Framework -> Cross Platform)
# PhoneGap
# Ionic
# Framework 7
# Appcelerator Titanium
# Mobile Angular UI
# Sencha Touch
# React Native
# Xamarin
# Flutter
12
# ....
How To #2 Development Tools –
Software
 IDE (Integrated Development Enviroment)
# Eclipse -> no future official support from Google
# Android Studio
 Android SDK (Software Development Kit)
 Android API (developer.android.com)
 Google API (developers.google.com)
 JDK (Java SE Development Kit) 7/8
 AVD (Android Virtual Device)
 BlueStacks / NOX / Emulator lainnya

13
How To #2 Development Tools -
Hardware
 Computer (PC Desktop/NoteBook/MacBook/iMac dsb)

 Perangkat Android (ponsel, tablet, wearable, dsb)


14
Android Project Structure
 Android Manifest -> identitas aplikasi -> file .xml
 Package java -> lokasi dimana seluruh source code
file .java diletakan
 Package res -> lokasi dimana seluruh sumber daya
berada
# drawable
# layout
# mipmap (mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi)
# values (colors, dimens, strings, styles)
 Gradle Scripts ->
# build.gradle (project)
# build.gradle (module:app)
15
Android Screen Densities

16
Android Resources Values
 Colors -> deklarasi nilai warna
dalam kode RGB hexadesimal dsb
 Dimens -> deklarasi nilai untuk
keperluan pengukuran dsb
 Strings -> deklarasi semua text
untuk keperluan labeling
 Styles -> deklarasi style theme
dari aplikasi

17
Android Activity LifeCycle
 Merupakan fase-fase yang dilalui dalam siklus hidup
aplikasi android yang didalamnya terdiri dari sebuah
atau gabungan dari beberapa “activity”.
 Activity adalah komponen dari aplikasi yang
direpresentasikan dalam bentuk tampilan (antar
muka) yang bisa dilihat oleh pengguna pada layar,
yang memungkinkan terjadinya interaksi untuk
mencapai fungsi tertentu.
 Activity terdiri dari:
# File Java Class (Controller / Logic) -> .java
# File Layout (View / User Interface) -> .xml
# File Asset (Image / Video / Audio / Document)
-> .png, .jpg, .webp, .mp3, .mov, .pdf, dsb

18
19
Activity Stack
 Konsep pengelolaan berbagai activity oleh Android
 Pengelolaan sumber daya perangkat Android yang terbatas

20
21
Activity Class (.java)

22
Layout

 Layout adalah arsitektur yang memungkinkan pengguna untuk berinteraksi


dengan sebuah activity
 Dalam layout di definisikan desain tampilan (antar muka) beserta seluruh
komponen / element yang digunakan
 Cara pendeklarasian layout:
1. Deklarasikan semua element UI pada sebuah file XML
2. Deklarasikan element UI pada runtime (jadi satu dalam java code)
3. Kombinasi keduanya
 Disimpan pada direktori /res/layout/

23
Layout

24
Layout – Atributes & Parameters
 Layout mendukung atribut dan parameter tertentu untuk
kebutuhan spesifik
 Attribut ID -> digunakan sebagai identifikasi, harus unik
dalam 1 file layout. Untuk keperluan referensi pada activity
class.
android:id="@+id/define_unique_id_here"
 Parameters terdiri dari berbagai macam pilihan nilai yang
bisa disesuaikan dengan element / komponen terkait.
 Nilai satuan pengukuran (measurement unit) :
# px (pixels)
# dp or dip (density pixels)
# sp (scale independent pixels)
# pt (points 1/72 inch physical screen size)
25
Layout - Widget
 Komponen element yang re-usable bisa digunakan dalam
sebuah layout
 Memiliki fungsi spesifik sesuai jenisnya :
# Button -> tombol aksi -> event click/press/touch
# CheckBox -> inputan centang
# ProgressBar -> tampilan interaksi
# EditText -> form inputan teks/angka/kombinasi
 Memungkinkan untuk dilakukan proses modifikasi desain
tampilan (custom) sesuai kebutuhan

26
Custom Layout

27
Layout - Types
 Linear Layout (Horizontal / Vertical)
 Relative Layout
 Frame Layout
 Grid Layout
 Table Layout
 Constraint Layout
 ...

28
Saving Data - Database
 SharedPreferences
 SQLite
 ROOM

29
3rd Party Libraries
 Http Connection :
# OkHttp
# Volley
# Retrofit
 JSON -> GSON
 Image Handling :
# Picasso
# Glide
 .....

30
Publishing Your App
 Offline installer -> share apk file via SD-Card dsb
 OTA (Over The Air) -> direct link
 Via email -> apk sebagai lampiran
 Via Google Playstore

31
Q&A

32

Potrebbero piacerti anche