2. AGENDA
Android
Android SDK
Android ADT
Android Studio
Android NDK
Emuladores
Publishing
Core Concepts of SDK API
Activity
Intent
Context
Resources
Architecture Patterns
Agile Development
Test Driven Development
HTML5
Games?
2
3. ANDROID
Open-Source
Linux Based
Android Inc. aquired by Google in 2005
First device released with Android in 2008
Samsung, Motorola, HTC, LG, etc.
Mobile Phones, Tablets, Tvs, Ouya
3034 different devices.
3
8. ANDROID NDK
Native Code using C/C++
Java Native Interface (JNI)
Android 2.2 Dalvik has a just-in-time compiler
CPU Intensive applications
I mean really INTENSIVE…
Reuse C/C++ code
Did I mention how INTENSIVE it must be?
8
11. CORE CONCEPTS
Activity Lifecycle
The OS is who decides
if your activity will
be closed or not.
11
12. CORE CONCEPTS
Activity
Single focused thing the user is doing.
It’s generally a whole window.
A canvas where you layout the app.
Now, there are Activity Groups.
Design for Micro-tasks in mobiles.
12
13. CORE CONCEPTS
Context
Application Environment
Language
Resolution/Density
Orientation
Resources
Strings, Images, Layouts, Colors
All have specific context
13
14. CORE CONCEPTS
Intent
Denotes the intention to open another activity.
Stack another activity in your app.
Opens a registered Intent:
Share Something
Capture a Picture
Get a Bar/QR Code
Send a Text
14
16. ARCHITECTURE PATTERNS
MVC (Model-View-Controller)
Views are activities
Controllers are handlers
Models are domain
objects
16
Model
View Controller
show
user input
17. ARCHITECTURE PATTERNS
MVP (Model-View-Presenter)
Views are activities.
Presenters retrieve data,
format, display and receive
events.
Models are strictly
domain objects.
17
Presenter
View
Model