SlideShare a Scribd company logo
Beginning




                              Development
     Presenter: Christopher M. Judd
     Session Number: 508


Saturday, March 5, 2011
Code PaLOUsa 2011 Sponsors




Saturday, March 5, 2011
Code PaLOUsa 2011 Sponsors




Saturday, March 5, 2011
Christopher M. Judd
      President/Consultant of

                                              leader
      Columbus                 Developer User Group (CIDUG)




Saturday, March 5, 2011
Remarkable Ohio




                                           Free
                     Developed for eTech Ohio and Ohio Historical Center
Saturday, March 5, 2011
University System Of Ohio




                                        Free
                Developed for eTech Ohio and University System Of Ohio
Saturday, March 5, 2011
Android Devices




Saturday, March 5, 2011
Saturday, March 5, 2011
Input




                 Multi-touch

                               Virtual Keyboard   Speech
Saturday, March 5, 2011
Location Aware




Saturday, March 5, 2011
Accelerometer/Gyroscope




Saturday, March 5, 2011
Camera/Video




Saturday, March 5, 2011
Android Development

                          vs   vs




Saturday, March 5, 2011
Saturday, March 5, 2011
FREE!!!




Saturday, March 5, 2011
Saturday, March 5, 2011
Designer




                          Blocks Editor
Saturday, March 5, 2011
Designer




                                             Emulator




                          Blocks Editor   Project Manager
Saturday, March 5, 2011
Limitations

                    Can not deploy to

                    Limited by Component Palette
                    and Blocks
                    Hard to work as team
                    One Screen

Saturday, March 5, 2011
Android SDK




Saturday, March 5, 2011
FREE!!!




Saturday, March 5, 2011
OPEN SOURCE!!!




Saturday, March 5, 2011
Saturday, March 5, 2011
Eclipse
                           IDE




Saturday, March 5, 2011
Eclipse
                           IDE




     Android Development Tool
               (ADT)
          Eclipse Plug-in

Saturday, March 5, 2011
Eclipse   Android SDK
                           IDE
                                     Emulator
                                     Platforms
                                      Samples

     Android Development Tool
               (ADT)
          Eclipse Plug-in

Saturday, March 5, 2011
Getting Started
        1.Install Java Developer Kit (JDK)
        2.Install Eclipse
        3.Install SDK
        4.Install ADT Eclipse Plug-in
        5.Install Android Platform(s)
        6.Configure Android Virtual Device

                          http://developer.android.com/sdk/installing.html
Saturday, March 5, 2011
Name       Version   Level
                                        Cupcake        1.5       3
                                          Donut        1.6       4
                                          Eclair       2.1       7
                                          Froyo        2.2       8
                                       Gingerbread     2.3       9




                          Android Platforms
Saturday, March 5, 2011
Configure Android Virtual Devices (AVD)




                   <sdk>/tools/android

 In Eclipse - Windows > Android SDK and AVD Manager




Common Device Configs
http://mobile.tutsplus.com/tutorials/android/common-android-virtual-device-configurations/
Saturday, March 5, 2011
Emulator




Saturday, March 5, 2011
VS




Saturday, March 5, 2011
Android Development Tools




                                                      Java Editor
                                                       Debugger
                                                      Perspective
                                                        Wizards
                                                        Profiler




Saturday, March 5, 2011
Android Architecture




Saturday, March 5, 2011
MyWebBrowser Example




Saturday, March 5, 2011
Saturday, March 5, 2011
1.   Create project
                          2.   Layout screen
                          3.   Write code
                          4.   Run application




Saturday, March 5, 2011
Create Project




Saturday, March 5, 2011
Layout Screen
 res/layout/main.xml
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     >

   <LinearLayout
       android:orientation="horizontal"
       android:layout_width="fill_parent"
       android:layout_height="50px"
   >

      <EditText
         android:id="@+id/url"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content" />
      <Button
         android:id="@+id/go"
         android:text="@string/go_button_text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>

   </LinearLayout>

   <WebView
      android:id="@+id/webview"                             res/values/strings.xml
      android:layout_width="fill_parent"                    <?xml version="1.0" encoding="utf-8"?>
      android:layout_height="fill_parent"                   <resources>
   />                                                           <string name="app_name">MyBrowser</string>
                                                                <string name="go_button_text">Go</string>
 </LinearLayout>                                            </resources>


