Introduction to

Application Development

         Surendra Bajracharya
                Feb 4th, 2013
Android Development
                      Agenda

• What is Android?
• Installation (Eclipse)
• Android Application Fundamentals
• Hello World/Android Demo using Eclipse
• Demo using IntelliJ (Login UI)
• Google Maps application demo
• Comments/Feedback
Android Development
                  What is Android?
• Android is an open source operating system, created
by Google specifically for use on mobile devices (cell
phones and tablets)

• Linux based (2.6 kernel)

• Can be programmed in C/C++ but most app
development is done in Java (Java access to C Libraries
via JNI (Java Native Interface))
Android Development
      Android System Architecture
Android Development
                   Different Android Versions
Each major release is named in alphabetical order after a dessert or sugary treat; for
example, version 1.5 Cupcake was followed by 1.6 Donut.

Most Android devices to date still run the older OS version 2.3 Gingerbread that was
released on December 6, 2010, due to most lower-end devices still being released with it.
Android Development
              Installation (30 min ~ 1 hr)

• Eclipse
   – www.eclipse.org/downloads/
   – 3.5 or later version
   – Classic or a Java edition

• Android SDK and Android Development Tools (ADT)
Plugin
   – developer.android.com/sdk/requirements.html

• JDK, version 5, 6, or 7
Android Development
           Android ADT Plugin and SDK

• In Eclipse:
    – Navigate to Help | Install New Software
    – Follow the instructions on the android site to
    install the plugin.

• Point Eclipse to the location of the Android SDK:
   – In Eclipse, navigate to Preferences | Android
   – Browse to or enter the location in the “SDK Location”
   text field.
   – Apply, then OK
Android Development
Android Development
                 Install packages

•In Eclipse, navigate to Window | Android SDK
 Manager

• Install packages from the list
    – At least 2.2 and 2.3 for current phone
    development
    – One tablet package.
Android Development
Android Development

                 IntelliJ IDEA (another IDE)
•IntelliJ IDEA 12 offers advanced support for development Android
applications with the latest Android 4.2 SDK.
•Code Assistance
•Refactorings
•Deploy, run and debug Android applications either in emulator or on
a real device.
•UI Designer: With IntelliJ IDEA you can build rich UI for your Android
applications easily by drag and drop. The designer provides support
for layouts, custom components, device profiles, refactorings,
morphing and quick-fixes.
Android Development
         Android Application Fundamentals

•Android Applications are Collections of reusable
components.

•An Android App may have multiple entry points, and may
use components from other applications.

•In Android, the flow of user interaction across one or
more applications is called a “Task.”
Android Development
                       Application Components
 Activity
   ◦ Present a visual user interface for one focused endeavor the user can undertake
   ◦ Example: a list of menu items users can choose from
 Services
   ◦ Run in the background for an indefinite period of time
   ◦ Example: calculate and provide the result to activities that need it
 Broadcast Receivers
   ◦ Receive and react to broadcast announcements
   ◦ Example: announcements that the time zone has changed
 Content Providers
   ◦ Store and retrieve data and make it accessible to all applications
   ◦ Example: Android ships with a number of content providers for common data types
     (e.g., audio, video, images, personal contact information, etc.)
 Intents
   ◦ Hold the content of a message
   ◦ Example: convey a request for an activity to present an image to the user or let the
     user edit some text
Android Development

                     AndroidManifest.xml
•An application's contents are described in the AndroidManifest.xml
file.

•All Activities, Services, Content Providers, and Broadcast Receivers in
an app must have an entry in this file.

•Activities register the Intents they respond to using “Intent Filters”.

•Security permissions, version info, and the minimum sdk version are
also registered in AndroidManifest.xml.
Android Development

                             Resources
• An application's resources are described in .xml files in the /res
path

• Include UI layouts, drawables, values (such as strings and styles),
and even raw .xml files and other data.

• Resources are accessed using Context.getResources() and the
R class
    – The R class is defined in R.java, which is generated for each
    application.
    – Each resource is assigned a public static final int id (compile –
    time constant) in the R class.
Android Development

                             Activities
• An Activity is a unit of user interaction within an android
application.

• Activities are represented by the Activity class
    – All android apps subclass Activity
    – Activities have methods that can be overridden to detect stages
    in the activity lifecycle.
