SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
What is that robot up to?

Justin Grammens
Recursive Awesome
http://recursiveawesome.com
About Me
Name: Justin Grammens
  Owner Localtone Interactive
  Co-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!
Summary
 What Is Android
 Who Is Android
 Building Blocks
 Android Market
 Deploy 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!




  Sony
  Xperia X10
Devices!




 HTC - Tattoo
Devices!




Motorola
Cliq
Devices!




 HTC
 Magic
Devices!




Samsung
i7500
Devices!




LG
GW620
Devices!




Samsung
Behold 2
Devices!




HTC
Droid 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 Bolts
 Built on the Linux kernel
 Uses the Dalvik virtual machine
    Register Based VM written by Dan Bornstein
    Very low memory footprint
 Core and 3rd party applications have equal access
 Multiple applications able to run at the same time
 Background services
 100% fully customizable - from startup to shutdown
 Touch (or physical keyboard) interface
What's the big deal?
 Truly open and FREE development platform
    No "pay to play" developer agreement
    Freely available tools (Eclipse) and no restrictions on OS
    you need to be on to develop
    No "blessing" required from a company (i.e. Apple)
 Component based architecture that can be extended
 Built in services out of the box
    Location based
    Multimedia - supports open audio formats - OGG!
    SQLite Database
 Automatic management of application lifecycle
 Portability across current and future hardware
    Supports and plans for input from either trackball,
    keyboard or touch
Exponential Sales
   First 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
  Intent
  Service
  Content Provider

Your applications will not use all of these, but
they will use atleast one.
Building Blocks
Activity
  Describes a single screen of the application
  Implemented as a class that extends Activity
  Activities are pushed on the history stack using an
  Intent
  Uses 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 Blocks
Service
  Code that is long running
  Runs without a UI
  Media Player is an good example
    Activity used to choose song
    Playback handled in a service

  public class MyService extends Service {
    public void onCreate() {
    }
  }
Building Blocks
Content Provider
     Set of data wrapped in a custom API
     Allow sharing of data between applications
     Processes 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 Android
Various types of Layouts - Similar to Swing
   Linear Layout
      Arranges children in a single row/column. The most
      common type of layout you'll use.
   FrameLayout
      Arranges children so they start at the top left. Used
      mainly for tabbed views.
   Relative Layout
      Arranged in relation to eachother ( element X is
      above/below element Y for example ).
   TableLayout
      Arranged in a cells, like HTML table.
Face of Android
About.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 Android
Declarative - In XML

Task: Define text in an "About" screen
File: 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 Android
Android Manifest.xml
  What is any good Java program without a manifest file? =)
  Defines the version and package information
  Defines the permissions required by the application

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

  <activity android:name=".Result"        Class name
       android:label="@string/result"     of the Activity
       android:layout_width="fill_parent">
  </activity>
Mobile Twin Cities



 Website
 Latest Tweets
   @mobiletc
 Discussion List
 No splash screen
   Will add in
   coding session
Mobile Twin Cities
Developing Apps For Android
 Develop 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.org
    Install Android plugin through the Eclipse Plug-in
    Manager
 SDK
    http://code.google.com/android/intro/installing.html
 No restriction on distribution. Free to charge what you wish
Pimping Android For Profit
Listing 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 versions
Version name - The version that people will see
MinSDKVersoin - Requirement of end user's version
Pimping Android For Profit
NOTE: You can distribute your .apk file and charge any
way you wish!

However, if you wish to use the Market
URL: http://www.android.com/market
  Signup on the market
     http://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 Thoughts
It's not just phones or mobile devices!




        Archos - MID              Nook - EBook Reader
Deploy Application To Market



            Lets Do It!
Resources
 Books
     Mark Murphy - http://commonsware.com/Android/
     Hello, Android by Pragmatic Programmers
 Sites
     AndDev.org - Good online forum
     Google Samples - http://is.gd/knVZ
 IRC
     #Android-Dev
 Google Groups
     Android Developers
        http://is.gd/knWK
 Local Groups!
     Android Dev MN - http://is.gd/knVO
     Mobile Twin Cities - http://mobiletwincities.com
Add a splash page in our Adhoc coding
               session!

Justin Grammens
Recursive Awesome
http://recursiveawesome.com

Weitere ähnliche Inhalte

Was ist angesagt?

Build once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformBuild once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformAspenware
 
Android M Google I/0 2015
Android M Google I/0 2015Android M Google I/0 2015
Android M Google I/0 2015vinod beda
 
Research paper on "Android 4.1 Jellybean OS"
Research paper on "Android 4.1 Jellybean OS"Research paper on "Android 4.1 Jellybean OS"
Research paper on "Android 4.1 Jellybean OS"Bijaya Litigoner
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesDorothy Marcella
 
