day 1 android: before getting started

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

Upload: ahsanul-karim

Post on 03-Sep-2014

2.799 views

Category:

Technology


1 download

DESCRIPTION

Some information regarding the domain of Android application development.

TRANSCRIPT

Page 1: Day 1 Android: Before Getting Started

Android Application Development

Ahsanul Karimhttp://androidstream.wordpress.com

Before Getting Started

Page 2: Day 1 Android: Before Getting Started

Before Proceeding Any Further

Total Duration: 100 hoursSessions Per Week: 5Hours Per Session: 4 hours

Schedule

Days: Monday, Tuesday, Wednesday, Thursday, Friday

We’ll take 2 days off: Saturday and Friday

Course WorkLecture: 2-3 hoursQ/A and Assignments: 1-2 hours

Tutorial Driven ApproachWeekly Assignments

Page 3: Day 1 Android: Before Getting Started

Outline

1. Get Basic Idea on Mobile and Smartphone Applications2. Get Basic Idea on Mobile, Smartphone & Tablet Platforms3. Identify the Position of Android Platform4. Background and History of Android5. Get the Idea: Why Should We Learn Android Platform6. Opportunities7. Some App Demos8. System Architecture9. Environment Setup to Kick-start10. Development Environment11. Application Structure

Page 4: Day 1 Android: Before Getting Started

Mobile and Smartphone ApplicationsSmart Phones

1. 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 5: Day 1 Android: Before Getting Started

Mobile and Smartphone ApplicationsSmart Phones Platforms

Android iPhone Palm PreBlackBerry

Page 6: Day 1 Android: Before Getting Started

Mobile and Smartphone ApplicationsTablet Platforms

Android: Galaxy Tab Apple: iPad

Page 7: Day 1 Android: Before Getting Started

Overview of Application Platforms (alphabetically)

Platform Language (s) Remarks

Android Java, C, C++ Open Source OS (Based on Linux)http://developer.android.com

bada C, C++ Samsung’s mobile platform running on Linux or RealTime OShttp://developer.bada.com

BlackBerry Java, Web Apps Java, Web Apps, Java ME compatible, extensions enable tighter integrationhttp://na.blackberry.com/eng/developers

iOS Objective-C, C Requires Apple Developer Accounthttp://developer.apple.com/iphone

MeeGo Qt, C++, others Intel and Nokia guided open source OS (based on Linux)http://meego.com/developers

Symbian C, C++, Java, Qt, Web Apps, others

OS built from the ground up for mobile deviceshttp://www.forum.nokia.com/symbian

Page 8: Day 1 Android: Before Getting Started

Overview of Application Platforms (Cont.)

Platform Language (s) Remarks

webOS HTML, CSS, JavaScript, C

Supports widget style programming (based on Linux)http://developer.palm.com

Windows Mobile

C#, C .NET CF or Windows Mobile API, most devices ship with Java ME compatible JVMhttp://developer.windowsmobile.com

Windows Phone

C#, VB.NET Silverlight, XNA Frameworkshttp://create.msdn.com

Source: http://mobileplatforms.wikidot.com/

Page 9: Day 1 Android: Before Getting Started

Application Platforms

Page 10: Day 1 Android: Before Getting Started

Why Android

Page 11: Day 1 Android: Before Getting Started

Why Android (Cont.)

Page 12: Day 1 Android: Before Getting Started

Why Android (Cont.)

Page 13: Day 1 Android: Before Getting Started

Why Android (Cont.)

Page 14: Day 1 Android: Before Getting Started

Why Android: Google TV

Page 15: Day 1 Android: Before Getting Started

Why Android: Finally BlackBerry Gives In

Page 16: Day 1 Android: Before Getting Started

Open Handset Alliance (Nov 2007)Manufacturers: Designing the Android Handsets

Content Providers: Developing Apps Mobile Operators

Markets: Distribution

Page 17: Day 1 Android: Before Getting Started

Why Android (Cont.)Technical Advantages

No need to pay for any developer’s program to develop and test apps in real devices

Open source platform with scope of more innovation (Less proprietary restrictions)

Java programming language

Rich and easy to integrate feature sets

Easy, effective and cost-effective prototyping for research and business

Development Environment Support in Windows, Mac & Linux (Ubuntu)

Imagination is the Limit

Page 18: Day 1 Android: Before Getting Started

Why Android (Cont.)Business Advantages

Google Play: Integrated market appOne time low registration fee

Many Distribution Channels:(We’ll see next)

Low Barrier to Market:No approval processLess restrictions with copyright issues

Page 19: Day 1 Android: Before Getting Started

Why Android (Cont.)Opportunities