Android Development

                              Default android app
                     package com.sourceallies.helloworldandroidapp;          1. The Activity

                     import android.app.Activity;
                     import android.os.Bundle;

                      public class HelloActivity extends Activity {
                      /** Called when the activity is first created. */
                      @Override
                           public void onCreate(Bundle savedInstanceState) {
                               super.onCreate(savedInstanceState);
                                    setContentView(R.layout.activity_hello);
                            }
                       }                                           2. onCreate is a lifecycle
                                                                   method of the Activity
3. The content view of the
Activity is set to main.xml
Android Development
                      Lifecycle methods of Activity
•onCreate()
•onStart()
•onResume()
•onPause()
•onRestart()
•onStop()
•onRestart()

All lifecycle methods must
call through to super!

More Information:
http://developer.android.com
/reference/android/app
/Activity.html
Android Development

   Android Emulator: 2.2 Device
Android Development
                     Hello World/Android Demo...

• Create a new AVD (Android Virtual Device)
• Setup a new Android Project in Eclipse
• Write/run the program
                              Setting up an AVD
• Open Eclipse and go to the Window tab
• Select the AVD manager from the dropdown
• Once the AVD manager is open, click New
• Name your AVD, and then select a version of the Android API for
the device to use
• Click “Create AVD” – let’s say myAVD
•Can't find AVD or SDK manager in Eclipse - solve it by going to Window ->
Customize Perspective, and under Command Groups Availability tab check the Android SDK
and AVD Manager
Android Development
                   Making an Android Project
• In Eclipse, go to File->New->Project
• Next, open the Android Folder and select Android Project
• Setup your project, so it'll run on your AVD (name it, select API,
etc...)
Android Development
                    Producing an Android App

            javac
Java code             Byte code

                                         dx
  .java                  .class                   Dalvik exe

                                                  classes.dex       aapt


                         Byte code                  <xml>

                    Other .class files        AndroidManifest.xml
                                                                            .apk
                                                                     Android Package Kit
                                                        <str>
                                  Resources
Android Development
Android Development
                       Writing the Program
• Open the .java file created by the project
• Initially the code should look like this:
Android Development
                Writing the Program...continued
After the initial code of the .java file is generated, edit the code so
that it then looks like this:
Android Development
                         Running the App

• Once the program is complete, save it, and then go up to Run.
• Eclipse will then start an appropriate AVD and load the app onto the
emulator
• Once the file is installed on the AVD, it'll launch and you will have
completed your first HELLO world/Android app!
Android Development
Running the App

                       R.java
Do not
modify!




                    activity_hello.xml

                                         strings.xml
Android Development


              AndroidManifest.xml
Android Development
                           Important Files
src/HelloActivity.java
     Activity which is started when app executes
res/layout/activity_hello.xml
     Defines & lays out widgets for the activity
res/values/strings.xml
     String constants used by app
gen/R.java (Don’t touch!)
     Auto-generated file with identifiers from activity_hello.xml, strings.xml,
     and elsewhere
AndroidManifest.xml
     Declares all the app’s components
     Names libraries app needs to be linked against
     Identifies permissions the app expects to be granted
Android Development
                Various Layouts




http://developer.android.com/resources/tutorials/views/index.html
Android Development
                    Various Widgets




http://developer.android.com/resources/tutorials/views/index.html
Android Development
  Demo Using IntelliJ IDEA 12.0.1
Android Development
                  Google Maps Demo
https://developers.google.com/maps/documentation/android/v1/mapkey
Android Maps API Key: 0qMq9sUdrh4V367erwY0h76w-hXBG9kzeV1R8bg
Android Development
Android Development


          THANKS!!!
          Comments/Feedback
     sbajracharya@sourceallies.com

More Related Content

PDF
Android Development
PDF
Android application development workshop day1
PPTX
Application Development - Overview on Android OS
PPT
Android Anatomy
PPTX
Android
PPTX
Android Basic
PDF
Android dev o_auth
ODP
Anatomy of android application
Android Development
Android application development workshop day1
Application Development - Overview on Android OS
Android Anatomy
Android
Android Basic
Android dev o_auth
Anatomy of android application

What's hot (20)

