Upload
ahsanul-karim
View
1.140
Download
0
Embed Size (px)
DESCRIPTION
This is for the 6th batch trainees of BASIS Android Application Development Course
Citation preview
Android Application Development
Before Getting Started
Ahsanul Karimhttp://androidstream.wordpress.com
Before Introduction
Rules of the Game
ScheduleTotal Duration: 80 hoursSessions Per Week: 3Hours Per Session: 4 hoursDays: Sunday, Tuesday, Thursday
Course Work
Lecture: 2.5 hoursAssignments& Q/A: 1.5 hours
Weekly AssignmentsWeekly QuizProjectsWritten Test
Evaluation
Attendance: 10%Assignments: 50%Project:20%Written Tests& Quiz: 20%
Course Materials
Tutorial SlidesClassroom VideosSample Projects
Android Application DevelopmentWe are going to learn world's most popular Mobile Platform
http://developer.android.com/about/index.html
Course Prerequisite
To take this course, you must know Java or C#. You should be able to answer most of the following questions:
● What is a difference between a class and an object?
● What is the difference between static and non-static field?
● What is the difference between extends and implements keywords?
● What is the purpose of @Override? etc.
Course OutlineAndroid Overview● Android Overview● Prospects● History● Versions
The Stack● Stack Overview
Linux● Native Libraries● Dalvik● App Framework● Applications
Quick Start● Installing SDK● Hello World● Anatomy of Project
Main Building Blocks● Overview● Activities
Intents● Services● ContentProviders● BroadcasrReceivers● Application Context
User Interface● Activity Lifecycle● Ways to Create UI● Views & Layouts● UI Widgets● Activities & Dialogs● Menus● Fragments & ActionBar● UI Design Patterns
Databases● About SQLite● Using SQLite● A bit optimization
Services● Lifecycle● IntentService● Binding● Common Patterns
Course OutlineBroadcastReceivers● Overview● Examples● RebootReceiver● Broadcasting
Intents● Network Receiver● SMS Receiver
ContentProviders
● Creating ContentProviders
● Accessing ContentProviders
Lists & Adapters● About Adapters● ListActivity● Custom ListViews
Preferences
Location API● Retrieving
Location● Location Providers● Best Practices
Maps API
● Google Maps● Issues● Obtaining API Key● OpenStreetMap
● Overview● SharedPreference
File System● File System
explained● Reading and Writing
files in External Storage
Telephony API● Retrieving
Network Info● Accessing Phone
Call States
Course OutlineCamera API● Image Capturing● Video Recording
Sensor API● Introduction● Availability Testing● Accelerometer● Examples
HTTP+Web Services● HTTP GET/POST● Accessing REST APIs● DownloadManager● Monitoring Network
State● Creating Own Service
Testing● Robotium● RoboelectricWebKit & Web Apps
● Javascript Interfaces● Cross Platform Tools
Deployment● Signing● Take your steps to
Google Play
So.. Today..● Basic Idea on Mobile, Smartphone & Tablet Platforms
● Basic Idea on Application Development
● Identify the Position of Android
● Some Background and History
● Prospects: Why Should We Learn Android
● What is Android (and What it isn't)
● Introduction to Android SDK Features
Mobile & Smartphone Applications
Mobile & Smartphone Applications
Mobile & Smartphone Applications
Overview of Application Platforms
Overview of Application Platforms
Application Platforms
Why Android● Android powers hundreds of millions of mobile devices in ● more than 190 countries around the world. ● It's the largest installed base ● growing fast—every day another 900,000 users power up their Android
devices
Why AndroidA Complete Eco-System Open Handset Alliance: Nov 2007
Why AndroidWide Range of Device Support
● Smartphones● Tablets● Television
Why AndroidTechnical Advantages
● Java Programming Language● Open Source Platform with less Proprietary Restrictions
and more Opportunities of Innovation● Development Environment Support in Windows, Mac OSX
and Linux● No need to pay to start development● Low barrier to Market (No app approval procedure and
Low fee)● Rich and Easy to Integrate Feature Set● Easy and Cost-effective Prototyping for Research and
Business
Imagination is the Limit !!!
Why AndroidAmazon Appstore: http://www.amazon.com/mobile-apps/b/ref=topnav_storetab_mas?ie=UTF8&node=2350149011
Why AndroidCisco Enterprise Market: https://marketplace.cisco.com/
Why AndroidGoogle Play: Some Awesome Features
Why AndroidGoogle Play: Some Awesome Features
Why AndroidGoogle Play: Some Awesome Features
Why AndroidGoogle Play: Monetization $ $ $ $ $ $
● Paid Apps● In-App Billing● Free Apps with Advertisements
Some Demo Apps
Some Demo Apps
Some Demo Apps
Some Demo Apps
Some Demo Apps
Some Demo Apps
Some Demo Apps
Some Demo Apps
Some Demo Apps
What is Android
Google’s Andy Rubin describes Android as follows:
The first truly open and comprehensive platform for mobile devices. It includes an operating system, user-interface and applications — all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation.
—Where’s My Gphone?http://googleblog.blogspot.com/2007/11/ wheres-my-gphone.html
What is Android
Android is an ecosystem made up of a combination of three components:
● A free, open-source operating system for embedded devices
● An open-source development platform for creating applications
● Devices, particularly mobile phones, that run the Android operating system and the applications created for it
What is Android
More specifically, Android is made up of several necessary and dependent parts, including the following:
● A Compatibility Definition Document (CDD) and Compatibility Test Suite (CTS) that describe the capabilities required for a device to support the software stack.
● A Linux operating system kernel● Open source libraries including SQLite, WebKit, OpenGL and Media
Manager ● A run time used to execute and host Android applications, including the
Dalvik Virtual Machine (VM)● An application framework● A user interface framework● A set of core pre-installed applications● A software development kit (SDK) used to create applications,
including the related tools, plugins, and documentation
What is Android
Android SDK Features● Access to Hardware, including Camera, GPS and
Sensors ● Data Transfers using Wi-Fi, Bluetooth and NFC● Maps, Geocoding and Location Based Services● Background Services● SQLite Database● Shared Data and Inter-Application Communication● Full Multimedia Hardware control including Playback
and Recording● GSM, EDGE, 3G, 4G and LTE networks support for
Telephony and Data Transfer● Integrated HTML5 supported WebKit based Browser● 2D and 3D Graphics using OpenGL ES 2.0
Android SDK Features
Thank You
Questions
Sources:● http://developer.android.com● Profession Android 4 Application Development by Reto Meier● Various Websites