SlideShare a Scribd company logo
1 of 50
Download to read offline
Android Application Development
Environment Setup
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
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.)
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
Installing Java SE 6
• Install Java 6
• http://www.oracle.com/technetwork/java/javase/downloads/
Setting up Development Environment (Contd.)
First we install JDK
We have already done that
The Android SDK
• Overview
– Android-specific libraries
– Dalvik (Android virtual machine) compiler
– Android emulator (to run without physical device)
– DDMS debugging environment
• • Documentation
– Installation
• http://developer.android.com/sdk/installing.html
– – Developer’s Guide
• Developer s • http://developer.android.com/guide/developing/index.html
– – JavaDoc (API Reference)
• http://developer.android.com/reference/classes.html
– – Tutorials and articles
• http://developer.android.com/resources/index.html 12
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)
Android Environment: Eclipse & ADT
Android SDKEclipse
ADT
Android …..
……………….
Android 3.2
Android 4.x
Android 2.2
Google API 2.2
SDK Manager
AVD Manager
Manages
Emulator
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
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!)
Setting up Development Environment (Contd.)
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
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
Setting up Development Environment (Contd.)
We’ll setup Eclipse Indigo
Choose your WorkSpace
Setting up Development Environment (Contd.)
We’ll setup Eclipse Indigo
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
Setting up Development Environment (Contd.)
We’ll setup ADT Plugin
Setting up Development Environment (Contd.)
We’ll setup ADT Plug-in
Setting up Development Environment (Contd.)
We’ll setup ADT Plugin
Setting up Development Environment (Contd.)
We’ll setup ADT Plug-in
Setting up Development Environment (Contd.)
We’ll setup ADT Plug-in
Setting up Development Environment (Contd.)
We’ll setup ADT Plug-in
Setting up Development Environment (Contd.)
We’ll setup ADT Plug-in
Adding ADT Pluging is DONE… You’ll now get a message
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
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….
Setting up Development Environment (Contd.)
We’ll setup android SDK
Setting up Development Environment (Contd.)
We’ll setup android SDK
Setting up Development Environment (Contd.)
We’ll setup android SDK
Setting up Development Environment (Contd.)
We’ll setup android SDK
Setting up Development Environment (Contd.)
We’ll setup DDMS
Now We are Ready
Let’s say “Hello” to the Android World!
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
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
Let’s Go Deep… (Contd.)
1. Create AVD (Android Virtual Device)
Use Android SDK & AVD Manager to create AVD
Let’s Go Deep… (Contd.)
2. Create Run Configuration
1. Create a Run
Configuration
2. Browse and select
the project to run
Let’s Go Deep… (Contd.)
3. Select AVD & Run
Click Run to start AVD/emulator
Let’s Go Deep… (Contd.)
Result in Emulator
Now its time to analyze how it works
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).
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.
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.
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.
Create a new Project in Eclipse (Cont)
Compilation process
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
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
Project Structure (Contd.)
-res/layout/main.xml
1. UI Layout can be defined from source code using View or by layout xmls.
2. The layout xml can be generated by visual tool given by ADT
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
Project Structure (Contd.)
-AndroidMenifest.xml
XML file describing the application being built and what components – activities,
services, etc. – are being supplied by that application
Questions?

More Related Content

What's hot

Getting Enter in Android development
Getting Enter in Android developmentGetting Enter in Android development
Getting Enter in Android developmentGhufran Hashmi
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Daniel Knott
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outletsveeracynixit
 
Android Development: Build Android App from Scratch
Android Development: Build Android App from ScratchAndroid Development: Build Android App from Scratch
Android Development: Build Android App from ScratchTaufan Erfiyanto
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
 
Training Session 2 - Day 2
Training Session 2 - Day 2Training Session 2 - Day 2
Training Session 2 - Day 2Vivek Bhusal
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming BasicsEueung Mulyana
 
Introduction to android coding
Introduction to android codingIntroduction to android coding
Introduction to android codingHari Krishna
 
Android development session
Android development sessionAndroid development session
Android development sessionEsraa Ibrahim
 
Installing android sdk on net beans
Installing android sdk on net beansInstalling android sdk on net beans
Installing android sdk on net beansAravindharamanan S
 

What's hot (20)

