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

Day1 before getting_started

Sep 03, 2014

Download

Education

Ahsanul Karim

This is for the 6th batch trainees of BASIS Android Application Development Course
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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