Saturday, March 5, 2011
Layouts
              Linear      Relative   Table




                 Grid        Tab     List
Saturday, March 5, 2011
Application Code

src/com/juddsolutions/mybrowser/Main.java

public class Main extends Activity {
  private WebView webView;
  private EditText url;

    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);                       <LinearLayout
      setContentView(R.layout.main);                                android:orientation="horizontal"
                                                                    android:layout_width="fill_parent"
         url = (EditText)findViewById(R.id.url);                    android:layout_height="50px"
         Button go = (Button)findViewById(R.id.go);             >
         webView = (WebView)findViewById(R.id.webview);
                                                                  <EditText
         go.setOnClickListener(new OnClickListener() {               android:id="@+id/url"
                                                                     android:layout_height="wrap_content"
                                                                     android:layout_width="wrap_content" />
         public void onClick(View v) {                            <Button
            webView.getSettings().setJavaScriptEnabled(true);        android:id="@+id/go"
            webView.loadUrl(url.getText().toString());               android:text="@string/go_button_text"
         }                                                           android:layout_width="wrap_content"
        });                                                          android:layout_height="wrap_content"/>
    }
}                                                               </LinearLayout>

                                                                <WebView
                                                                   android:id="@+id/webview"
                                                                   android:layout_width="fill_parent"
                                                                   android:layout_height="fill_parent"
                                                                />

Saturday, March 5, 2011
Run Application



                                            e
                                     t   tim
                                 fi rs




 In Eclipse - Run > Run
                          multi
                                pl e
                          devic
                                es




Saturday, March 5, 2011
Permissions




 AndroidManifest.xml
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.juddsolution.mybrowser"
       android:versionCode="1"
       android:versionName="1.0">
     <application android:icon="@drawable/icon" android:label="@string/app_name">
         <activity android:name=".Main"
                   android:label="@string/app_name">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>

       </application>
       <uses-sdk android:minSdkVersion="7" />



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


Saturday, March 5, 2011
Saturday, March 5, 2011
Deployment Options


     Android Package

                          *.apk




Saturday, March 5, 2011
Register
 http://market.android.com/publish                              App Details
                          $25/year                              apk File
                                                                Screen shots
                                                                High Res Icon
                                                                Title
  1.Develop/Test Application                                    Description
  2.Export/Sign Jar                                             Application Type
  3.Upload Application                                          Category
                                                                Price
                                                                Website
                                                                Email
                                                                Phone
http://developer.android.com/guide/publishing/publishing.html   etc...
Saturday, March 5, 2011
Analytics
       Android Market Place                        Analytic Companies




                          Downloads
                          Active Installs
                          Errors
                          Comments                      Uses
                                                        New Users
                                                        Device Types
                                                        Locations
                                                        Events

Saturday, March 5, 2011
Resources




                                http://developer.android.com


Saturday, March 5, 2011
Christopher M. Judd

                          President/Consultant/Author
                          email: cjudd@juddsolutions.com
                          web: www.juddsolutions.com
                          blog: juddsolutions.blogspot.com
                          twitter: javajudd




Saturday, March 5, 2011

More Related Content

PDF
Android Intro
PDF
Android Development: Build Android App from Scratch
PPTX
Titanium Appcelerator - Beginners
PPTX
Android, Gradle & Dependecies
PDF
Android Development Tutorial V3
PDF
Next Step, Android Studio!
PPTX
UI Testing for Your Xamarin.Forms Apps
PPT
Desarrollo AIR Mobile
Android Intro
Android Development: Build Android App from Scratch
Titanium Appcelerator - Beginners
Android, Gradle & Dependecies
Android Development Tutorial V3
Next Step, Android Studio!
UI Testing for Your Xamarin.Forms Apps
Desarrollo AIR Mobile