Android Architecture and Working
Android Architecture and WorkingAndroid Architecture and Working
Android Architecture and WorkingAnkurVeer1
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paperSravan Reddy
 

Was ist angesagt? (16)

Android Intro
Android IntroAndroid Intro
Android Intro
 
Build once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformBuild once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platform
 
Research- Android OS
Research- Android OSResearch- Android OS
Research- Android OS
 
Android
AndroidAndroid
Android
 
Android M Google I/0 2015
Android M Google I/0 2015Android M Google I/0 2015
Android M Google I/0 2015
 
Research paper on "Android 4.1 Jellybean OS"
Research paper on "Android 4.1 Jellybean OS"Research paper on "Android 4.1 Jellybean OS"
Research paper on "Android 4.1 Jellybean OS"
 
Android 4.1 Jellybean OS
Android 4.1 Jellybean OSAndroid 4.1 Jellybean OS
Android 4.1 Jellybean OS
 
Android
AndroidAndroid
Android
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Android Architecture and Working
Android Architecture and WorkingAndroid Architecture and Working
Android Architecture and Working
 
Power point activity 2
Power point activity 2Power point activity 2
Power point activity 2
 
Power point activity 2
Power point activity 2Power point activity 2
Power point activity 2
 
Google android white paper
Google android white paperGoogle android white paper
Google android white paper
 
Android fragmentation 2013
Android fragmentation 2013Android fragmentation 2013
Android fragmentation 2013
 
Do relogio ao carro
Do relogio ao carroDo relogio ao carro
Do relogio ao carro
 
Powerpoint act2
Powerpoint act2Powerpoint act2
Powerpoint act2
 

Ähnlich wie Android Minnebar

Basic android workshop
Basic android workshopBasic android workshop
Basic android workshopThagatpam Tech
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android ProgrammingRaveendra R
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologiesjerry vasoya
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsSimon Guest
 
How to become an android developer
How to become an android developerHow to become an android developer
How to become an android developerum_adeveloper
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15sullis
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011sullis
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid Khan
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspectiveGunjan Kumar
 
Mobile next 2013 petru jucovschi
Mobile next 2013   petru jucovschiMobile next 2013   petru jucovschi
Mobile next 2013 petru jucovschimpgco
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentProf. Erwin Globio
 
Android presentation
Android presentationAndroid presentation
Android presentationImam Raza
 
Basic android development
Basic android developmentBasic android development
Basic android developmentUpanya Singh
 
Basic android development
Basic android developmentBasic android development
Basic android developmentUpanya Singh
 

Ähnlich wie Android Minnebar (20)

Android TCJUG
Android TCJUGAndroid TCJUG
Android TCJUG
 
Basic android workshop
Basic android workshopBasic android workshop
Basic android workshop
 
Introduction to Android Programming
Introduction to Android ProgrammingIntroduction to Android Programming
Introduction to Android Programming
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
AndroidOverview
AndroidOverviewAndroidOverview
AndroidOverview
 
How to become an android developer
How to become an android developerHow to become an android developer
How to become an android developer
 
Android
AndroidAndroid
Android
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
 
Mobile next 2013 petru jucovschi
Mobile next 2013   petru jucovschiMobile next 2013   petru jucovschi
Mobile next 2013 petru jucovschi
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Basic android development
Basic android developmentBasic android development
Basic android development
 
Basic android development
Basic android developmentBasic android development
Basic android development
 

Mehr von Justin Grammens

Scope Creep - Damned if I Do, Damned if I Don't
Scope Creep - Damned if I Do, Damned if I Don'tScope Creep - Damned if I Do, Damned if I Don't
Scope Creep - Damned if I Do, Damned if I Don'tJustin Grammens
 
Deep Learning with TensorFlow
Deep Learning with TensorFlowDeep Learning with TensorFlow
Deep Learning with TensorFlowJustin Grammens
 
Speaking at John Carrol University on the Internet of Things
Speaking at John Carrol University on the Internet of ThingsSpeaking at John Carrol University on the Internet of Things
Speaking at John Carrol University on the Internet of ThingsJustin Grammens
 
NDC Minnesota 2019 - Fundamentals of Azure IoT
NDC Minnesota 2019 - Fundamentals of Azure IoTNDC Minnesota 2019 - Fundamentals of Azure IoT
NDC Minnesota 2019 - Fundamentals of Azure IoTJustin Grammens
 
This Time, It’s Personal: Why Security and the IoT Is Different
This Time, It’s Personal: Why Security and the IoT Is DifferentThis Time, It’s Personal: Why Security and the IoT Is Different
This Time, It’s Personal: Why Security and the IoT Is DifferentJustin Grammens
 
