android minnebar

Post on 20-Aug-2015

3.798 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

What is that robot up to?

Justin GrammensRecursive Awesome http://recursiveawesome.com

About MeName: Justin Grammens

Owner Localtone InteractiveCo-Founder Recursive Awesome Focus on web & mobile software development

Android, Blackberry, iPhone, Palm Background in Java & Ruby/Rails/Grails Spoken at many local meetings on Android Started Mobile Twin Cities User's Group

http://mobiletwincities.com

!=

Android is NOT the G1!

!=

Android is NOT the Droid!

SummaryWhat Is AndroidWho Is Android Building BlocksAndroid MarketDeploy MobileTC App To Market

What is Android?Definition:

Android is a software platform and operating system for mobile devices, based on the Linux kernel, developed by Google and later the Open Handset Alliance.

Source: Wikipedia

Would argue that it's not just for mobile devices. Has the potential to be used in all sorts of other areas where memory, cpu and disk is limited.

Yawn, We've Seen This

Devices!

Dell Mini 3

Devices!

Acer Liquid

Devices!

SonyXperia X10

Devices!

HTC - Tattoo

Devices!

MotorolaCliq

Devices!

HTCMagic

Devices!

Samsungi7500

Devices!

LGGW620

Devices!

SamsungBehold 2

Devices!

HTCDroid Eris- Droid is more than 1 phone

Devices!

Motorola Droid

Skins - http://teavuihuang.com/android/

Who Is Android

A Project of the Open Handset Alliance (OHA) - More than 30 technology companies

Source: Presentation by Sean Sullivan - http://mobileportland.com/content/introduction-google-android

Nuts and BoltsBuilt on the Linux kernelUses the Dalvik virtual machine

Register Based VM written by Dan BornsteinVery low memory footprint

Core and 3rd party applications have equal accessMultiple applications able to run at the same timeBackground services 100% fully customizable - from startup to shutdownTouch (or physical keyboard) interface

What's the big deal?Truly open and FREE development platform

No "pay to play" developer agreementFreely available tools (Eclipse) and no restrictions on OS you need to be on to developNo "blessing" required from a company (i.e. Apple)

Component based architecture that can be extendedBuilt in services out of the box

Location basedMultimedia - supports open audio formats - OGG!SQLite Database

Automatic management of application lifecyclePortability across current and future hardware

Supports and plans for input from either trackball, keyboard or touch

Exponential SalesFirst advertised based Android Phone HTC Dream (G1)

Takes roughly 6 months to reach 1MM sales.Second advertised phone HTC Magic (myTouch)

Takes roughly 3 months to reach 1 MM sales.Third advertised Android Phone ( Motorola Droid )

250,000 units first week “Android adoption is about to explode,” declared CEO Eric Schmidt, explaining that all the “necessary conditions” are set for growth. source: Techcrunch

Exponential Growth