Getting Enter in Android development
Getting Enter in Android developmentGetting Enter in Android development
Getting Enter in Android development
 
Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012Mobile App Testing ScanAgile 2012
Mobile App Testing ScanAgile 2012
 
Android Applications Development
Android Applications DevelopmentAndroid Applications Development
Android Applications Development
 
Calc app
Calc appCalc app
Calc app
 
Android studio
Android studioAndroid studio
Android studio
 
Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
Training android
Training androidTraining android
Training android
 
Google Android
Google AndroidGoogle Android
Google Android
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
 
Android Development: Build Android App from Scratch
Android Development: Build Android App from ScratchAndroid Development: Build Android App from Scratch
Android Development: Build Android App from Scratch
 
Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?Different Android Test Automation Frameworks - What Works You the Best?
Different Android Test Automation Frameworks - What Works You the Best?
 
Android Lab
Android LabAndroid Lab
Android Lab
 
Training Session 2 - Day 2
Training Session 2 - Day 2Training Session 2 - Day 2
Training Session 2 - Day 2
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
I Phone101
I Phone101I Phone101
I Phone101
 
Introduction to android coding
Introduction to android codingIntroduction to android coding
Introduction to android coding
 
Android development session
Android development sessionAndroid development session
Android development session
 
Installing android sdk on net beans
Installing android sdk on net beansInstalling android sdk on net beans
Installing android sdk on net beans
 
Android course (lecture2)
Android course (lecture2)Android course (lecture2)
Android course (lecture2)
 
Android Layout.pptx
Android Layout.pptxAndroid Layout.pptx
Android Layout.pptx
 

Similar to Android App Dev Environment Setup in 40 Steps

Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Ahsanul Karim
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentAhsanul Karim
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_programEyad Almasri
 
Ayw android env_setup
Ayw android env_setupAyw android env_setup
Ayw android env_setuppbeerak
 
Android chapter02-setup1-sdk
Android chapter02-setup1-sdkAndroid chapter02-setup1-sdk
Android chapter02-setup1-sdkTran Le Hoan
 
Android application development
Android application developmentAndroid application development
Android application developmentslidesuren
 
Session 2 prepare android development environment
Session 2   prepare android development environmentSession 2   prepare android development environment
Session 2 prepare android development environmentAdham Enaya
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guidemagicshui
 
03 Beginning Android Application Development
03 Beginning Android Application Development03 Beginning Android Application Development
03 Beginning Android Application DevelopmentArief Gunawan
 
Introduction to Android and Java.pptx
Introduction to Android and Java.pptxIntroduction to Android and Java.pptx
Introduction to Android and Java.pptxGandhiMathy6
 
Android app development: a top-down perspective
Android app development: a top-down perspectiveAndroid app development: a top-down perspective
Android app development: a top-down perspectiveChao-Chueh Chang
 

Similar to Android App Dev Environment Setup in 40 Steps (20)

Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application Development
 
ANDROID PPT 1.pdf
ANDROID PPT 1.pdfANDROID PPT 1.pdf
ANDROID PPT 1.pdf
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_program
 
Ayw android env_setup
Ayw android env_setupAyw android env_setup
Ayw android env_setup
 
Android chapter02-setup1-sdk
Android chapter02-setup1-sdkAndroid chapter02-setup1-sdk
Android chapter02-setup1-sdk
 
Android session 1
Android session 1Android session 1
Android session 1
 
Android app upload
Android app uploadAndroid app upload
Android app upload
 
Android application development
Android application developmentAndroid application development
Android application development
 
Session 2 beccse
Session 2 beccseSession 2 beccse
Session 2 beccse
 
Session 2 prepare android development environment
Session 2   prepare android development environmentSession 2   prepare android development environment
Session 2 prepare android development environment
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
03 Beginning Android Application Development
03 Beginning Android Application Development03 Beginning Android Application Development
03 Beginning Android Application Development
 
Android App development I
Android App development IAndroid App development I
Android App development I
 
Introduction to Android and Java.pptx
Introduction to Android and Java.pptxIntroduction to Android and Java.pptx
Introduction to Android and Java.pptx
 
Android app development: a top-down perspective
Android app development: a top-down perspectiveAndroid app development: a top-down perspective
Android app development: a top-down perspective
 
Android
Android Android
Android
 
Android Basic
Android BasicAndroid Basic
Android Basic
 
Android_PDF
Android_PDFAndroid_PDF
Android_PDF
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 