What's hot (20)

PPT
Android Applications Development
PPTX
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
PPTX
Android application development the basics (2)
PPT
Google Android
PDF
Android Lab
PPTX
Android development session 5 - Debug android studio
KEY
Android Workshop
PDF
Preparing for Release to the App Store
PDF
Android Workshop 2013
PPTX
Simple Android Project (SAP)... A Test Application
DOCX
Installing android sdk on net beans
PDF
Android Test Automation Workshop
PPTX
Creating the first app with android studio
PDF
Android App development and test environment, Understaing android app structure
PPTX
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
PPT
9780134433646 annuzzi ch02 (1)
PDF
Being Epic: Best Practices for Android Development
PPTX
Jil individual widget upload process
PDF
01 04 - android set up and creating an android project
PPTX
Testing android apps with espresso
Android Applications Development
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Android application development the basics (2)
Google Android
Android Lab
Android development session 5 - Debug android studio
Android Workshop
Preparing for Release to the App Store
Android Workshop 2013
Simple Android Project (SAP)... A Test Application
Installing android sdk on net beans
Android Test Automation Workshop
Creating the first app with android studio
Android App development and test environment, Understaing android app structure
Rapid mobile development with Ionic framework - Voxxdays Ticino 2015
9780134433646 annuzzi ch02 (1)
Being Epic: Best Practices for Android Development
Jil individual widget upload process
01 04 - android set up and creating an android project
Testing android apps with espresso
Ad

Viewers also liked (6)

PDF
Cloudstack talk
PDF
Community Works! Pfcongres 2011
PDF
Titanium setup
PPSX
Social media thoughts Show v1
PPSX
Director Version 2
KEY
Web accessibility
Cloudstack talk
Community Works! Pfcongres 2011
Titanium setup
Social media thoughts Show v1
Director Version 2
Web accessibility
Ad

Similar to Beginning Android Development (20)

PDF
Android Development Slides
PPTX
Seminar Android - Pengenalan PhoneGap
PPT
Using JavaScript for Mobile Development
PPT
Synapseindia android apps application
PDF
Brian Hogg - Web Apps using HTML5 and JS
PDF
Building Cross-Platform Mobile Apps
PPT
Android developer webinar-march-2012-mindstormsoftware
PPTX
How to become an android developer
PDF
Android TCJUG
PPT
Html5 investigation
PDF
Selenium Webdriver Interview Questions
PPTX
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
KEY
Android Workshop
PDF
Android Programming For Developers John Horton Helder Vasconcelos
PDF
Pycon2011 android programming-using_python
PPTX
Android Web app
PPTX
Android
PDF
Refactoring Wunderlist. UA Mobile 2016.
PDF
Top mobile app development frameworks to consider in 2021
PPT
Best Practices in Mobile Development: Building Your First jQuery Mobile App
Android Development Slides
Seminar Android - Pengenalan PhoneGap
Using JavaScript for Mobile Development
Synapseindia android apps application
Brian Hogg - Web Apps using HTML5 and JS
Building Cross-Platform Mobile Apps
Android developer webinar-march-2012-mindstormsoftware
How to become an android developer
Android TCJUG
Html5 investigation
Selenium Webdriver Interview Questions
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Android Workshop
Android Programming For Developers John Horton Helder Vasconcelos
Pycon2011 android programming-using_python
Android Web app
Android
Refactoring Wunderlist. UA Mobile 2016.
Top mobile app development frameworks to consider in 2021
Best Practices in Mobile Development: Building Your First jQuery Mobile App

More from José Ferreiro (20)