Gartner: Android to grab No. 2 spot by 2012 (Symbian will remain#1, iPhone will remain #3, Windows Mobile will remain #4 and Blackberry willdrop to #5)

Multiple device ( including in this building ) manufactures looking to use Android.

Don't believe everything you read

Not about being an "iPhone killer"

Building Blocks

Basic foundation of an Android application

Activity IntentServiceContent Provider

Your applications will not use all of these, but they will use atleast one.

Building BlocksActivity

Describes a single screen of the applicationImplemented as a class that extends ActivityActivities are pushed on the history stack using an IntentUses callbacks to trigger events during state changes.

public class LocaltoneAndroid extends ListActivity { @Override public void onCreate(Bundle init) { } }

Activity Life Cycle

source: http://developer.android.com/reference/android/app/Activity.html

Building Blocks

Intent An Intent describes what you would like to have done. Create new screen using activity and intents Intent i = new Intent(this, MyNewActivity.class); startActivity(i); or open a web page new Intent(android.content.Intent.VIEW_ACTION, ContentURI.create("http://localtone.com"));

Building BlocksService

Code that is long runningRuns without a UIMedia Player is an good example

Activity used to choose songPlayback handled in a service

public class MyService extends Service { public void onCreate() { } }

Building BlocksContent Provider

Set of data wrapped in a custom APIAllow sharing of data between applicationsProcesses register themselves as a Content Provider. Anyone can share data. Google shares contacts, address, phone, etc. can be accessed by applications.

private String[] cols={android.provider.Contacts.PeopleColumns.NAME}; private Cursor cur = managedQuery(android.provider.Contacts.People.CONTENT_URI, cols, null, null);http://developer.android.com/reference/android/provider/package-summary.html

Face of AndroidVarious types of Layouts - Similar to Swing

Linear LayoutArranges children in a single row/column. The most common type of layout you'll use.

FrameLayoutArranges children so they start at the top left. Used mainly for tabbed views.

Relative LayoutArranged in relation to eachother ( element X is above/below element Y for example ).

TableLayoutArranged in a cells, like HTML table.

Face of AndroidAbout.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@android:id/hello" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello" /></LinearLayout>

Face of AndroidDeclarative - In XML Task: Define text in an "About" screenFile: res/layout/about.xml <TextView android:id="@+id/about_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/about_text" /> File: About.java protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.about); }

Face of Android

Procedural - In Code

Create a TextView object, set the text and behavior

TextView pressMe = new TextView(context); pressMe.setText("Press Me"); addView(mDialogue, new LinearLayout.LayoutParams( FILL_PARENT, WRAP_CONTENT));

Face of AndroidAndroid Manifest.xml

What is any good Java program without a manifest file? =) Defines the version and package informationDefines the permissions required by the application

<uses-permission android:name="android.permission.INTERNET" />

<activity android:name=".Result" android:label="@string/result" android:layout_width="fill_parent"> </activity>

Class name of the Activity

Mobile Twin Cities

WebsiteLatest Tweets

@mobiletc Discussion ListNo splash screen

Will add in coding session

Mobile Twin Cities

Developing Apps For AndroidDevelop using Windows, Linux or Mac.Free to develop and deploy to your device.Send anyone your .APK file and they can run it. Recommend using to Eclipse IDE and Android Plugin.Download IDE and from

IDE - http://eclipse.orgInstall Android plugin through the Eclipse Plug-in Manager

SDKhttp://code.google.com/android/intro/installing.html

No restriction on distribution. Free to charge what you wish

Pimping Android For ProfitListing apps in the Android Market

Must be digitally signed Your Manifext.xml tells the story:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.package.name" android:versionCode="2" android:versionName="1.1" android:minSdkVersion = "3">

Version code - The version relative to other versionsVersion name - The version that people will see MinSDKVersoin - Requirement of end user's version

Pimping Android For ProfitNOTE: You can distribute your .apk file and charge any way you wish! However, if you wish to use the MarketURL: http://www.android.com/market

Signup on the markethttp://market.android.com/publish/signup

Pay $25 registration fee.Uses Google Checkout for payment processing.70% for you, 30% for the carrier (T-Mobile)Google offers an unlocked Google/Ion for $399.T-Mobile adding app purchase to your bill.

Pimping Android For Profit

Pimping Android For Profit

Final ThoughtsIt's not just phones or mobile devices!

Archos - MID

Nook - EBook Reader

Deploy Application To Market

Lets Do It!

ResourcesBooks

Mark Murphy - http://commonsware.com/Android/Hello, Android by Pragmatic Programmers

Sites AndDev.org - Good online forumGoogle Samples - http://is.gd/knVZ

IRC#Android-Dev

Google GroupsAndroid Developers

http://is.gd/knWK Local Groups!

Android Dev MN - http://is.gd/knVOMobile Twin Cities - http://mobiletwincities.com

Add a splash page in our Adhoc coding

session!

Justin GrammensRecursive Awesome http://recursiveawesome.com

top related