More from Siva Kumar reddy Vasipally

More from Siva Kumar reddy Vasipally (10)

01 11 - graphical user interface - fonts-web-tab
01  11 - graphical user interface - fonts-web-tab01  11 - graphical user interface - fonts-web-tab
01 11 - graphical user interface - fonts-web-tab
 
01 10 - graphical user interface - others
01  10 - graphical user interface - others01  10 - graphical user interface - others
01 10 - graphical user interface - others
 
01 09 - graphical user interface - basic widgets
01  09 - graphical user interface - basic widgets01  09 - graphical user interface - basic widgets
01 09 - graphical user interface - basic widgets
 
01 08 - graphical user interface - layouts
01  08 - graphical user interface - layouts01  08 - graphical user interface - layouts
01 08 - graphical user interface - layouts
 
01 07 -android programming basics (cont)
01  07 -android programming basics (cont)01  07 -android programming basics (cont)
01 07 -android programming basics (cont)
 
01 06 - android programming basics
01  06 - android programming basics01  06 - android programming basics
01 06 - android programming basics
 
01 05 - introduction xml
01  05 - introduction xml01  05 - introduction xml
01 05 - introduction xml
 
01 03 - introduction to android
01  03 - introduction to android01  03 - introduction to android
01 03 - introduction to android
 
01 02 - introduction - adroid stack
01  02 - introduction - adroid stack01  02 - introduction - adroid stack
01 02 - introduction - adroid stack
 
01 01 - introduction to mobile application development
01  01 - introduction to mobile application development01  01 - introduction to mobile application development
01 01 - introduction to mobile application development
 

Recently uploaded

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
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
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
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
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
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Recently uploaded (20)

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
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.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
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
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
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

Android App Dev Environment Setup in 40 Steps

  • 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
  • 5. Installing Java SE 6 • Install Java 6 • http://www.oracle.com/technetwork/java/javase/downloads/
  • 6. Setting up Development Environment (Contd.) First we install JDK We have already done that
  • 7. The Android SDK • Overview – Android-specific libraries – Dalvik (Android virtual machine) compiler – Android emulator (to run without physical device) – DDMS debugging environment • • Documentation – Installation • http://developer.android.com/sdk/installing.html – – Developer’s Guide • Developer s • http://developer.android.com/guide/developing/index.html – – JavaDoc (API Reference) • http://developer.android.com/reference/classes.html – – Tutorials and articles • http://developer.android.com/resources/index.html 12
  • 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)
  • 9. Android Environment: Eclipse & ADT Android SDKEclipse ADT Android ….. ………………. Android 3.2 Android 4.x Android 2.2 Google API 2.2 SDK Manager AVD Manager Manages Emulator
  • 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!)
  • 12. Setting up Development Environment (Contd.)
  • 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
  • 16. Setting up Development Environment (Contd.) We’ll setup Eclipse Indigo
  • 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
  • 18. Setting up Development Environment (Contd.) We’ll setup ADT Plugin
  • 19. Setting up Development Environment (Contd.) We’ll setup ADT Plug-in
  • 20. Setting up Development Environment (Contd.) We’ll setup ADT Plugin
  • 21. Setting up Development Environment (Contd.) We’ll setup ADT Plug-in
  • 22. Setting up Development Environment (Contd.) We’ll setup ADT Plug-in
  • 23. Setting up Development Environment (Contd.) We’ll setup ADT Plug-in
  • 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….
  • 27. Setting up Development Environment (Contd.) We’ll setup android SDK
  • 28. Setting up Development Environment (Contd.) We’ll setup android SDK
  • 29. Setting up Development Environment (Contd.) We’ll setup android SDK
  • 30. Setting up Development Environment (Contd.) We’ll setup android SDK
  • 31. Setting up Development Environment (Contd.) We’ll setup DDMS Now We are Ready
  • 32. Let’s say “Hello” to the Android World!
  • 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.
  • 43. Create a new Project in Eclipse (Cont)
  • 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
  • 47. Project Structure (Contd.) -res/layout/main.xml 1. UI Layout can be defined from source code using View or by layout xmls. 2. The layout xml can be generated by visual tool given by ADT
  • 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
  • 49. Project Structure (Contd.) -AndroidMenifest.xml XML file describing the application being built and what components – activities, services, etc. – are being supplied by that application