Day: 1 Introduction to Mobile Application Development (in Android)
1. Android Application Development Before Getting Started Ahsanul Karim ahsanul.karim@sentinelbd.com Sentinel Solutions Ltd. http://www.sentinelbd.com
2. 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
3. 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.
4. Mobile and Smartphone Applications Mobile Phones A mobile phone (also called mobile, cellular telephone, cell phone, or hand phone is an electronic device used to make Calls across a wide geographic area. Send Text SMS Can see call records Can capture image Can run music 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
5. Mobile and Smartphone Applications Mobile Phone Applications: Some Examples Category: Utility Tools Personal Finance Calculator Another example can be: Daily Planner Application Possible Features: Task List Reminder Appointment etc.
6. Mobile and Smartphone Applications Mobile Phone Applications: Some Examples (Contd.) Category: Games Snake Sudoku Tetris
7. Mobile and Smartphone Applications Mobile Phone Applications: Development Different Mobile phone vendor companies use different platforms for developing applications for their own platform. We’ll discuss about a open “Legacy” platform as an example which is J2ME Java Platform, Micro Edition, or Java ME: It is a Java platform designed for embedded systems (mobile Devices are one kind of such systems) . 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
8. Mobile and Smartphone Applications Mobile Phone Applications: Development With J2ME Limitations Memory Issues Vendor Specific Implementation Insufficient Memory Inefficient Memory Management Device Compatibility Issues Not enough Access to Core System of the Phone Vendor Specific Implementation of KVM That is why… We see sites like this:
9. Mobile and Smartphone Applications Smart Phones A smartphone is a mobile phone that offers more advanced computing ability, Features and connectivitythan a contemporary mobile phones. Smartphones may be thought of as handheld computers integrated with a mobile telephone. 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
10. Mobile and Smartphone Applications Smart Phones Platforms Android iPhone Palm Pre BlackBerry
12. Why Android Platform? 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.
14. Why Android Platform? (Contd.) Android Growth Explodes in 2010 according to Flurry Analytics By 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.
15. Why Android Platform? (Contd.) Business Opportunities Android 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: Andspot Handango GetJar SlideMe AndAppStore AndroLib AppBrain Revenue can be earned by: Paid Applications Free Applications with ads Admob AdWhirl AdSense MobClix
16. Why Android Platform? (Contd.) Freelancing Opportunities Statistics Source: http://www.elance.com/android-programmers-freelancers/230 Similar trend is seen in other freelancing sites
25. What is Android Android is a software stack for mobile devicesthat 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. 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
26. Android Features Features Application framework Dalvikvirtual machine Integrated browser Optimized graphics SQLite Media support GSM Telephony Bluetooth, EDGE, 3G, and WiFi Camera, GPS, compass, and accelerometer Rich development environment We’ll cover each of these features in our corresponding sessions
27. 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
28. 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)
29. Learning Android App Development Prerequisites 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). We’ll need some basic OOP concept.
30. Setting up Development Environment System Requirements Supported OS Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit) Mac OS X 10.5.8 or later (x86 only) Linux (tested on Ubuntu Linux, Lucid Lynx) Supported Development Environment (Eclipse IDE based) Eclipse 3.4 (Ganymede) or greater/Eclipse Classic (versions 3.5.1 and higher) JDK 1.5 or 1.6 ADT Plugin
31. Setting up Development Environment(Contd.) To set up the development environment, we need: Java Development Kit (JDK 1.5+, 1.6 is preferable) Eclipse IDE Android SDK
32. Setting up Development Environment (Contd.) Java Development Kit (JDK) Download Link: http://www.java.com/en/download/index.jsp Download JDK from here and Install JDK
33. Setting up Development Environment (Contd.) Eclipse IDE Download Link: http://eclipse.org/downloads/ Download the highlighted version of Eclipse IDE
34. Setting up Development Environment (Contd.) Android SDK Link: http://developer.android.com/sdk/index.html Download and Install the SDK starter package from the table above (Highlighted)