Day: 1 Introduction to Mobile Application Development (in Android)
-
Upload
ahsanul-karim -
Category
Self Improvement
-
view
13.764 -
download
1
description
Transcript of Day: 1 Introduction to Mobile Application Development (in Android)
![Page 1: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/1.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/2.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/3.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/4.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/5.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/6.jpg)
Mobile and Smartphone ApplicationsMobile Phone Applications: Some Examples (Contd.)Category: GamesSudoku Tetris Snake
![Page 7: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/7.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/8.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/9.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/10.jpg)
Mobile and Smartphone ApplicationsSmart Phones Platforms
Android iPhone Palm PreBlackBerry
![Page 11: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/11.jpg)
Mobile and Smartphone ApplicationsTablet Platforms
Android: Galaxy Tab Apple: iPad
![Page 12: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/12.jpg)
• 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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/13.jpg)
Why Android Platform? (Contd.)Fastest growing smartphone platform
![Page 14: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/14.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/15.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/16.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/17.jpg)
Why Android Platform? (Contd.)Analytics Data: Statistics
![Page 18: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/18.jpg)
Why Android Platform? (Contd.)Analytics Data: Statistics
![Page 19: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/19.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/20.jpg)
Why Android Platform? (Contd.)Analytics Data: Statistics
![Page 21: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/21.jpg)
Why Android Platform? (Contd.)Analytics Data: Statistics
![Page 22: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/22.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/23.jpg)
Why Android Platform? (Contd.)Analytics Data: Statistics
![Page 24: Day: 1 Introduction to Mobile Application Development (in Android)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/24.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/25.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/26.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/27.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/28.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/29.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/30.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/31.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/32.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/33.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/34.jpg)
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)](https://reader033.fdocuments.net/reader033/viewer/2022061104/53fc52e98d7f72384b8b45e1/html5/thumbnails/35.jpg)
Questions?