Upload
ahsanul-karim
View
4.679
Download
7
Tags:
Embed Size (px)
Citation preview
Android Application Development
Getting Started
Ahsanul Karim [email protected]
Sentinel Solutions Ltd.http://www.sentinelbd.com
General Course Outline• Introduction to Android and Mobile Devices• Setting up Development Environment• Application Architecture and Lifecycle• Java Language Basics and Syntax• Object Oriented Programming in Java• Vertical and Horizontal Libraries in Java• Object Oriented Principles and Practice• Building Android Applications• Android User Interface• Common Controls• Android Application Components: Activity, BroadcastListener,
Service, Content Provider
System RequirementsSetting up Development Environment
Supported OS1.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.63.ADT Plugin
To set up the development environment, we need:1. Java Development Kit (JDK 1.5+, 1.6 is preferable)2. Eclipse IDE3. Android SDK
Setting up Development Environment(Contd.)
Java Development Kit (JDK)
Setting up Development Environment (Contd.)
Download Link: http://www.java.com/en/download/index.jsp
Download JDK from here and Install JDK
Eclipse IDE
Setting up Development Environment (Contd.)
Download Link: http://eclipse.org/downloads/
Download the highlighted version of Eclipse IDE
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 SDK Setup (1)
Setting up Development Environment (Contd.)
1. Install available packages to get all SDK platform versions
Android SDK Setup (2)
Setting up Development Environment (Contd.)
2. Installation progress
Android SDK Setup (3)
Setting up Development Environment (Contd.)
3. ADT Plugin for Eclipse
ADT Plugin: Android Development Tools (ADT) is a plugin for the Eclipse IDE for
1.extending the capabilities of Eclipse to set up new Android projects2.creating an application UI3. adding components based on the Android Framework API4. debugging your applications using the Android SDK tools5. exporting signed (or unsigned) APKs in order to distribute your application
We’ll see the 5 points gradually during development
Android SDK Setup (4)
Setting up Development Environment (Contd.)
4. Installing the ADT
1. Start Eclipse, then select Help > Install New Software....
2. Click Add, in the top-right corner.
3. In the next window, you'll see a list of the tools to be downloaded. Click Next.
4. Read and accept the license agreements, then click Finish.
5. When the installation completes, restart Eclipse.
Android SDK Setup (5)
Setting up Development Environment (Contd.)
5. Set SDK path
1. Start Eclipse, then select Window > Preferences
2. Browse and show the path of Android SDK.
3. Press Apply and OK.
Development Environment Setup is now completed!
Let’s say “Hello” to the Android World!
In the subsequent slides: 1.We’ll create an application step by step using the help of IDE and ADT.2.We’ll then explain application structure and identify the building blocks.3.We’ll experiment with components and learn to convert our innovative ideas into neat apps.
Now that our development environment is ready, we’ll build our first Android application.
Let’s say “Hello” to the Android World! (Contd.)1. Start Eclipse and Go to File>New>Android Project
2. We keep project name “Hello World” (Since 1970 Ritchie’s book on C programming, programmers always say Hello World first)3. Build Target “Android1.6”4. Application name: “Hello World”5. Package name: com.sentinelbd.hallo6. Initial Activity Name: HalloActivity7. Min SDK Version: 48. Click Finish
Congratulations! You’ve just created your first Android application
We’ll explain each input shortly
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 Configuration3.Run the Application
To run the app in device, we have to do the following steps:
1.Install device driver2.Connect device through USB3.Create Run Configuration4.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
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/drawable1. 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-mdpi2. In our current project, they contain only default icon file with different dimensions
to support devices with different screen resolution.
-assetsHolds 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
Hmm.. No public static void main() ???What is the Entry Point of an Android App?
Instead of main(), Android apps have the 4 essential components which can instantiate and run as needed:
1. Activities2. Services3. Broadcast Receivers4. Content Providers
Whenever there's a request that should be handled by a particular component, Android makes sure that 1.the application process of the component is running, 2.starting it if necessary, and 3.that an appropriate instance of the component is available, 4.creating the instance if necessary.
But how a request is made? What is the missing link?
Questions?