26
Android Development by Lope Emano

Android development

Embed Size (px)

Citation preview

Page 1: Android development

Android Development

by Lope Emano

Page 2: Android development

About the author● Android developer since 2010

● Loves open source

● Average software development skills

● Survived the "Dark Ages" of Android Development

Page 3: Android development

What's this talk about?

● Basic, Advanced and useful topics

● Tools used

● The speaker's experiences

Page 4: Android development

What is Android?

● Based on the linux kernel

● Dalvik Virtual Machine

● 700,000 apps as of October 2012

● Has an active open source community

Page 5: Android development

● First phone sold in 2008 T Mobile G1

Page 6: Android development

● Usage share

Page 7: Android development

What are the tools needed?

● Eclipse IDE

● Android SDK

● Android Plugin

● Device not needed

Page 8: Android development

What does an Android Project look like?● src/

Where your .java files are stored● gen/

Where your R.java file is stored● assets/

Where your raw resources are stored● bin/

Where your compiled files will be stored● res/

Where your layouts, image assets are stored

Page 9: Android development

What does an Android Project look like?● res/drawable

drawable-xhdpi, drawable-hdpi, drawable-mdpi● res/layout

layouts are expressed in xml format● res/values

colors, text copies● AndroidManifest.xml

basically android's configuration file

Page 10: Android development

What are the basic parts of an android app?Activity

- Android's version of a form

- Must be mentioned in AndroidManifest.xml to be invoked

- Has its own lifecycle

- Applications are made up of activities

Page 11: Android development
Page 12: Android development

Advanced Tools Overview

● Build Management

● ORM Mapping

● Dependency Injection

● Porting stuff from ICS to Gingerbread

● Web tools

Page 13: Android development

Build ManagementMaven● Dependency management

Page 14: Android development

Build Management● Build profiles

mvn clean package -Ptestmvn clean package -Pprodmvn android:apk android:deploy android:run

● Archetypes/quickstartsmvn archetype:generate

Page 15: Android development

Build ManagementMaven● Great for teams

● Great for libraries

● Slow but reliable

● Great with Jenkins CI Server

Page 16: Android development

O/R MappingORMLite

like hibernate for android development

Page 17: Android development

ORMLite + MavenWant ORMLite? Use Maven!

Page 18: Android development

Dependency InjectionRoboguice

like spring injection for android development

Page 19: Android development

Web Tools

● Android Asset Studio

● Action bar style generator

● Holo colors generator

● More..

Page 20: Android development

Porting ICS to Gingerbread

Jake Wharton○ Champion of the "Dark Ages"

○ Author of open source, ICS support projects for android

○ Actively replies in forums and #android-dev

Page 21: Android development

Porting ICS to Gingerbread Actionbar Sherlock

Page 22: Android development

Porting ICS to Gingerbread View Pager Indicator

Page 23: Android development

Porting ICS to Gingerbread HoloEverywhere

Page 24: Android development

Porting ICS to Gingerbread Android UI Patterns

Page 25: Android development

● Don't be afraid to do it yourself

● Be careful with legal issues

● If you don't have a senior, #android-dev will suffice

● Android users are very nice

● More ICS users than gingerbread

● Use dips, 48dip for your clickables

Tips and experiences

Page 26: Android development

http://developer.android.com

http://www.slideshare.net/mdesjardins/android-development-the-basics

http://www.techrepublic.com/blog/app-builder/a-newbies-guide-to-android-development/1216

http://en.wikipedia.org/wiki/Android_%28operating_system%29

References