Looking into the Future: Using Google's Prediction API
Looking into the Future: Using Google's Prediction APILooking into the Future: Using Google's Prediction API
Looking into the Future: Using Google's Prediction APIJustin Grammens
 
The Internet of Things - What It Is, Where Its Headed and Its Applications
The Internet of Things - What It Is, Where Its Headed and Its ApplicationsThe Internet of Things - What It Is, Where Its Headed and Its Applications
The Internet of Things - What It Is, Where Its Headed and Its ApplicationsJustin Grammens
 
Internet of Things: What It Is, Where's Headed and Its Applications
Internet of Things: What It Is, Where's Headed and Its ApplicationsInternet of Things: What It Is, Where's Headed and Its Applications
Internet of Things: What It Is, Where's Headed and Its ApplicationsJustin Grammens
 
Collaborative Learning - The Role Communities Play in IoT
Collaborative Learning - The Role Communities Play in IoTCollaborative Learning - The Role Communities Play in IoT
Collaborative Learning - The Role Communities Play in IoTJustin Grammens
 
Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.Justin Grammens
 
Arduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things LandscapeArduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things LandscapeJustin Grammens
 
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...Justin Grammens
 
Physical Computing Using Go and Arduino
Physical Computing Using Go and ArduinoPhysical Computing Using Go and Arduino
Physical Computing Using Go and ArduinoJustin Grammens
 
The State of Arduino and IoT
The State of Arduino and IoTThe State of Arduino and IoT
The State of Arduino and IoTJustin Grammens
 
Voice Enabled Applications
Voice Enabled ApplicationsVoice Enabled Applications
Voice Enabled ApplicationsJustin Grammens
 
Adhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework PresentationAdhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework PresentationJustin Grammens
 
Asterisk-Java Framework Presentation
Asterisk-Java Framework PresentationAsterisk-Java Framework Presentation
Asterisk-Java Framework PresentationJustin Grammens
 

Mehr von Justin Grammens (17)

Scope Creep - Damned if I Do, Damned if I Don't
Scope Creep - Damned if I Do, Damned if I Don'tScope Creep - Damned if I Do, Damned if I Don't
Scope Creep - Damned if I Do, Damned if I Don't
 
Deep Learning with TensorFlow
Deep Learning with TensorFlowDeep Learning with TensorFlow
Deep Learning with TensorFlow
 
Speaking at John Carrol University on the Internet of Things
Speaking at John Carrol University on the Internet of ThingsSpeaking at John Carrol University on the Internet of Things
Speaking at John Carrol University on the Internet of Things
 
NDC Minnesota 2019 - Fundamentals of Azure IoT
NDC Minnesota 2019 - Fundamentals of Azure IoTNDC Minnesota 2019 - Fundamentals of Azure IoT
NDC Minnesota 2019 - Fundamentals of Azure IoT
 
This Time, It’s Personal: Why Security and the IoT Is Different
This Time, It’s Personal: Why Security and the IoT Is DifferentThis Time, It’s Personal: Why Security and the IoT Is Different
This Time, It’s Personal: Why Security and the IoT Is Different
 
Looking into the Future: Using Google's Prediction API
Looking into the Future: Using Google's Prediction APILooking into the Future: Using Google's Prediction API
Looking into the Future: Using Google's Prediction API
 
The Internet of Things - What It Is, Where Its Headed and Its Applications
The Internet of Things - What It Is, Where Its Headed and Its ApplicationsThe Internet of Things - What It Is, Where Its Headed and Its Applications
The Internet of Things - What It Is, Where Its Headed and Its Applications
 
Internet of Things: What It Is, Where's Headed and Its Applications
Internet of Things: What It Is, Where's Headed and Its ApplicationsInternet of Things: What It Is, Where's Headed and Its Applications
Internet of Things: What It Is, Where's Headed and Its Applications
 
Collaborative Learning - The Role Communities Play in IoT
Collaborative Learning - The Role Communities Play in IoTCollaborative Learning - The Role Communities Play in IoT
Collaborative Learning - The Role Communities Play in IoT
 
Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.
 
Arduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things LandscapeArduino, Open Source and The Internet of Things Landscape
Arduino, Open Source and The Internet of Things Landscape
 
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
Gobot Meets IoT : Using the Go Programming Language to Control The “Things” A...
 
Physical Computing Using Go and Arduino
Physical Computing Using Go and ArduinoPhysical Computing Using Go and Arduino
Physical Computing Using Go and Arduino
 
The State of Arduino and IoT
The State of Arduino and IoTThe State of Arduino and IoT
The State of Arduino and IoT
 
Voice Enabled Applications
Voice Enabled ApplicationsVoice Enabled Applications
Voice Enabled Applications
 
Adhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework PresentationAdhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework Presentation
 
Asterisk-Java Framework Presentation
Asterisk-Java Framework PresentationAsterisk-Java Framework Presentation
Asterisk-Java Framework Presentation
 

Kürzlich hochgeladen

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Android Minnebar

  • 1. What is that robot up to? Justin Grammens Recursive Awesome http://recursiveawesome.com
  • 2. About Me Name: Justin Grammens Owner Localtone Interactive Co-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
  • 4. != Android is NOT the Droid!
  • 5. Summary What Is Android Who Is Android Building Blocks Android Market Deploy MobileTC App To Market
  • 6. 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.
  • 9. Devices! Acer Liquid
  • 10. Devices! Sony Xperia X10
  • 11. Devices! HTC - Tattoo
  • 17. Devices! HTC Droid Eris - Droid is more than 1 phone
  • 18. Devices! Motorola Droid Skins - http://teavuihuang.com/android/
  • 19. 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
  • 20. Nuts and Bolts Built on the Linux kernel Uses the Dalvik virtual machine Register Based VM written by Dan Bornstein Very low memory footprint Core and 3rd party applications have equal access Multiple applications able to run at the same time Background services 100% fully customizable - from startup to shutdown Touch (or physical keyboard) interface
  • 21. What's the big deal? Truly open and FREE development platform No "pay to play" developer agreement Freely available tools (Eclipse) and no restrictions on OS you need to be on to develop No "blessing" required from a company (i.e. Apple) Component based architecture that can be extended Built in services out of the box Location based Multimedia - supports open audio formats - OGG! SQLite Database Automatic management of application lifecycle Portability across current and future hardware Supports and plans for input from either trackball, keyboard or touch
  • 22. Exponential Sales First 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
  • 23. 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"
  • 24. Building Blocks Basic foundation of an Android application Activity Intent Service Content Provider Your applications will not use all of these, but they will use atleast one.
  • 25. Building Blocks Activity Describes a single screen of the application Implemented as a class that extends Activity Activities are pushed on the history stack using an Intent Uses callbacks to trigger events during state changes. public class LocaltoneAndroid extends ListActivity { @Override public void onCreate(Bundle init) { } }
  • 26. Activity Life Cycle source: http://developer.android.com/reference/android/app/Activity.html
  • 27. 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"));
  • 28. Building Blocks Service Code that is long running Runs without a UI Media Player is an good example Activity used to choose song Playback handled in a service public class MyService extends Service { public void onCreate() { } }
  • 29. Building Blocks Content Provider Set of data wrapped in a custom API Allow sharing of data between applications Processes 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
  • 30. Face of Android Various types of Layouts - Similar to Swing Linear Layout Arranges children in a single row/column. The most common type of layout you'll use. FrameLayout Arranges children so they start at the top left. Used mainly for tabbed views. Relative Layout Arranged in relation to eachother ( element X is above/below element Y for example ). TableLayout Arranged in a cells, like HTML table.
  • 31. Face of Android About.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>
  • 32. Face of Android Declarative - In XML Task: Define text in an "About" screen File: 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); }
  • 33. 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));
  • 34. Face of Android Android Manifest.xml What is any good Java program without a manifest file? =) Defines the version and package information Defines the permissions required by the application <uses-permission android:name="android. permission.INTERNET" /> <activity android:name=".Result" Class name android:label="@string/result" of the Activity android:layout_width="fill_parent"> </activity>
  • 35. Mobile Twin Cities Website Latest Tweets @mobiletc Discussion List No splash screen Will add in coding session
  • 37. Developing Apps For Android Develop 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.org Install Android plugin through the Eclipse Plug-in Manager SDK http://code.google.com/android/intro/installing.html No restriction on distribution. Free to charge what you wish
  • 38. Pimping Android For Profit Listing 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 versions Version name - The version that people will see MinSDKVersoin - Requirement of end user's version
  • 39. Pimping Android For Profit NOTE: You can distribute your .apk file and charge any way you wish! However, if you wish to use the Market URL: http://www.android.com/market Signup on the market http://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.
  • 42. Final Thoughts It's not just phones or mobile devices! Archos - MID Nook - EBook Reader
  • 43. Deploy Application To Market Lets Do It!
  • 44. Resources Books Mark Murphy - http://commonsware.com/Android/ Hello, Android by Pragmatic Programmers Sites AndDev.org - Good online forum Google Samples - http://is.gd/knVZ IRC #Android-Dev Google Groups Android Developers http://is.gd/knWK Local Groups! Android Dev MN - http://is.gd/knVO Mobile Twin Cities - http://mobiletwincities.com
  • 45. Add a splash page in our Adhoc coding session! Justin Grammens Recursive Awesome http://recursiveawesome.com