PDF
Five android architecture
PPTX
How to create android applications
PPT
Introduction to android sessions new
PPT
Android project architecture
PPTX
Android architecture
PPT
Android application development for TresmaxAsia
PDF
Os eclipse-androidwidget-pdf
PDF
Android App development and test environment, Understaing android app structure
PPT
Part 2 android application development 101
DOCX
Android xml-based layouts-chapter5
PDF
Case Study: Cool Clock - An Intro to Android Development
PDF
Training android
PPT
Android development tutorial
PPTX
Android application-component
PDF
Android chapter02-setup2-emulator
PPTX
Android apps development
PPT
Getting started with android dev and test perspective
PDF
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
PPTX
03 Beginning Android Application Development
PPT
Android programming
Five android architecture
How to create android applications
Introduction to android sessions new
Android project architecture
Android architecture
Android application development for TresmaxAsia
Os eclipse-androidwidget-pdf
Android App development and test environment, Understaing android app structure
Part 2 android application development 101
Android xml-based layouts-chapter5
Case Study: Cool Clock - An Intro to Android Development
Training android
Android development tutorial
Android application-component
Android chapter02-setup2-emulator
Android apps development
Getting started with android dev and test perspective
Matteo Gazzurelli - Andorid introduction - Google Dev Fest 2013
03 Beginning Android Application Development
Android programming

Viewers also liked (9)

PDF
Android System Developement
PPTX
Android application developement seminar
PDF
Leveraging Android for the Internet of Things with Eclipse M2M
PDF
Android App Development Intro at ESC SV 2012
PDF
Android Basic Development Day 1 Introduction & ADT
ODP
Introduction to Android App Development
PPSX
Android application- Location Detection For Human Mobility
PPTX
Basic of Android App Development
DOCX
Fire Detector And Extinguisher Robot- Project Report
Android System Developement
Android application developement seminar
Leveraging Android for the Internet of Things with Eclipse M2M
Android App Development Intro at ESC SV 2012
Android Basic Development Day 1 Introduction & ADT
Introduction to Android App Development
Android application- Location Detection For Human Mobility
Basic of Android App Development
Fire Detector And Extinguisher Robot- Project Report

Similar to Android application development (20)

PDF
Androidoscon20080721 1216843094441821-9
PDF
Androidoscon20080721 1216843094441821-9
PPT
Android activity, service, and broadcast recievers
PPT
Synapseindia android apps application
PPT
Day: 2 Environment Setup for Android Application Development
PPT
Android Application Development Using Java
KEY
Android Development: The Basics
PPTX
Android development orientation for starters v2
PDF
Android Bootcamp
PDF
Android Jumpstart Jfokus
PDF
ANDROID PPT 1.pdf
PPT
PPT Companion to Android
PPTX
Android app devolopment
PDF
Marakana android-java developers
PDF
Android Jump Start
PPTX
Android
PPTX
Intro to android (gdays)
PPTX
Introduction to Android and Java.pptx
PPTX
Android Workshop: Day 1 Part 3
PPTX
Android session-1-sajib
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
Android activity, service, and broadcast recievers
Synapseindia android apps application
Day: 2 Environment Setup for Android Application Development
Android Application Development Using Java
Android Development: The Basics
Android development orientation for starters v2
Android Bootcamp
Android Jumpstart Jfokus
ANDROID PPT 1.pdf
PPT Companion to Android
Android app devolopment
Marakana android-java developers
Android Jump Start
Android
Intro to android (gdays)
Introduction to Android and Java.pptx
Android Workshop: Day 1 Part 3
Android session-1-sajib

Recently uploaded (20)

