Android Application Development
Before Getting Started
Ahsanul Karim [email protected]
Sentinel Solutions Ltd.http://www.sentinelbd.com
What We’ll Do Today• Why We are Here?• Get Basic Idea on Mobile and Smartphone Applications• Get Basic Idea on Mobile, Smartphone & Tablet Platforms• Identify the Position of Android Platform• Background and History of Android• Get the Idea: Why Should We Learn Android Platform• Get the Idea: What will We be Capable of Doing After Completing the
Course• Get Idea on Course Outline• Course Prerequisites• Course Rules• Define the Way of Learning Materials Sharing• A Very Primitive Idea on Android Application Development• Get Acquainted with Required Tools
Why We are Here?• To Get Introduced to the Latest Mobile Application Development
Trends• To Identify the Prospects and Features of Android Platform
compare to others (iPhone, BlackBerry, Symbian etc.)• To Get Hands-on Experience and Expertise to Develop Android
Applications.• To Create and Deploy Applications/Software for Users or
Business Clients.• To Learn the Most Rapidly Growing Mobile/Smartphone and
Tablet- based Software Development Platform.• To get Basic Idea and to Prepare ourselves about How to Adopt
Upcoming Mobile Technologies (in the emerging field of Android)• And Definitely to start a career as a Mobile Application
Developer.
Mobile and Smartphone ApplicationsMobile Phones
A mobile phone (also called mobile, cellular telephone, cell phone, or hand phone is an electronic device used to make
1. Calls across a wide geographic area. 2. Send Text SMS3. Can see call records4. Can capture image 5. Can run music 6. Can browse web etc.
To learn about mobile phones in details: http://en.wikipedia.org/wiki/Mobile_phone
You’ll get detailed history about how this technology evolved over the years
Mobile and Smartphone ApplicationsMobile Phone Applications: Some ExamplesCategory: Utility ToolsPersonal Finance Calculator
Another example can be: Daily Planner ApplicationPossible Features:1. Task List2. Reminder3. Appointment etc.
Mobile and Smartphone ApplicationsMobile Phone Applications: Some Examples (Contd.)Category: GamesSudoku Tetris Snake
Mobile and Smartphone ApplicationsMobile Phone Applications: Development
1. Different Mobile phone vendor companies use different platforms for developing applications for their own platform.
2. We’ll discuss about a open “Legacy” platform as an example which is J2ME
Java Platform, Micro Edition, or Java ME: 1. It is a Java platform designed for embedded systems (mobile
Devices are one kind of such systems) . 2. Target devices range from industrial controls to mobile phones
with Java (KVM support). Formerly known as Java 2 Platform, Micro Edition (J2ME).For details:http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition
Nokia, Samsung, Sony Ericsson and many other vendors supports J2ME for applications and games development
Mobile and Smartphone ApplicationsMobile Phone Applications: Development With J2MELimitations1. Memory Issues
1. Vendor Specific Implementation2. Insufficient Memory3. Inefficient Memory Management
2. Device Compatibility Issues3. Not enough Access to Core System of the Phone4. Vendor Specific Implementation of KVM
That is why…We see sites like this:
Mobile and Smartphone ApplicationsSmart Phones1. A smartphone is a mobile phone that
offers more advanced computing ability, Features and connectivity than a contemporary mobile phones.
2. Smartphones may be thought of as handheld computers integrated with a mobile telephone.
3. They also provide their own Operating System with Application Development Framework
To learn about smart phones in details: http://en.wikipedia.org/wiki/Smartphone
You’ll get detailed history about how this technology evolved over the years
Mobile and Smartphone ApplicationsSmart Phones Platforms
Android iPhone Palm PreBlackBerry
Mobile and Smartphone ApplicationsTablet Platforms
Android: Galaxy Tab Apple: iPad
• Technical Advantages– Android is built upon an open-source platform, and most of the
Android code is released under the free software/open source Apache License.
– Rich and easy to integrate feature sets.– Android applications are written in the Java programming language,
which is a powerful, mature and very widely adopted language. – Easy to learn than Apple’s Objective-C– Inter-Application communication is easier.
• Business Advantages– Android Market — is much more of an open marketplace than Apple‘s
iTunes App Store. – No delay for approval of submitted application. So you can reach your
users fast.
Why Android Platform?
Why Android Platform? (Contd.)Fastest growing smartphone platform
Why Android Platform? (Contd.)Android Growth Explodes in 2010 according to Flurry AnalyticsBy Flurry’s count, devices running on Android OS now exceed 60 million. From 2009 to 2010, Android adoption increased by nearly 10 times, from 5.9 million to 53 million devices.
Why Android Platform? (Contd.)Business OpportunitiesAndroid market (https://market.android.com/)
Android Market is the online software store developed by Google for Android devices. An application program ("app") called "Market" is preinstalled on most Android devices and allows users to browse and download apps published by third-party developers, hosted on Android Market. As of December 2010 there were about 200,000 games, applications and widgets available on the Android Market, with an estimated 2.5 billion total downloads.
Other distribution channels:1. Andspot2. Handango3. GetJar4. SlideMe5. AndAppStore6. AndroLib7. AppBrain
Revenue can be earned by:1. Paid Applications2. Free Applications with ads
I. AdmobII. AdWhirlIII. AdSenseIV. MobClix
Why Android Platform? (Contd.)Freelancing Opportunities
Statistics
Source: http://www.elance.com/android-programmers-freelancers/230
Similar trend is seen in other freelancing sites
Why Android Platform? (Contd.)Analytics Data: Statistics
Why Android Platform? (Contd.)Analytics Data: Statistics
Why Android Platform? (Contd.)Analytics Data: Statistics
Open Handset Alliance and Many vendors makes Android more prospective
Why Android Platform? (Contd.)Analytics Data: Statistics
Why Android Platform? (Contd.)Analytics Data: Statistics
Why Android Platform? (Contd.)Analytics Data: Statistics
Source: http://www.businessinsider.com/chart-of-the-day-iphone-smartphone-data-usage-2010-10
Why Android Platform? (Contd.)Analytics Data: Statistics
Why Android Platform? (Contd.)Analytics Data: Statistics
Source: http://shopsavvy.mobi/2011/04/02/android-dominates-smartphone-market-and-shopsavvy/Source: http://www.businessinsider.com/android-iphone-market-share-2011-4?op=1
Android is a software stack for mobile devices that includes an
operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
What is Android
Google describes Android as:The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation.
But what’s so exciting about this???We have answered it
Android Features
Features1. Application framework2. Dalvik virtual machine 3. Integrated browser4. Optimized graphics 5. SQLite 6. Media support 7. GSM Telephony 8. Bluetooth, EDGE, 3G, and WiFi 9. Camera, GPS, compass, and accelerometer 10.Rich development environment
We’ll cover each of these features in our corresponding sessions
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
General Course Outline• Data Storage and Relational Database: SQLite• Maps, Geocoding and Location Based Services• Communication with Internet• RESTful Web Services• Working with Multimedia• Basic Game Development Concepts• Performance Tuning• Some More about Object Oriented Programming• Debugging, Testing & Deploying Android Applications (with
Digital Signature)
1. We’ll need at least basic understanding of how to program in Java/C#. Android programming is done using Java syntax, plus a class library that resembles a subset of the Java SE library (plus Android-specific extensions).
2. We’ll need some basic OOP concept.
Learning Android App Development
Prerequisites
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)
Questions?
Top Related