2. System Requirements
Setting up Development Environment
Supported OS
1. Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7
(32- or 64-bit)
2. Mac OS X 10.5.8 or later (x86 only)
3. Linux (tested on Ubuntu Linux, Lucid Lynx)
Supported Development Environment (Eclipse IDE based)
1. Eclipse 3.4 (Ganymede) or greater/Eclipse Classic (versions
3.5.1 and higher)
2. JDK 1.5 or 1.6
3. ADT Plugin
3. To set up the development environment, we need:
1. Java Development Kit (JDK 1.5+, 1.6 is preferable)
2. Eclipse IDE
3. Android SDK
Setting up Development Environment(Contd.)
4. JDK for Java SE 6
• Overview
• Java 6 is newest, best, and especially fastest version
– Java 5 supported by Android but not recommended
• For PC, Linux, Solaris, follow directions at
• http://www.oracle.com/technetwork/java/javase/downloads/
– Get JDK, not just JRE
– Get SE (Standard Edition), not EE or Micro Edition
– Don’t get version with the NetBeans IDE
• For MacOS, Java is preinstalled & updated automatically
8. Android SDK
Setting up Development Environment (Contd.)
Link: http://developer.android.com/sdk/index.html
Download and Install the SDK starter package from the table above
(Highlighted)
10. Installing Eclipse
• Go to eclipse.org, click on “Downloads”
• – Results in
• http://eclipse.org/downloads/
• – Can use either “for Java” or
• “for Java EE”.
• I use EE version since I also use Eclipse for Web apps.
• Latest version (3.6 – Helios) recommended.
• Previous version (3.5 – Ganymede) still supported
• Older versions (3.4 and earlier) not supported
11. Running Eclipse
• Unzip the downloaded file (no installer!)
– Call the folder you unzip into “installDir”
• Double click eclipse.exe
– From installDir/bin
• Click on
• “Workbench” icon
– Next time you bring up Eclipse, it will come up in
workbench automatically
• Shortcut
– Many developers put Eclipse link on their desktop
• R-click eclipse.exe, Copy, then go to desktop, R-click, and Paste
Shortcut (not just Paste!)
13. Setting up Development Environment (Contd.)
We’ll setup Eclipse Indigo
Stand-alone Eclipse: just decompress and run eclipse.exe
You can create a shortcut in the desktop for eclipse.exe
14. Eclipse
• Overview
– Eclipse is a free open source IDE (Integrated
– Development Environment). Support for Java, HTML,
– CSS, JavaScript, C++, PHP, and more.
– Google has free Eclipse plugin to integrate with the Android SDK.
• Features
– General
• Checks your syntax as you type
• Automatically compiles every time you save file
• Refactoring, debugging, templates for common tasks, etc.
– Android-specific
• Deploy apps to Android emulator
• Configure virtual environments
• Drag-and-drop GUI builder
15. Setting up Development Environment (Contd.)
We’ll setup Eclipse Indigo
Choose your WorkSpace
17. Setting up Development Environment (Contd.)
We’ll setup Eclipse Indigo
We’ll become familiar to our new IDE gradually and I swear you’ll start loving it
24. Setting up Development Environment (Contd.)
We’ll setup ADT Plug-in
Adding ADT Pluging is DONE… You’ll now get a message
25. Setting up Development Environment (Contd.)
We’ll setup android SDK
After restarting Eclipse we get:
Don’t forget to ask me about the red marks
26. Setting up Development Environment (Contd.)
We’ll setup android SDK
SDK and AVD Manager: If we click on it:
So, we have to set the location of Android SDK and show it to our IDE
To do so….
33. Let’s Go Deep…
Created Project has the following structure
Project Structure
-Source (src)
-Generated Class (gen)
-Android 1.6 library
-Assets (assets)
-Resource(res)
-drawable-hdpi
-drawable-ldpi
-drawable-mdpi
-layout
-values
-AndroidMenifest.xml
-default.properties
34. Let’s Go Deep… (Contd.)
To run the app in emulator, we have to do the following steps:
1. Create AVD (Android Virtual Device)
2. Create Run Configuration
3. Run the Application
To run the app in device, we have to do the following steps:
1. Install device driver
2. Connect device through USB
3. Create Run Configuration
4. Run the Application
We’ll run the app in emulator for now
35. Let’s Go Deep… (Contd.)
1. Create AVD (Android Virtual Device)
Use Android SDK & AVD Manager to create AVD
36. Let’s Go Deep… (Contd.)
2. Create Run Configuration
1. Create a Run
Configuration
2. Browse and select
the project to run
37. Let’s Go Deep… (Contd.)
3. Select AVD & Run
Click Run to start AVD/emulator
38. Let’s Go Deep… (Contd.)
Result in Emulator
Now its time to analyze how it works
39. Create a new Project in Eclipse
To create a new project:
1.Start Eclipse
2.Select File> New> Project.
3.Select Android> Android Project, and click
Next.
Select Android Project, a new window
will open.
Specify the Project Name (Ex :
HelloWorld).
40. Create a new Project in Eclipse (Cont)
On The same window select the build target
and specify the Application Name, Package
Name, Activity Name and the Minimum SDK
version.
Click on Finish. The new Android Project
will be opened.
41. Create a new Project in Eclipse (Cont)
Once you complete the New Project Wizard, ADT creates the following folders and
files in your new project:
src/ - Includes your stub Activity Java file. All other Java files for your application go
here.
<Android Version>/ - (e.g., Android 1.5/) Includes the android.jar file that your
application will build against.
Gen/ - This contains the Java files generated by ADT, such as your R.java file and
interfaces created from AIDL files.
assets/ - This is empty. You can use it to store raw asset files.
bin/ - stores the compiled application
bin/classes/ - stores the compiled Java classes
bin/classes.dex - stores the executable created from compiled Java classes
bin/app.apk – holds the Android application.
res/ - A folder for your application resources, such as drawable files, layout files,
string values, etc.
res/ - resources used in the application
res/drawable/ - for images
res/layout/ - for XML-based UI layout
res/raw/ - for general-purpose files
res/values/ - for strings, dimensions
res/xml/ - for general-purpose XML files
AndroidManifest.xml - The Android Manifest for your project.
default.properties - This file contains project settings, such as the build target.
42. Create a new Project in Eclipse (Cont)
The new created project will have the following main entities.
• HelloAndroid.java- The default main Activity created while creating the
project. It would contain all the logic that needs to be implemented for the
main page.
• Main.xml- This xml file will comprise of the view part i.e. how the main
Activity will look like.
• AndroidManifest.xml- This is the main configuration file that will contain all
the information about the application like the details of all the activities, the
main activity, the permissions for the application etc.
• Strings.xml- This file contains the string definitions that we use in our
android application.
• There is one more file R.java in the application. This is the most important
file as it contains the list of compiled objects representation of the layout
defined in the layout files.
• R.java is generated automatically at the compile time if there are no
compilation errors and cannot be modified by the user.
45. Project Structure…
Created Project has the following structure
Project Structure
-Source (src)
-Generated Class (gen)
-Android 1.6 library
-Assets (assets)
-Resource(res)
-drawable-hdpi
-drawable-ldpi
-drawable-mdpi
-layout
-values
-AndroidMenifest.xml
-default.properties
46. Project Structure (Contd.)
-Source (src)
We have used only one class here which is an Activity named HalloActivity. We’ll
describe about Activity in detail with lifecycle shortly. For now we can consider
Activity as Android analogue for the window or dialog in a desktop application. It
can load view from xml layout (here main.xml under res/layout folder)
In the HelloActivity class the view
of the Activity is set from main.xml
given below
48. Project Structure (Contd.)
-res/drawable
1. From Android 1.6 to support different screen sizes and screen densities graphic files
are kept in 3 different folders drawable-hdpi, drawable-ldpi and drawable-mdpi
2. In our current project, they contain only default icon file with different dimensions
to support devices with different screen resolution.
-assets
Holds other static files you wish packaged with the application for deployment
onto the device. In this project, we have none
-gen/R.java -values/strings.xml