PDF
EMBA_brochure_2012-2013
PPS
Shanghai train central station
PDF
Canadian Federal Government - Digital Economy leadership white paper
PDF
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
PPS
The most amazing bridges in the world
PDF
e-Customs Services in Border Crossing Facilitation
PDF
e-Customs Services in Border Crossing Facilitation
PDF
Cloud Computing - Why and How? (by Forrester Research, Inc.)
PDF
Security Lock Down Your Computer Like the National Security Agency (NSA)
PDF
Going to the Cloud
PDF
Distributed software services to the cloud without breaking a sweat
PPS
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
PPS
The most amazing world roads
PDF
Main challenges to achieving Millenium Development Goals (MDGs) by 2015
PDF
Information Systems used in the framework of the TIR Convention : ITDBonline+
PDF
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
PPS
Information Systems and Technologies used in the framework of the TIR Convention
PDF
Mikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
PPS
MY FIRST MARATHON
PPS
United Nations Office in Geneva: Palais des Nations’ view
EMBA_brochure_2012-2013
Shanghai train central station
Canadian Federal Government - Digital Economy leadership white paper
Setting up a private cloud for academic environment with OSS by Zoran Pantic ...
The most amazing bridges in the world
e-Customs Services in Border Crossing Facilitation
e-Customs Services in Border Crossing Facilitation
Cloud Computing - Why and How? (by Forrester Research, Inc.)
Security Lock Down Your Computer Like the National Security Agency (NSA)
Going to the Cloud
Distributed software services to the cloud without breaking a sweat
Beautiful Latin America by Night (Maravillosa Latinoamérica de noche)
The most amazing world roads
Main challenges to achieving Millenium Development Goals (MDGs) by 2015
Information Systems used in the framework of the TIR Convention : ITDBonline+
Lausanne Marathon between the lake and verdant hillsides (2009 Edition)
Information Systems and Technologies used in the framework of the TIR Convention
Mikhael Gorbachev - Resetting the Nuclear Disarmament Agenda
MY FIRST MARATHON
United Nations Office in Geneva: Palais des Nations’ view

Recently uploaded (20)

PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Cell Structure & Organelles in detailed.
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Complications of Minimal Access Surgery at WLH
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Institutional Correction lecture only . . .
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
Pharma ospi slides which help in ospi learning
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Cell Structure & Organelles in detailed.
VCE English Exam - Section C Student Revision Booklet
STATICS OF THE RIGID BODIES Hibbelers.pdf
01-Introduction-to-Information-Management.pdf
Renaissance Architecture: A Journey from Faith to Humanism
Final Presentation General Medicine 03-08-2024.pptx
Complications of Minimal Access Surgery at WLH
TR - Agricultural Crops Production NC III.pdf
Basic Mud Logging Guide for educational purpose
Microbial disease of the cardiovascular and lymphatic systems
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
O7-L3 Supply Chain Operations - ICLT Program
Institutional Correction lecture only . . .
PPH.pptx obstetrics and gynecology in nursing
Pharma ospi slides which help in ospi learning
Anesthesia in Laparoscopic Surgery in India
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx

