@ME (About) Marcelo Cyreno. Skype: marcelocyreno Linkedin: marcelocyreno Mail: marcelocyreno@gmail.com



Similar documents
01. Introduction of Android

Basics. Bruce Crawford Global Solutions Manager

Backend as a Service

CSE476 Mobile Application Development. Yard. Doç. Dr. Tacha Serif Department of Computer Engineering Yeditepe University

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Getting started with Android and App Engine

Developing an Android App. CSC207 Fall 2014

Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework

OpenCV on Android Platforms

Android Java Live and In Action

Smartphone market share

Android Basics. Xin Yang

Building Your First App

Getting Started With Android

Tutorial #1. Android Application Development Advanced Hello World App

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Developing Android Applications Introduction to Software Engineering Fall Updated 7 October 2015

Android Programming and Security

Developing Android Apps: Part 1

Mobile Application Development 2014

Mobile Application Development

Android Environment SDK

How To Develop An Android App On An Android Device

Mobile App Development

Presenting Android Development in the CS Curriculum

Praktikum Entwicklung Mediensysteme (für Master)

Android Environment SDK

Android Basic XML Layouts

What is Android? originally purchased from Android, Inc. in 2005

CS378 -Mobile Computing. Android Overview and Android Development Environment

BEGIN ANDROID JOURNEY IN HOURS

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development.

Jordan Jozwiak November 13, 2011

Android Application Development. Yevheniy Dzezhyts

Introduction to Android

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Hello World. by Elliot Khazon

Android Development. 吳 俊 興 國 立 高 雄 大 學 資 訊 工 程 學 系

Android Architecture. Alexandra Harrison & Jake Saxton

Android Development. Marc Mc Loughlin

ANDROID ALERT APP (SHOP SALE)

Android 5.0: Lollipop OS

Introduction to Android SDK Jordi Linares

How to develop your own app

Tutorial on Basic Android Setup

MMI 2: Mobile Human- Computer Interaction Android

Example Connection between USB Host and Android

Android Bootcamp. Elaborado (com adaptações) a partir dos tutoriais:

Programming with Android

Installing the Android SDK

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ADT Plugin for Eclipse

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly

Cross-Platform Development

MOBILE APPS. QA Testing for mobile applications

Chapter 2 Getting Started

Beginner s Android Development Tutorial!

Android Concepts and Programming TUTORIAL 1

23442 ECE Introduction to Android Mobile Programming ECE Special Topics: Android Mobile Programming

ANDROID. Programming basics

Android Application Development Lecture Notes INDEX

How to Execute Your Next Generation of Mobile Initiatives. Ian Evans Vice President and Managing Director- EMEA, AirWatch by VMware

How to Create an Android Application using Eclipse on Windows 7

Choosing a Mobile Application Development Approach

Android Development Tutorial. Human-Computer Interaction II (COMP 4020) Winter 2013

Android Mobile App Building Tutorial

How to build your first Android Application in Windows

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe Copyright 2010, 2net Limited.

An Android-based Instant Message Application

Android For Java Developers. Marko Gargenta Marakana

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

B.M. Harwani. Android Programming UNLEASHED. 800 East 96th Street, Indianapolis, Indiana USA

App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities

Developing Android Applications: Case Study of Course Design

Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作

Getting Started with Android Development

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Introduction to Android

ANDROID APP DEVELOPMENT: AN INTRODUCTION CSCI /19/14 HANNAH MILLER

Application Development Setup Guide

Workshop on Android and Applications Development

Developing an Android Framework and Exemplar App for WPI Suite

Mocean Android SDK Developer Guide

Getting Started: Creating a Simple App

Transcription:

Introduction

@ME (About) Marcelo Cyreno Skype: marcelocyreno Linkedin: marcelocyreno Mail: marcelocyreno@gmail.com

Android - Highlights Open Source Linux Based Developed by Google / Open Handset Alliance Leading Smartphone Platform Java Language* Smartphones, Tablets, TVs (Usage) Samsung, Motorola, LG, HTC, Sony... (Vendors)

History / Events 2003 - Android, Inc. (Foundation) 2005 - Google acquisition 2006 - Schmidt was elected to Apple's board of directors. 2007 - Open Handset Alliance 2007 - First iphone released 2008 First Android Device (Oct.) 2009 - Schmidt "left" Apple's board of directors. 2011 - Google Inc. had agreed to acquire Motorola Mobility. 2012 - Apple wins patent ruling over Samsung (1B USD)

Major Mobile Platforms Windows Phone Android ios

Cross Platform Development RhoMobile (By Motorola) Appcelerator PhoneGap (Adobe) HTML5

Cross Platform - Fractions App http://www.mafua.com

Cross Platform - Fractions App http://www.mafua.com

First Android (HTC Dream)

Latest Android - LG Optimus G

Latest Android - LG Optimus G

Android HW Evolution HTC Dream x LG Optimus G Spec. comparation (Next Slide) X http://www.gsmarena.com/compare.php3?idphone1=2665&idphone2=4941

Latest Android (LG Optimus G) #3

Market Share (Global)

Market Share (Brazil)

Android Versions Code name (no code name) (no code name) Cupcake Donut Eclair Eclair Eclair Froyo Gingerbread Gingerbread Honeycomb Honeycomb Honeycomb Ice Cream Sandwich Ice Cream Sandwich Jelly Bean Version 1.0 1.1 1.5 1.6 2.0 2.0.1 2.1 2.2.x 2.3-2.3.2 2.3.3-2.3.7 3.0 3.1 3.2.x 4.0.1-4.0.2 4.0.3-4.0.4 4.1.x API level API level 1 API level 2 API level 3, NDK 1 API level 4, NDK 2 API level 5 API level 6 API level 7, NDK 3 API level 8, NDK 4 API level 9, NDK 5 API level 10 API level 11 API level 12, NDK 6 API level 13 API level 14, NDK 7 API level 15, NDK 8 1.2%

