20
Android 101 Manuel Vicente Vivo @manuelvicnt @CapitalOneGeek

Android 101 - Manuel Vicente Vivo

Embed Size (px)

Citation preview

Page 1: Android 101 - Manuel Vicente Vivo

S

Android 101 Manuel Vicente Vivo

@manuelvicnt

@CapitalOneGeek

Page 2: Android 101 - Manuel Vicente Vivo

Why?

S  1.4 billion active Android devices

Android 101 @manuelvicnt

Page 3: Android 101 - Manuel Vicente Vivo

Android Fundamentals

S  Java = programming Language

S  APK = package format for deployment to device

Android 101 @manuelvicnt

Page 4: Android 101 - Manuel Vicente Vivo

Code Structure

Android Manifest File / Gradle A

ctiv

itie

s

Re

sou

rce

s

Vie

ws

Layo

uts

Oth

ers

Android 101 @manuelvicnt

Log

ic

Page 5: Android 101 - Manuel Vicente Vivo

Manifest.xml

S  Unique ID of the app (package name)

S  Name and Icon

S  Activities declaration

S  Required permissions

Android 101 @manuelvicnt

Page 6: Android 101 - Manuel Vicente Vivo

Gradle

S  Open source build automation system.

S  Deals with:

S  External dependencies.

S  Android requirements:

S  Target version

S  Min version

S  Different environments:

S  Release

S  Test

Android 101 @manuelvicnt

Page 7: Android 101 - Manuel Vicente Vivo

Project Folders

S  Java Source Code (java)

S  Static resources (res)

S  drawable: for images (xml, png, jpg)

S  layout: views description (xml)

S  values: raw properties (xml)

Android 101 @manuelvicnt

Page 8: Android 101 - Manuel Vicente Vivo

Android Fragmentation

S  Resources per device configuration

S  Dynamic device capabilities

Android 101 @manuelvicnt

Page 9: Android 101 - Manuel Vicente Vivo

Activity

S  Represents a single screen with a User Interface

S  Intents S  Asynchronous messages

sent by applications to perform actions. S  Launch a different

Activity.

S  Run a Service.

Android 101 @manuelvicnt

Page 10: Android 101 - Manuel Vicente Vivo

Activities Lifecycle

Android 101 @manuelvicnt

Page 11: Android 101 - Manuel Vicente Vivo

Views

Toolbar

View Pager

TextView

EditText

Button

ImageView

Android 101 @manuelvicnt

Page 12: Android 101 - Manuel Vicente Vivo

Layouts

S  Layouts and Views properties: Width & Height S  MatchParent : make it as big as the parent S  WrapContent: make it big enough to enclose

its content

Android 101 @manuelvicnt

Page 13: Android 101 - Manuel Vicente Vivo

Others

S  Fragments

S  Services

S  Content Providers

S  Broadcast Receivers

S  Notifications

Android 101 @manuelvicnt

Page 14: Android 101 - Manuel Vicente Vivo

Innovate with Android

S  Fingerprint Authentication (Android Imprint)

S  OCR (Optical Character Recognition)

S  NFC technology

S  Android Wear & Auto

S  Google Now

S  …

Android 101 @manuelvicnt

Page 15: Android 101 - Manuel Vicente Vivo

Tools

S  Android Studio

S  Android device/emulator

S  Ideas

S  Persistence

Android 101 @manuelvicnt

Page 16: Android 101 - Manuel Vicente Vivo

Android 101 example https://github.com/manuelvicnt/Android101

Android 101 @manuelvicnt

Page 17: Android 101 - Manuel Vicente Vivo

Integrate your Website

S  Make your website an Android App.

S  Used in deployed Android apps.

S  Smart error handling for no Internet Connection.

S  The developer is in the room! Talk to him to add new functionality :)

S  @jgarciabt

https://github.com/jgarciabt/SmartWebView

Page 18: Android 101 - Manuel Vicente Vivo

Android 101 @manuelvicnt

Nessie – Capital One API api.reimaginebanking.com

S  Customers

S  Accounts

S  Transactions

S  …

Page 19: Android 101 - Manuel Vicente Vivo

Want a price?

Android 101 @manuelvicnt

https://github.com/manuelvicnt/NessieC1

S  Price goes to the best use of Nessie.

S  Take a look at the Android example.

S  API available for other technologies

Page 20: Android 101 - Manuel Vicente Vivo

Questions?

Manuel Vicente Vivo

@manuelvicnt