PDF
horaris de grups del curs 2025-2026 de l'institut
PDF
V02-Session-4-Leadership-Through-Assessment-MLB.pdf
PDF
HSE 2022-2023.pdf الصحه والسلامه هندسه نفط
PDF
FYJC - Chemistry textbook - standard 11.
PPTX
INTRODUCTION TO PHILOSOPHY FULL SEM - COMPLETE.pptxINTRODUCTION TO PHILOSOPHY...
PPT
hsl powerpoint resource goyloveh feb 07.ppt
PDF
Developing speaking skill_learning_mater.pdf
PDF
Kalaari-SaaS-Founder-Playbook-2024-Edition-.pdf
PDF
Global strategy and action plan on oral health 2023 - 2030.pdf
PPTX
Unit1_Kumod_deeplearning.pptx DEEP LEARNING
PDF
Teacher's Day Quiz 2025
PDF
Jana-Ojana Finals 2025 - School Quiz by Pragya - UEMK Quiz Club
PPTX
climate change of delhi impacts on climate and there effects
PPTX
Approach to a child with acute kidney injury
PPTX
Environmental Sciences and Sustainability Chapter 2
PPTX
MMW-CHAPTER-1-final.pptx major Elementary Education
DOCX
HELMET DETECTION AND BIOMETRIC BASED VEHICLESECURITY USING MACHINE LEARNING.docx
PDF
WHAT NURSES SAY_ COMMUNICATION BEHAVIORS ASSOCIATED WITH THE COMP.pdf
PDF
GSA-Past-Papers-2010-2024-2.pdf CSS examination
PPTX
Chapter-4-Rizal-Higher-Education-1-2_081545.pptx
horaris de grups del curs 2025-2026 de l'institut
V02-Session-4-Leadership-Through-Assessment-MLB.pdf
HSE 2022-2023.pdf الصحه والسلامه هندسه نفط
FYJC - Chemistry textbook - standard 11.
INTRODUCTION TO PHILOSOPHY FULL SEM - COMPLETE.pptxINTRODUCTION TO PHILOSOPHY...
hsl powerpoint resource goyloveh feb 07.ppt
Developing speaking skill_learning_mater.pdf
Kalaari-SaaS-Founder-Playbook-2024-Edition-.pdf
Global strategy and action plan on oral health 2023 - 2030.pdf
Unit1_Kumod_deeplearning.pptx DEEP LEARNING
Teacher's Day Quiz 2025
Jana-Ojana Finals 2025 - School Quiz by Pragya - UEMK Quiz Club
climate change of delhi impacts on climate and there effects
Approach to a child with acute kidney injury
Environmental Sciences and Sustainability Chapter 2
MMW-CHAPTER-1-final.pptx major Elementary Education
HELMET DETECTION AND BIOMETRIC BASED VEHICLESECURITY USING MACHINE LEARNING.docx
WHAT NURSES SAY_ COMMUNICATION BEHAVIORS ASSOCIATED WITH THE COMP.pdf
GSA-Past-Papers-2010-2024-2.pdf CSS examination
Chapter-4-Rizal-Higher-Education-1-2_081545.pptx