Android Distribution Version Distribution (September 4, 2012) 4.1.x Jelly Bean 1.2% 20.9% 4.0.x Ice Cream Sandwich 3.x.x Honeycomb 2.3.x Gingerbread 2.2 Froyo 2.0, 2.1 Eclair 1.6 Donut 1.5 Cupcake 2.1% 57.5% 14% 3.7% 0.4% 0.2%

Android Architecture

Development Environment Java SE Development Kit (JDK) Eclipse ADT Plugin Android SDK

Environment - Eclipse http://www.eclipse.org/downloads/

Android Developer (Site) http://developer.android.com/index.html

Android SDK

Android ADT https://dl-ssl.google.com/android/eclipse/

Eclipse - ADT

Eclipse - ADT

Eclipse - ADT

Eclipse - Android SDK

Eclipse - Android SDK Manager

Android Virtual Device (AVD)

Eclipse - DDMS

Eclipse - DDMS (Screen Capture)

Application Directory Structure AndroidManifest.xml src/ res/ drawable/ layout/ values/

AndroidManifest.xml - Example

Activities

Activity Lifecycle Resumed Paused Stopped

Activity Lifecycle

Intents Explicit intents Implicit intents With Data With result

Intents - Explicit 1) (Same Package) Intent intent = new Intent(this, SecondActivity.class); startactivity(intent); 2)(Different Package) Intent intent = new Intent(); intent.setclassname("com.example.intents", "com.example.intents.secondactivity"); startactivity(intent);

Intents - Implicit #1 1) Uri webpage = Uri.parse("http://www.android.com"); Intent intent = new Intent(Intent.ACTION_VIEW, webpage); startactivity(intent); 2) Uri number = Uri.parse("tel:5551234"); Intent intent = new Intent(Intent.ACTION_DIAL, number); startactivity(intent);

Intents - Implicit #1 3) Uri uri = Uri.parse( "geo:0,0?q=1600+amphitheatre+parkway, +Mountain+View,+California"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startactivity(intent);

Intents - With Data #1 1) MainActivity Intent intent = new Intent(this, SecondActivity.class); intent.putextra(secondactivity.message, message); startactivity(intent);

Intents - With Data #2 @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_second); String message = getintent().getstringextra(message); if (message!= null && message.length() > 0) { Toast.makeText(this, "MESSAGE: " + message, Toast.LENGTH_LONG).show(); } }

Intents - With Result #1 // The request code private static final int PICK_CONTACT_REQUEST = 1; private void pickcontact() { Uri uri = Uri.parse("content://contacts"); Intent pickcontactintent = new Intent(Intent.ACTION_PICK, uri); // Show user only contacts w/ phone numbers pickcontactintent.settype(phone.content_type); startactivityforresult(pickcontactintent, PICK_CONTACT_REQUEST); }

Intents - With Result #2 @Override protected void onactivityresult(int requestcode, int resultcode, Intent data) { if (requestcode == PICK_CONTACT_REQUEST && resultcode == RESULT_OK) { Uri contacturi = data.getdata();... Toast.makeText(this, "Contact selected: " + name, Toast.LENGTH_LONG).show(); } }

Layouts Linear Layout Relative Layout List View Grid View

Layout Visual Editor (WYSIWYG)

Linear Layout #1

Linear Layout #2 <LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:paddingleft ="16dp" android:paddingright ="16dp" android:orientation ="vertical" > <EditText android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:hint ="@string/to" /> <EditText android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:hint ="@string/subject" /> <EditText android:layout_width ="fill_parent" android:layout_height ="0dp" android:layout_weight ="1" android:gravity ="top" android:hint ="@string/message" /> <Button android:layout_width ="100dp" android:layout_height ="wrap_content" android:layout_gravity ="right" android:text ="@string/send" /> </LinearLayout>

Relative Layout #1

Relative Layout #2 <?xml version ="1.0" encoding ="utf-8"?> <RelativeLayout xmlns:android ="http://schemas.android.com/apk/res/android" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:paddingleft ="16dp" android:paddingright ="16dp" > <EditText android:id ="@+id/name" android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:hint ="@string/reminder" /> <Spinner android:id ="@+id/dates" android:layout_width ="0dp" android:layout_height ="wrap_content" android:layout_below="@id/name" android:layout_alignparentleft="true" android:layout_toleftof="@+id/times" /> <Spinner android:id ="@id/times" android:layout_width ="96dp" android:layout_height ="wrap_content" android:layout_below="@id/name" android:layout_alignparentright="true" /> <Button android:layout_width ="96dp" android:layout_height ="wrap_content" android:layout_below="@id/times" android:layout_alignparentright="true" android:text ="@string/done" /> </RelativeLayout>

List View #1

List View #2

List View #3

List View #4

Grid View

Grid View <?xml version ="1.0" encoding ="utf-8"?> <GridView xmlns:android ="http://schemas.android.com/apk/res/android" android:id ="@+id/gridview" android:layout_width ="fill_parent" android:layout_height ="fill_parent" android:columnwidth ="90dp" android:numcolumns ="auto_fit" android:verticalspacing ="10dp" android:horizontalspacing ="10dp" android:stretchmode ="columnwidth" android:gravity ="center" />

Grid View #3

Grid View #4

Fragments

Localization #1

Localization #2

Google Play Numbers: + 600,000 apps + 20 billions downloads + 400 millions devices

Jobs Opportunities

Questions?