Day: 1 Introduction to Mobile Application Development (in Android)

35
Android Application Development Before Getting Started Ahsanul Karim [email protected] Sentinel Solutions Ltd. http://www.sentinelbd.com

description

 

Transcript of Day: 1 Introduction to Mobile Application Development (in Android)

Page 1: Day: 1 Introduction to Mobile Application Development (in Android)

Android Application Development

Before Getting Started

Ahsanul Karim [email protected]

Sentinel Solutions Ltd.http://www.sentinelbd.com

Page 2: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 3: Day: 1 Introduction to Mobile Application Development (in Android)

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.

Page 4: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 5: Day: 1 Introduction to Mobile Application Development (in Android)

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.

Page 6: Day: 1 Introduction to Mobile Application Development (in Android)

Mobile and Smartphone ApplicationsMobile Phone Applications: Some Examples (Contd.)Category: GamesSudoku Tetris Snake

Page 7: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 8: Day: 1 Introduction to Mobile Application Development (in Android)

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:

Page 9: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 10: Day: 1 Introduction to Mobile Application Development (in Android)

Mobile and Smartphone ApplicationsSmart Phones Platforms

Android iPhone Palm PreBlackBerry

Page 11: Day: 1 Introduction to Mobile Application Development (in Android)

Mobile and Smartphone ApplicationsTablet Platforms

Android: Galaxy Tab Apple: iPad

Page 12: Day: 1 Introduction to Mobile Application Development (in Android)

• 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?

Page 13: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Fastest growing smartphone platform

Page 14: Day: 1 Introduction to Mobile Application Development (in Android)

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.

Page 15: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 16: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Freelancing Opportunities

Statistics

Source: http://www.elance.com/android-programmers-freelancers/230

Similar trend is seen in other freelancing sites

Page 17: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Page 18: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Page 19: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Open Handset Alliance and Many vendors makes Android more prospective

Page 20: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Page 21: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Page 22: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Source: http://www.businessinsider.com/chart-of-the-day-iphone-smartphone-data-usage-2010-10

Page 23: Day: 1 Introduction to Mobile Application Development (in Android)

Why Android Platform? (Contd.)Analytics Data: Statistics

Page 24: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 25: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 26: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 27: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 28: Day: 1 Introduction to Mobile Application Development (in Android)

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)

Page 29: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 30: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 31: Day: 1 Introduction to Mobile Application Development (in Android)

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.)

Page 32: Day: 1 Introduction to Mobile Application Development (in Android)

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

Page 33: Day: 1 Introduction to Mobile Application Development (in Android)

Eclipse IDE

Setting up Development Environment (Contd.)Download Link: http://eclipse.org/downloads/

Download the highlighted version of Eclipse IDE

Page 34: Day: 1 Introduction to Mobile Application Development (in Android)

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)

Page 35: Day: 1 Introduction to Mobile Application Development (in Android)

Questions?