Android application development

  • 1. Introduction to Application Development Surendra Bajracharya Feb 4th, 2013
  • 2. Android Development Agenda • What is Android? • Installation (Eclipse) • Android Application Fundamentals • Hello World/Android Demo using Eclipse • Demo using IntelliJ (Login UI) • Google Maps application demo • Comments/Feedback
  • 3. Android Development What is Android? • Android is an open source operating system, created by Google specifically for use on mobile devices (cell phones and tablets) • Linux based (2.6 kernel) • Can be programmed in C/C++ but most app development is done in Java (Java access to C Libraries via JNI (Java Native Interface))
  • 4. Android Development Android System Architecture
  • 5. Android Development Different Android Versions Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. Most Android devices to date still run the older OS version 2.3 Gingerbread that was released on December 6, 2010, due to most lower-end devices still being released with it.
  • 6. Android Development Installation (30 min ~ 1 hr) • Eclipse – www.eclipse.org/downloads/ – 3.5 or later version – Classic or a Java edition • Android SDK and Android Development Tools (ADT) Plugin – developer.android.com/sdk/requirements.html • JDK, version 5, 6, or 7
  • 7. Android Development Android ADT Plugin and SDK • In Eclipse: – Navigate to Help | Install New Software – Follow the instructions on the android site to install the plugin. • Point Eclipse to the location of the Android SDK: – In Eclipse, navigate to Preferences | Android – Browse to or enter the location in the “SDK Location” text field. – Apply, then OK
  • 9. Android Development Install packages •In Eclipse, navigate to Window | Android SDK Manager • Install packages from the list – At least 2.2 and 2.3 for current phone development – One tablet package.
  • 11. Android Development IntelliJ IDEA (another IDE) •IntelliJ IDEA 12 offers advanced support for development Android applications with the latest Android 4.2 SDK. •Code Assistance •Refactorings •Deploy, run and debug Android applications either in emulator or on a real device. •UI Designer: With IntelliJ IDEA you can build rich UI for your Android applications easily by drag and drop. The designer provides support for layouts, custom components, device profiles, refactorings, morphing and quick-fixes.
  • 12. Android Development Android Application Fundamentals •Android Applications are Collections of reusable components. •An Android App may have multiple entry points, and may use components from other applications. •In Android, the flow of user interaction across one or more applications is called a “Task.”
  • 13. Android Development Application Components  Activity ◦ Present a visual user interface for one focused endeavor the user can undertake ◦ Example: a list of menu items users can choose from  Services ◦ Run in the background for an indefinite period of time ◦ Example: calculate and provide the result to activities that need it  Broadcast Receivers ◦ Receive and react to broadcast announcements ◦ Example: announcements that the time zone has changed  Content Providers ◦ Store and retrieve data and make it accessible to all applications ◦ Example: Android ships with a number of content providers for common data types (e.g., audio, video, images, personal contact information, etc.)  Intents ◦ Hold the content of a message ◦ Example: convey a request for an activity to present an image to the user or let the user edit some text
  • 14. Android Development AndroidManifest.xml •An application's contents are described in the AndroidManifest.xml file. •All Activities, Services, Content Providers, and Broadcast Receivers in an app must have an entry in this file. •Activities register the Intents they respond to using “Intent Filters”. •Security permissions, version info, and the minimum sdk version are also registered in AndroidManifest.xml.
  • 15. Android Development Resources • An application's resources are described in .xml files in the /res path • Include UI layouts, drawables, values (such as strings and styles), and even raw .xml files and other data. • Resources are accessed using Context.getResources() and the R class – The R class is defined in R.java, which is generated for each application. – Each resource is assigned a public static final int id (compile – time constant) in the R class.
  • 16. Android Development Activities • An Activity is a unit of user interaction within an android application. • Activities are represented by the Activity class – All android apps subclass Activity – Activities have methods that can be overridden to detect stages in the activity lifecycle.
  • 17. Android Development Default android app package com.sourceallies.helloworldandroidapp; 1. The Activity import android.app.Activity; import android.os.Bundle; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hello); } } 2. onCreate is a lifecycle method of the Activity 3. The content view of the Activity is set to main.xml
  • 18. Android Development Lifecycle methods of Activity •onCreate() •onStart() •onResume() •onPause() •onRestart() •onStop() •onRestart() All lifecycle methods must call through to super! More Information: http://developer.android.com /reference/android/app /Activity.html
  • 19. Android Development Android Emulator: 2.2 Device
  • 20. Android Development Hello World/Android Demo... • Create a new AVD (Android Virtual Device) • Setup a new Android Project in Eclipse • Write/run the program Setting up an AVD • Open Eclipse and go to the Window tab • Select the AVD manager from the dropdown • Once the AVD manager is open, click New • Name your AVD, and then select a version of the Android API for the device to use • Click “Create AVD” – let’s say myAVD •Can't find AVD or SDK manager in Eclipse - solve it by going to Window -> Customize Perspective, and under Command Groups Availability tab check the Android SDK and AVD Manager
  • 21. Android Development Making an Android Project • In Eclipse, go to File->New->Project • Next, open the Android Folder and select Android Project • Setup your project, so it'll run on your AVD (name it, select API, etc...)
  • 22. Android Development Producing an Android App javac Java code Byte code dx .java .class Dalvik exe classes.dex aapt Byte code <xml> Other .class files AndroidManifest.xml .apk Android Package Kit <str> Resources
  • 24. Android Development Writing the Program • Open the .java file created by the project • Initially the code should look like this:
  • 25. Android Development Writing the Program...continued After the initial code of the .java file is generated, edit the code so that it then looks like this:
  • 26. Android Development Running the App • Once the program is complete, save it, and then go up to Run. • Eclipse will then start an appropriate AVD and load the app onto the emulator • Once the file is installed on the AVD, it'll launch and you will have completed your first HELLO world/Android app!
  • 27. Android Development Running the App R.java Do not modify! activity_hello.xml strings.xml
  • 28. Android Development AndroidManifest.xml
  • 29. Android Development Important Files src/HelloActivity.java Activity which is started when app executes res/layout/activity_hello.xml Defines & lays out widgets for the activity res/values/strings.xml String constants used by app gen/R.java (Don’t touch!) Auto-generated file with identifiers from activity_hello.xml, strings.xml, and elsewhere AndroidManifest.xml Declares all the app’s components Names libraries app needs to be linked against Identifies permissions the app expects to be granted
  • 30. Android Development Various Layouts http://developer.android.com/resources/tutorials/views/index.html
  • 31. Android Development Various Widgets http://developer.android.com/resources/tutorials/views/index.html
  • 32. Android Development Demo Using IntelliJ IDEA 12.0.1
  • 33. Android Development Google Maps Demo https://developers.google.com/maps/documentation/android/v1/mapkey Android Maps API Key: 0qMq9sUdrh4V367erwY0h76w-hXBG9kzeV1R8bg
  • 35. Android Development THANKS!!! Comments/Feedback [email protected]