SlideShare a Scribd company logo
1 of 41
Download to read offline
Android Application Development
        Before Getting Started




                                               Ahsanul Karim
                            http://androidstream.wordpress.com
Before Proceeding Any Further
Schedule
 Total Duration: 100 hours
 Sessions Per Week: 5
 Hours Per Session: 4 hours
Days: Monday, Tuesday, Wednesday, Thursday, Friday

We’ll take 2 days off: Saturday and Friday

Course Work
Lecture: 2-3 hours
Q/A and Assignments: 1-2 hours


Tutorial Driven Approach
Weekly Assignments
Outline

 1. Get Basic Idea on Mobile and Smartphone Applications
 2. Get Basic Idea on Mobile, Smartphone & Tablet Platforms
 3. Identify the Position of Android Platform
 4. Background and History of Android
 5. Get the Idea: Why Should We Learn Android Platform
 6. Opportunities
 7. Some App Demos
 8. System Architecture
 9. Environment Setup to Kick-start
 10. Development Environment
 11. Application Structure
Mobile and Smartphone
Applications
Smart 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
Mobile and Smartphone
Applications
Smart Phones Platforms

 Android   iPhone        BlackBerry   Palm Pre
Mobile and Smartphone
Applications
Tablet Platforms
 Android: Galaxy Tab    Apple: iPad
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 OS
                                 http://developer.bada.com
BlackBerry   Java, Web Apps      Java, Web Apps, Java ME compatible, extensions
                                 enable tighter integration
                                 http://na.blackberry.com/eng/developers
iOS          Objective-C, C      Requires Apple Developer Account
                                 http://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,   OS built from the ground up for mobile devices
             Web Apps,           http://www.forum.nokia.com/symbian
             others
Overview of Application Platforms (Cont.)
Platform       Language (s)      Remarks
webOS          HTML, CSS,        Supports widget style programming (based on Linux)
               JavaScript, C     http://developer.palm.com
Windows        C#, C             .NET CF or Windows Mobile API, most devices ship
Mobile                           with Java ME compatible JVM
                                 http://developer.windowsmobile.com
Windows        C#, VB.NET        Silverlight, XNA Frameworks
Phone                            http://create.msdn.com


 Source: http://mobileplatforms.wikidot.com/
Application Platforms
Why Android
Why Android (Cont.)
Why Android (Cont.)
Why Android (Cont.)
Why Android: Google TV
Why Android: Finally BlackBerry Gives In
Open Handset Alliance (Nov 2007)
  Manufacturers: Designing the Android Handsets




Content Providers: Developing Apps         Mobile Operators



                                          Markets: Distribution
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
Why Android (Cont.)
Business Advantages
     Google Play:
        Integrated market app
        One time low registration fee

     Many Distribution Channels:
        (We’ll see next)

     Low Barrier to Market:
        No approval process
        Less restrictions with copyright issues
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.AndAppStore
 6. AndroLib 7. AppBrain and many more…
Why Android (Cont.)
Opportunities
   Android Market: (1) Analytics to help decision making
Why Android (Cont.)
Opportunities
   Google Play: (2) Crash log to support bug fixes
Why Android (Cont.)
Opportunities
   Google Play: (3) Requirements
Why Android (Cont.)
Opportunities
   Amazon Appstore for Android:
Why Android (Cont.)
Opportunities
   Enterprise Market:




                $   $ $   $   $   $   $
Why Android (Cont.)
Monetization Opportunities
     Paid Apps $ $ $ $ $ $ $
     In-App Billing
     Free Apps with Ads
        AdMob
        AdWhirl
        Mobclix and many more
Why Android (Cont.)
Game Development Opportunities
Case Study: AhhhPah http://ahhhpah.com/




                     Development Time: 8 hours
                     Downloads: millions

 Simplified Game frameworks
  1. Libgdx:       http://code.google.com/p/libgdx/
  2. AndEngine: http://www.andengine.org/
  3. Unity3d:     http://unity3d.com/
Why Android (Cont.)
Some Interesting Apps
        Shazam
        Hear a song you don't know?       INSTALLS:10,000,000 - 50,000,000
        Shazam identifies it instantly.
Why Android (Cont.)
Some Interesting Apps

      Guitar : Solo Lite   INSTALLS:10,000,000 - 50,000,000
Why Android (Cont.)
My Story

      ProTranslate     INSTALLS: 50,000 - 100,000
                       It gave us Google’s Device Seeding Program Award
Features:
2. Support for wide range of
    languages
3. Share translated text
    (Email,SMS,twitter,facebook)
    Pronounciation and speech
    output
4. Website translation
    Document translation and
    share via email