Google Play: (http://market.android.com)Integrated Android Market Application in phones can ensure your reach to

millions of users without any approval process.

Amazon Appstore for Android: http://www.amazon.com/mobile-apps/b?ie=UTF8&node=2350149011

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

3rd Party Distribution Channels :7.Andspot 2. Handango 3. GetJar 4. SlideMe 5.AndAppStore6. AndroLib 7. AppBrain and many more…

Page 20: Day 1 Android: Before Getting Started

Why Android (Cont.)Opportunities

Android Market: (1) Analytics to help decision making

Page 21: Day 1 Android: Before Getting Started

Why Android (Cont.)Opportunities

Google Play: (2) Crash log to support bug fixes

Page 22: Day 1 Android: Before Getting Started

Why Android (Cont.)Opportunities

Google Play: (3) Requirements

Page 23: Day 1 Android: Before Getting Started

Why Android (Cont.)Opportunities

Amazon Appstore for Android:

Page 24: Day 1 Android: Before Getting Started

Why Android (Cont.)Opportunities

Enterprise Market:

$ $ $ $ $ $ $

Page 25: Day 1 Android: Before Getting Started

Why Android (Cont.)Monetization Opportunities

Paid Apps $ $ $ $ $ $ $ In-App Billing Free Apps with Ads

AdMob AdWhirl Mobclix and many more

Page 26: Day 1 Android: Before Getting Started

Game Development OpportunitiesWhy Android (Cont.)

Case Study: AhhhPah http://ahhhpah.com/

Simplified Game frameworks

1. Libgdx: http://code.google.com/p/libgdx/2. AndEngine: http://www.andengine.org/3. Unity3d: http://unity3d.com/

Development Time: 8 hoursDownloads: millions

Page 27: Day 1 Android: Before Getting Started

Some Interesting AppsWhy Android (Cont.)

ShazamHear a song you don't know? Shazam identifies it instantly.

INSTALLS:10,000,000 - 50,000,000

Page 28: Day 1 Android: Before Getting Started

Some Interesting AppsWhy Android (Cont.)

Guitar : Solo LiteINSTALLS:10,000,000 - 50,000,000

Page 29: Day 1 Android: Before Getting Started

My StoryWhy Android (Cont.)

ProTranslate INSTALLS: 50,000 - 100,000

Features:2. Support for wide range of

languages3. Share translated text

(Email,SMS,twitter,facebook)Pronounciation and speech output

4. Website translationDocument translation and share via email

5. Auto-prompt to translate SMS received

6. Optimized for all Android devices

It gave us Google’s Device Seeding Program Award

Page 30: Day 1 Android: Before Getting Started

My StoryWhy Android (Cont.)

ProTranslate

Page 31: Day 1 Android: Before Getting Started

Research OpportunitiesWhy Android (Cont.)

Easy Prototyping of any idea is possible in Android. Some of the advanced research based projects are prototyped in Android.

Computer Vision

MINDdroidCV(http://www.jataka.hu/rics/nxt_android_opencv/index.html)

Page 32: Day 1 Android: Before Getting Started

Research OpportunitiesWhy Android (Cont.)

Easy Prototyping of any idea is possible in Android. Some of the advanced research based projects are prototyped in Android.

mHealth

Developed by the Johns Hopkins Center for Clinical Global Health Education, eMOCHA uses video, audio, touchscreen quizzes, GPS and SMS to collect and analyze large amounts of data.

eMOCA (www.emocha.org)

Page 33: Day 1 Android: Before Getting Started

Research OpportunitiesWhy Android (Cont.)

Easy Prototyping of any idea is possible in Android. Some of the advanced research based projects are prototyped in Android.

mHealth

Developed by ClickDiagnostics, uses video, audio, touchscreen Quizzes to upload data to server to reach the consultants.

ClickDiagnosticshttp://clickdiagnostics.com/

Page 34: Day 1 Android: Before Getting Started

Research OpportunitiesWhy Android (Cont.)

mHealth

Clinical diagnosis + Data acquisition

Page 35: Day 1 Android: Before Getting Started

Research OpportunitiesWhy Android (Cont.)

Android + Arduino = Innovation Unlimited

Arduino (http://www.arduino.cc/)

1. Arduino is an open-source electronics prototyping platform2.  can sense the environment by receiving input from a variety of sensors and can affect its

surroundings by controlling lights, motors, and other actuators.

http://arduino.cc/blog/2011/10/12/android-open-2011-massimo-banzi-arduino-android-infinite-possibilities/

Page 36: Day 1 Android: Before Getting Started

Research OpportunitiesWhy Android (Cont.)

Android in Disaster Management

A Mobile Disaster Management System Using the Android Technologyhttp://www.naun.org/journals/communications/19-280.pdf

Implementation of an Android based disaster management systemhttp://www.bcdph.com/download/android.pdf

Android Incident Reporting for SAHANA Disaster Management Systemhttp://code.google.com/p/sahana-incident-reporter/

Page 37: Day 1 Android: Before Getting Started

Application Development OpportunitiesWhy Android (Cont.)

Augmented Reality

Some more: http://techsplurge.com/3214/mega-list-33-awesome-augmented-reality-apps-games-android/

Real World Environment+ Sound, Video, Graphics data generated by systems= AR

Page 38: Day 1 Android: Before Getting Started

Cross-platform Development1. RhoMobile http://rhomobile.com/

2. Appcelerator http://www.appcelerator.com/

3. PhoneGap http://www.phonegap.com/

Page 39: Day 1 Android: Before Getting Started

Resources: Android Developers’ Sitehttp://developer.android.com

1. Tutorials & Design Guidelines2. SDK References3. Articles on Pragmatic & Good Practices4. & anything you’ll need including Google IO Videos

Page 40: Day 1 Android: Before Getting Started

Resources: Open Source Projects1. http://code.google.com/p/apps-for-android/2. http://en.wikipedia.org/wiki/List_of_open_source_Android_applications

Page 41: Day 1 Android: Before Getting Started

Questions?