Beginning Android Development

  • 1. Beginning Development Presenter: Christopher M. Judd Session Number: 508 Saturday, March 5, 2011
  • 2. Code PaLOUsa 2011 Sponsors Saturday, March 5, 2011
  • 3. Code PaLOUsa 2011 Sponsors Saturday, March 5, 2011
  • 4. Christopher M. Judd President/Consultant of leader Columbus Developer User Group (CIDUG) Saturday, March 5, 2011
  • 5. Remarkable Ohio Free Developed for eTech Ohio and Ohio Historical Center Saturday, March 5, 2011
  • 6. University System Of Ohio Free Developed for eTech Ohio and University System Of Ohio Saturday, March 5, 2011
  • 9. Input Multi-touch Virtual Keyboard Speech Saturday, March 5, 2011
  • 13. Android Development vs vs Saturday, March 5, 2011
  • 17. Designer Blocks Editor Saturday, March 5, 2011
  • 18. Designer Emulator Blocks Editor Project Manager Saturday, March 5, 2011
  • 19. Limitations Can not deploy to Limited by Component Palette and Blocks Hard to work as team One Screen Saturday, March 5, 2011
  • 24. Eclipse IDE Saturday, March 5, 2011
  • 25. Eclipse IDE Android Development Tool (ADT) Eclipse Plug-in Saturday, March 5, 2011
  • 26. Eclipse Android SDK IDE Emulator Platforms Samples Android Development Tool (ADT) Eclipse Plug-in Saturday, March 5, 2011
  • 27. Getting Started 1.Install Java Developer Kit (JDK) 2.Install Eclipse 3.Install SDK 4.Install ADT Eclipse Plug-in 5.Install Android Platform(s) 6.Configure Android Virtual Device http://developer.android.com/sdk/installing.html Saturday, March 5, 2011
  • 28. Name Version Level Cupcake 1.5 3 Donut 1.6 4 Eclair 2.1 7 Froyo 2.2 8 Gingerbread 2.3 9 Android Platforms Saturday, March 5, 2011
  • 29. Configure Android Virtual Devices (AVD) <sdk>/tools/android In Eclipse - Windows > Android SDK and AVD Manager Common Device Configs http://mobile.tutsplus.com/tutorials/android/common-android-virtual-device-configurations/ Saturday, March 5, 2011
  • 32. Android Development Tools Java Editor Debugger Perspective Wizards Profiler Saturday, March 5, 2011
  • 36. 1. Create project 2. Layout screen 3. Write code 4. Run application Saturday, March 5, 2011
  • 38. Layout Screen res/layout/main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="50px" > <EditText android:id="@+id/url" android:layout_height="wrap_content" android:layout_width="wrap_content" /> <Button android:id="@+id/go" android:text="@string/go_button_text" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> <WebView android:id="@+id/webview" res/values/strings.xml android:layout_width="fill_parent" <?xml version="1.0" encoding="utf-8"?> android:layout_height="fill_parent" <resources> /> <string name="app_name">MyBrowser</string> <string name="go_button_text">Go</string> </LinearLayout> </resources> Saturday, March 5, 2011
  • 39. Layouts Linear Relative Table Grid Tab List Saturday, March 5, 2011
  • 40. Application Code src/com/juddsolutions/mybrowser/Main.java public class Main extends Activity { private WebView webView; private EditText url; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); <LinearLayout setContentView(R.layout.main); android:orientation="horizontal" android:layout_width="fill_parent" url = (EditText)findViewById(R.id.url); android:layout_height="50px" Button go = (Button)findViewById(R.id.go); > webView = (WebView)findViewById(R.id.webview); <EditText go.setOnClickListener(new OnClickListener() { android:id="@+id/url" android:layout_height="wrap_content" android:layout_width="wrap_content" /> public void onClick(View v) { <Button webView.getSettings().setJavaScriptEnabled(true); android:id="@+id/go" webView.loadUrl(url.getText().toString()); android:text="@string/go_button_text" } android:layout_width="wrap_content" }); android:layout_height="wrap_content"/> } } </LinearLayout> <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> Saturday, March 5, 2011
  • 41. Run Application e t tim fi rs In Eclipse - Run > Run multi pl e devic es Saturday, March 5, 2011
  • 42. Permissions AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.juddsolution.mybrowser" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.INTERNET"></uses-permission> </manifest> Saturday, March 5, 2011
  • 44. Deployment Options Android Package *.apk Saturday, March 5, 2011
  • 45. Register http://market.android.com/publish App Details $25/year apk File Screen shots High Res Icon Title 1.Develop/Test Application Description 2.Export/Sign Jar Application Type 3.Upload Application Category Price Website Email Phone http://developer.android.com/guide/publishing/publishing.html etc... Saturday, March 5, 2011
  • 46. Analytics Android Market Place Analytic Companies Downloads Active Installs Errors Comments Uses New Users Device Types Locations Events Saturday, March 5, 2011
  • 47. Resources http://developer.android.com Saturday, March 5, 2011
  • 48. Christopher M. Judd President/Consultant/Author email: cjudd@juddsolutions.com web: www.juddsolutions.com blog: juddsolutions.blogspot.com twitter: javajudd Saturday, March 5, 2011