5. Auto-prompt to translate SMS
    received
6. Optimized for all Android
    devices
Why Android (Cont.)
My Story

     ProTranslate
Why Android (Cont.)
Research Opportunities
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)
Why Android (Cont.)
Research Opportunities
Easy Prototyping of any idea is possible in Android. Some of the advanced
research based projects are prototyped in Android.
 mHealth
 eMOCA (www.emocha.org)
 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.
Why Android (Cont.)
Research Opportunities
Easy Prototyping of any idea is possible in Android. Some of the advanced
research based projects are prototyped in Android.
 mHealth
 ClickDiagnostics
 http://clickdiagnostics.com/

 Developed by ClickDiagnostics,
 uses video, audio, touchscreen
 Quizzes to upload data to server
 to reach the consultants.
Why Android (Cont.)
Research Opportunities
mHealth




           Clinical diagnosis + Data acquisition
Why Android (Cont.)
Research Opportunities
Android + Arduino = Innovation Unlimited
Arduino (http://www.arduino.cc/)
 1. Arduino is an open-source electronics prototyping platform
 2.  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-ope
Why Android (Cont.)
Research Opportunities
Android in Disaster Management
       A Mobile Disaster Management System Using the Android Technology
       http://www.naun.org/journals/communications/19-280.pdf

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

       Android Incident Reporting for SAHANA Disaster Management System
       http://code.google.com/p/sahana-incident-reporter/
Why Android (Cont.)
Application Development Opportunities
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
Cross-platform Development
1. RhoMobile      http://rhomobile.com/




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




 3. PhoneGap       http://www.phonegap.com/
Resources: Android Developers’ Site
http://developer.android.com
 1.   Tutorials & Design Guidelines
 2.   SDK References
 3.   Articles on Pragmatic & Good Practices
 4.   & anything you’ll need including Google IO Videos
Resources: Open Source Projects
1.   http://code.google.com/p/apps-for-android/
2.   http://en.wikipedia.org/wiki/List_of_open_source_Android_applications
Questions?

More Related Content

What's hot

লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:Ahsanul Karim
 
Lecture 1 Session 1 Before Getting Started
Lecture 1 Session 1 Before Getting StartedLecture 1 Session 1 Before Getting Started
Lecture 1 Session 1 Before Getting StartedAhsanul Karim
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentAhsanul Karim
 
Multiple Activity and Navigation Primer
Multiple Activity and Navigation PrimerMultiple Activity and Navigation Primer
Multiple Activity and Navigation PrimerAhsanul Karim
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App DevelopmentTodd Burgess
 
Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1Joemarie Amparo
 
Android Development Training
Android Development TrainingAndroid Development Training
Android Development Trainingchandutata
 
Android development basics
Android development basicsAndroid development basics
Android development basicsPramesh Gautam
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Developmentdonnfelker
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorialnazzf
 
Lecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick OverviewLecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick OverviewAhsanul Karim
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
Android Development Made Easy - With Sample Project
Android Development Made Easy - With Sample ProjectAndroid Development Made Easy - With Sample Project
Android Development Made Easy - With Sample ProjectJoemarie Amparo
 
Android development session 5 - Debug android studio
Android development   session 5 - Debug android studioAndroid development   session 5 - Debug android studio
Android development session 5 - Debug android studioFarabi Technology Middle East
 
Android application development
Android application developmentAndroid application development
Android application developmentMadhuprakashR1
 

What's hot (20)

লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:লেকচার ১ (ক)- শুরুর আগে:
লেকচার ১ (ক)- শুরুর আগে:
 
Lecture 1 Session 1 Before Getting Started
Lecture 1 Session 1 Before Getting StartedLecture 1 Session 1 Before Getting Started
Lecture 1 Session 1 Before Getting Started
 
Day: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application DevelopmentDay: 2 Environment Setup for Android Application Development
Day: 2 Environment Setup for Android Application Development
 
Android 1.8 sensor
Android 1.8 sensorAndroid 1.8 sensor
Android 1.8 sensor
 
Multiple Activity and Navigation Primer
Multiple Activity and Navigation PrimerMultiple Activity and Navigation Primer
Multiple Activity and Navigation Primer
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1Android Development for Beginners with Sample Project - Day 1
Android Development for Beginners with Sample Project - Day 1
 
Android Development Training
Android Development TrainingAndroid Development Training
Android Development Training
 
Android
AndroidAndroid
Android
 
Google Android
Google AndroidGoogle Android
Google Android
 
Android development basics
Android development basicsAndroid development basics
Android development basics
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android Applications Development
Android Applications DevelopmentAndroid Applications Development
Android Applications Development
 
Android development tutorial
Android development tutorialAndroid development tutorial
Android development tutorial
 
Lecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick OverviewLecture 2(b) Android Internals A Quick Overview
Lecture 2(b) Android Internals A Quick Overview
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Training android
Training androidTraining android
Training android
 
Android Development Made Easy - With Sample Project
Android Development Made Easy - With Sample ProjectAndroid Development Made Easy - With Sample Project
Android Development Made Easy - With Sample Project
 
Android development session 5 - Debug android studio
Android development   session 5 - Debug android studioAndroid development   session 5 - Debug android studio
Android development session 5 - Debug android studio
 
Android application development
Android application developmentAndroid application development
Android application development
 

Viewers also liked

Ui layout (incomplete)
Ui layout (incomplete)Ui layout (incomplete)
Ui layout (incomplete)Ahsanul Karim
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsAhsanul Karim
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI WidgetsAhsanul Karim
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorialAhsanul Karim
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Ahsanul Karim
 
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & SpinnerAndroid User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & SpinnerAhsanul Karim
 
Day 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location APIDay 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location APIAhsanul Karim
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Android GPS Tutorial
Android GPS TutorialAndroid GPS Tutorial
Android GPS TutorialAhsanul Karim
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivityAhsanul Karim
 
Day 6: Android BroadcastReceiver Component
Day 6: Android BroadcastReceiver ComponentDay 6: Android BroadcastReceiver Component
Day 6: Android BroadcastReceiver ComponentAhsanul Karim
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studioParinita03
 
Day 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesDay 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesAhsanul Karim
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting startedAhsanul Karim
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesAhsanul Karim
 

Viewers also liked (18)

Ui layout (incomplete)
Ui layout (incomplete)Ui layout (incomplete)
Ui layout (incomplete)
 
List Views
List ViewsList Views
List Views
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViews
 
Day 4: Android: UI Widgets
Day 4: Android: UI WidgetsDay 4: Android: UI Widgets
Day 4: Android: UI Widgets
 
Action Bar Sherlock tutorial
Action Bar Sherlock tutorialAction Bar Sherlock tutorial
Action Bar Sherlock tutorial
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]
 
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & SpinnerAndroid User Interface Tutorial: DatePicker, TimePicker & Spinner
Android User Interface Tutorial: DatePicker, TimePicker & Spinner
 
