42
Android Application Development Before Getting Started Ahsanul Karim http://androidstream.wordpress.com

Day1 before getting_started

Embed Size (px)

DESCRIPTION

This is for the 6th batch trainees of BASIS Android Application Development Course

Citation preview

Page 1: Day1 before getting_started

Android Application Development

Before Getting Started

Ahsanul Karimhttp://androidstream.wordpress.com

Page 2: Day1 before getting_started

Before Introduction

Page 3: Day1 before getting_started

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

Page 4: Day1 before getting_started

Android Application DevelopmentWe are going to learn world's most popular Mobile Platform

http://developer.android.com/about/index.html

Page 5: Day1 before getting_started

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.

Page 6: Day1 before getting_started

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

Page 7: Day1 before getting_started

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

Page 8: Day1 before getting_started

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

Page 9: Day1 before getting_started

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

Page 10: Day1 before getting_started

Mobile & Smartphone Applications

Page 11: Day1 before getting_started

Mobile & Smartphone Applications

Page 12: Day1 before getting_started

Mobile & Smartphone Applications

Page 13: Day1 before getting_started

Overview of Application Platforms

Page 14: Day1 before getting_started

Overview of Application Platforms

Page 15: Day1 before getting_started

Application Platforms

Page 16: Day1 before getting_started

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

Page 17: Day1 before getting_started

Why AndroidA Complete Eco-System Open Handset Alliance: Nov 2007

Page 18: Day1 before getting_started

Why AndroidWide Range of Device Support

● Smartphones● Tablets● Television

Page 19: Day1 before getting_started

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 !!!

Page 20: Day1 before getting_started

Why AndroidBusiness

http://play.google.com

Page 22: Day1 before getting_started

Why AndroidCisco Enterprise Market: https://marketplace.cisco.com/

Page 23: Day1 before getting_started

Why AndroidGoogle Play: Some Awesome Features

Page 24: Day1 before getting_started

Why AndroidGoogle Play: Some Awesome Features

Page 25: Day1 before getting_started

Why AndroidGoogle Play: Some Awesome Features

Page 26: Day1 before getting_started

Why AndroidGoogle Play: Monetization $ $ $ $ $ $

● Paid Apps● In-App Billing● Free Apps with Advertisements

Page 27: Day1 before getting_started

Some Demo Apps

Page 28: Day1 before getting_started

Some Demo Apps

Page 29: Day1 before getting_started

Some Demo Apps

Page 30: Day1 before getting_started

Some Demo Apps

Page 31: Day1 before getting_started

Some Demo Apps

Page 32: Day1 before getting_started

Some Demo Apps

Page 33: Day1 before getting_started

Some Demo Apps

Page 34: Day1 before getting_started

Some Demo Apps

Page 35: Day1 before getting_started

Some Demo Apps

Page 36: Day1 before getting_started

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

Page 37: Day1 before getting_started

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

Page 38: Day1 before getting_started

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

Page 39: Day1 before getting_started

What is Android

Page 40: Day1 before getting_started

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

Page 41: Day1 before getting_started

Android SDK Features

Page 42: Day1 before getting_started

Thank You

Questions

Sources:● http://developer.android.com● Profession Android 4 Application Development by Reto Meier● Various Websites