Day 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location APIDay 9: Make Your App Location Aware using Location API
Day 9: Make Your App Location Aware using Location API
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Android GPS Tutorial
Android GPS TutorialAndroid GPS Tutorial
Android GPS Tutorial
 
Android MapView and MapActivity
Android MapView and MapActivityAndroid MapView and MapActivity
Android MapView and MapActivity
 
Android Services
Android ServicesAndroid Services
Android Services
 
Day 6: Android BroadcastReceiver Component
Day 6: Android BroadcastReceiver ComponentDay 6: Android BroadcastReceiver Component
Day 6: Android BroadcastReceiver Component
 
Creating the first app with android studio
Creating the first app with android studioCreating the first app with android studio
Creating the first app with android studio
 
Day 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesDay 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through Activities
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
 
Client-Server
Client-ServerClient-Server
Client-Server
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
 

Similar to Day 1 Android: Before Getting Started

Android overview 123
Android overview 123Android overview 123
Android overview 123Bhavanislide1
 
Android overview
Android overviewAndroid overview
Android overviewbhavani p
 
From Deepa's client
From Deepa's clientFrom Deepa's client
From Deepa's clientDeepa Bman
 
Android introduction
Android introductionAndroid introduction
Android introductionReena Nachare
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesDennise Layague
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5Gaurav Kohli
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationTom Deryckere
 
Android development
Android developmentAndroid development
Android developmentAsif Larra
 
Getting Started with Android Development
Getting Started with Android DevelopmentGetting Started with Android Development
Getting Started with Android DevelopmentEdureka!
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to AndroidRajesh Jambukia
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMarco Tabor
 
Mobile app development sylhet it academy
Mobile app development  sylhet it academyMobile app development  sylhet it academy
Mobile app development sylhet it academySylhet IT Academy
 

Similar to Day 1 Android: Before Getting Started (20)

AndroidOverview
AndroidOverviewAndroidOverview
AndroidOverview
 
Android overview 123
Android overview 123Android overview 123
Android overview 123
 
Android overview
Android overviewAndroid overview
Android overview
 
Android overview
Android overviewAndroid overview
Android overview
 
From Deepa's client
From Deepa's clientFrom Deepa's client
From Deepa's client
 
Android overview
Android overviewAndroid overview
Android overview
 
"double quotes"
"double quotes""double quotes"
"double quotes"
 
Android overview
Android overviewAndroid overview
Android overview
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
 
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web FragmentationOpen Source to the Rescue of Mobile App and Mobile Web Fragmentation
Open Source to the Rescue of Mobile App and Mobile Web Fragmentation
 
Android ppt
 Android ppt Android ppt
Android ppt
 
Android development
Android developmentAndroid development
Android development
 
Getting Started with Android Development
Getting Started with Android DevelopmentGetting Started with Android Development
Getting Started with Android Development
 
An introduction to Android
An introduction to AndroidAn introduction to Android
An introduction to Android
 
Mobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th editionMobile Developer's Guide To The Galaxy, 5th edition
Mobile Developer's Guide To The Galaxy, 5th edition
 
Introduction to Android Environment
Introduction to Android EnvironmentIntroduction to Android Environment
Introduction to Android Environment
 
Mobile app development sylhet it academy
Mobile app development  sylhet it academyMobile app development  sylhet it academy
Mobile app development sylhet it academy
 

More from Ahsanul Karim

Lecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesLecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesAhsanul Karim
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities Ahsanul Karim
 
Day 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts APIDay 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts APIAhsanul Karim
 
Day 15: Working in Background
Day 15: Working in BackgroundDay 15: Working in Background
Day 15: Working in BackgroundAhsanul Karim
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsAhsanul Karim
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycleAhsanul Karim
 
Mobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete StudyMobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete StudyAhsanul Karim
 
Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Ahsanul Karim
 

More from Ahsanul Karim (9)

Lecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & PreferencesLecture 5: Storage: Saving Data Database, Files & Preferences
Lecture 5: Storage: Saving Data Database, Files & Preferences
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities
 
Day 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts APIDay 15: Content Provider: Using Contacts API
Day 15: Content Provider: Using Contacts API
 
Day 15: Working in Background
Day 15: Working in BackgroundDay 15: Working in Background
Day 15: Working in Background
 
Day 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViewsDay 8: Dealing with Lists and ListViews
Day 8: Dealing with Lists and ListViews
 
Day 4: Activity lifecycle
Day 4: Activity lifecycleDay 4: Activity lifecycle
Day 4: Activity lifecycle
 
Mobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete StudyMobile Banking in Bangladesh: An Incomplete Study
Mobile Banking in Bangladesh: An Incomplete Study
 
GCM for Android
GCM for AndroidGCM for Android
GCM for Android
 
Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3Android Workshop: Day 1 Part 3
Android Workshop: Day 1 Part 3
 

Recently uploaded

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dashnarutouzumaki53779
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Visualising and forecasting stocks using Dash
Visualising and forecasting stocks using DashVisualising and forecasting stocks using Dash
Visualising and forecasting stocks using Dash
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Day 1 Android: Before Getting Started

  • 1. Android Application Development Before Getting Started Ahsanul Karim http://androidstream.wordpress.com
  • 2. Before Proceeding Any Further Schedule Total Duration: 100 hours Sessions Per Week: 5 Hours Per Session: 4 hours Days: Monday, Tuesday, Wednesday, Thursday, Friday We’ll take 2 days off: Saturday and Friday Course Work Lecture: 2-3 hours Q/A and Assignments: 1-2 hours Tutorial Driven Approach Weekly Assignments
  • 3. Outline 1. Get Basic Idea on Mobile and Smartphone Applications 2. Get Basic Idea on Mobile, Smartphone & Tablet Platforms 3. Identify the Position of Android Platform 4. Background and History of Android 5. Get the Idea: Why Should We Learn Android Platform 6. Opportunities 7. Some App Demos 8. System Architecture 9. Environment Setup to Kick-start 10. Development Environment 11. Application Structure
  • 4. Mobile and Smartphone Applications Smart 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
  • 5. Mobile and Smartphone Applications Smart Phones Platforms Android iPhone BlackBerry Palm Pre
  • 6. Mobile and Smartphone Applications Tablet Platforms Android: Galaxy Tab Apple: iPad
  • 7. 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 OS http://developer.bada.com BlackBerry Java, Web Apps Java, Web Apps, Java ME compatible, extensions enable tighter integration http://na.blackberry.com/eng/developers iOS Objective-C, C Requires Apple Developer Account http://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, OS built from the ground up for mobile devices Web Apps, http://www.forum.nokia.com/symbian others
  • 8. Overview of Application Platforms (Cont.) Platform Language (s) Remarks webOS HTML, CSS, Supports widget style programming (based on Linux) JavaScript, C http://developer.palm.com Windows C#, C .NET CF or Windows Mobile API, most devices ship Mobile with Java ME compatible JVM http://developer.windowsmobile.com Windows C#, VB.NET Silverlight, XNA Frameworks Phone http://create.msdn.com Source: http://mobileplatforms.wikidot.com/
  • 15. Why Android: Finally BlackBerry Gives In
  • 16. Open Handset Alliance (Nov 2007) Manufacturers: Designing the Android Handsets Content Providers: Developing Apps Mobile Operators Markets: Distribution
  • 17. 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
  • 18. Why Android (Cont.) Business Advantages Google Play: Integrated market app One time low registration fee Many Distribution Channels: (We’ll see next) Low Barrier to Market: No approval process Less restrictions with copyright issues
  • 19. 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.AndAppStore 6. AndroLib 7. AppBrain and many more…
  • 20. Why Android (Cont.) Opportunities Android Market: (1) Analytics to help decision making
  • 21. Why Android (Cont.) Opportunities Google Play: (2) Crash log to support bug fixes
  • 22. Why Android (Cont.) Opportunities Google Play: (3) Requirements
  • 23. Why Android (Cont.) Opportunities Amazon Appstore for Android:
  • 24. Why Android (Cont.) Opportunities Enterprise Market: $ $ $ $ $ $ $
  • 25. Why Android (Cont.) Monetization Opportunities Paid Apps $ $ $ $ $ $ $ In-App Billing Free Apps with Ads AdMob AdWhirl Mobclix and many more
  • 26. Why Android (Cont.) Game Development Opportunities Case Study: AhhhPah http://ahhhpah.com/ Development Time: 8 hours Downloads: millions Simplified Game frameworks 1. Libgdx: http://code.google.com/p/libgdx/ 2. AndEngine: http://www.andengine.org/ 3. Unity3d: http://unity3d.com/
  • 27. Why Android (Cont.) Some Interesting Apps Shazam Hear a song you don't know? INSTALLS:10,000,000 - 50,000,000 Shazam identifies it instantly.
  • 28. Why Android (Cont.) Some Interesting Apps Guitar : Solo Lite INSTALLS:10,000,000 - 50,000,000
  • 29. Why Android (Cont.) My Story ProTranslate INSTALLS: 50,000 - 100,000 It gave us Google’s Device Seeding Program Award Features: 2. Support for wide range of languages 3. Share translated text (Email,SMS,twitter,facebook) Pronounciation and speech output 4. Website translation Document translation and share via email 5. Auto-prompt to translate SMS received 6. Optimized for all Android devices
  • 30. Why Android (Cont.) My Story ProTranslate
  • 31. Why Android (Cont.) Research Opportunities 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)
  • 32. Why Android (Cont.) Research Opportunities Easy Prototyping of any idea is possible in Android. Some of the advanced research based projects are prototyped in Android. mHealth eMOCA (www.emocha.org) 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.
  • 33. Why Android (Cont.) Research Opportunities Easy Prototyping of any idea is possible in Android. Some of the advanced research based projects are prototyped in Android. mHealth ClickDiagnostics http://clickdiagnostics.com/ Developed by ClickDiagnostics, uses video, audio, touchscreen Quizzes to upload data to server to reach the consultants.
  • 34. Why Android (Cont.) Research Opportunities mHealth Clinical diagnosis + Data acquisition
  • 35. Why Android (Cont.) Research Opportunities Android + Arduino = Innovation Unlimited Arduino (http://www.arduino.cc/) 1. Arduino is an open-source electronics prototyping platform 2.  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-ope
  • 36. Why Android (Cont.) Research Opportunities Android in Disaster Management A Mobile Disaster Management System Using the Android Technology http://www.naun.org/journals/communications/19-280.pdf Implementation of an Android based disaster management system http://www.bcdph.com/download/android.pdf Android Incident Reporting for SAHANA Disaster Management System http://code.google.com/p/sahana-incident-reporter/
  • 37. Why Android (Cont.) Application Development Opportunities 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
  • 38. Cross-platform Development 1. RhoMobile http://rhomobile.com/ 2. Appcelerator http://www.appcelerator.com/ 3. PhoneGap http://www.phonegap.com/
  • 39. Resources: Android Developers’ Site http://developer.android.com 1. Tutorials & Design Guidelines 2. SDK References 3. Articles on Pragmatic & Good Practices 4. & anything you’ll need including Google IO Videos
  • 40. Resources: Open Source Projects 1. http://code.google.com/p/apps-for-android/ 2. http://en.wikipedia.org/wiki/List_of_open_source_Android_applications