SlideShare a Scribd company logo
1 of 38
Android

Natalia Turrubiartes Ramírez
 José Efrén Muñoz Cabrera
 Oscar Hernández Barboza
What is Android?
   Android is a software stack for mobile
    devices that includes an operating system,
    middleware and key applications.

   The Android SDK provides the tools and APIs
    necessary to begin developing applications
    on the Android platform using the Java
    programming language.
Features
   Application framework enabling reuse and
    replacement of components
   Dalvik virtual machine optimized for mobile
    devices
   Integrated browser based on the open
    source WebKit engine
   Optimized graphics powered by a custom 2D
    graphics library; 3D graphics based on the
    OpenGL ES
   SQLite for structured data storage
Features
   Media support for common audio, video, and
    still image formats (MPEG4, H.264, MP3, AAC,
    AMR, JPG, PNG, GIF)
   GSM Telephony
   Bluetooth, EDGE, 3G, and WiFi
   Camera, GPS, compass, and accelerometer
   Rich development environment including a
    device emulator, tools for debugging, memory
    and performance profiling, and a plugin for the
    Eclipse IDE
Android versions
Android Architecture
The components of the Android operating system are:
Android Architecture
   Applications

    Android will ship with a set of core
    applications including an email client, SMS
    program, calendar, maps, browser, contacts,
    and others. All applications are written using
    the Java programming language.
Android Architecture
   Application Framework

    Developers have full access to the same
    framework APIs used by the core
    applications. The application architecture is
    designed to simplify the reuse of
    components; any application can publish its
    capabilities and any other application may
    then make use of those capabilities.
Android Architecture
   Libraries

    Android includes a set of C/C++ libraries
    used by various components of the Android
    system. These capabilities are exposed to
    developers through the Android application
    framework. Some of the core libraries are:
    System C library, Media Libraries, Surface
    Manager , LibWebCore, 3D libraries ,
    FreeType and SQLite.
Android Architecture
   Android Runtime

    Every Android application runs in its own
    process, with its own instance of the Dalvik
    virtual machine. Dalvik has been written so
    that a device can run multiple VMs efficiently.
Android Architecture
   Linux Kernel

    Android relies on Linux version 2.6 for core
    system services such as security, memory
    management, process management, network
    stack, and driver model. The kernel also acts
    as an abstraction layer between the hardware
    and the rest of the software stack.
Activity
   An activity is a single, focused thing that the
    user can do. Almost all activities interact with
    the user, so the Activity class takes care of
    creating a window for you in which you can
    place your UI with setContentView(View)
   While activities are often presented to the
    user as full-screen windows, they can also be
    used in other ways: as floating windows or
    embedded inside of another activity.
Activity

    There are two methods almost all subclasses of
    Activity will implement:

   onCreate(Bundle) is where you initialize your
    activity.

   onPause() is where you deal with the user
    leaving your activity. Most importantly, any
    changes made by the user should at this point
    be committed.
Activity Lifecycle
Activities in the system are managed as
an activity stack. When a new activity is started,
it is placed on the top of the stack and becomes
the running activity -- the previous activity
always remains below it in the stack, and will
not come to the foreground again until the new
activity exits.

An activity has essentially four states:

• If an activity in the foreground of the screen (at
the top of the stack), it is active or running.
Activity Lifecycle
   If an activity has lost focus but is still visible
    (that is, a new non-full-sized or transparent
    activity has focus on top of your activity), it
    is paused.
   If an activity is completely obscured by
    another activity, it is stopped.
   If an activity is paused or stopped, the system
    can drop the activity from memory by either
    asking it to finish, or simply killing its process.
    When it is displayed again to the user, it must
    be completely restarted and restored to its
    previous state.
Activity Lifecycle
 The following diagram shows the important
 state paths of an Activity. The square
 rectangles represent callback methods you
 can implement to perform operations when
 the Activity moves between states. The
 colored ovals are major states the Activity
 can be in.
Activity
Lifecycle
Activity Lifecycle
   The entire lifecycle of an activity is defined by
    the following Activity methods. All of these are
    hooks that you can override to do appropriate
    work when the activity changes state.
   All activities will implement onCreate(Bundle)
    to do their initial setup; many will also
    implement onPause() to commit changes to
    data and otherwise prepare to stop interacting
    with the user. You should always call up to
    your superclass when implementing these
    methods.
Activity Lifecycle
Activity Lifecycle
   onCreate()

    Called when the activity is first created. This
    is where you should do all of your normal
    static set up: create views, bind data to lists,
    etc. This method also provides you with a
    Bundle containing the activity's previously
    frozen state, if there was one. Always
    followed by onStart().
Activity Lifecycle
   onRestart()

    Called after your activity has been stopped,
    prior to it being started again. Always
    followed by onStart().
Activity Lifecycle
   onStart()

    Called when the activity is becoming visible
    to the user. Followed by onResume() if the
    activity comes to the foreground,or onStop()
    if it becomes hidden.
Activity Lifecycle
   onResume()

    Called when the activity will start interacting
    with the user. At this point your activity is at
    the top of the activity stack, with user input
    going to it. Always followed by onPause().
Activity Lifecycle
   onPause()

    Called when the system is about to start resuming
    a previous activity. This is typically used to commit
    unsaved changes to persistent data, stop
    animations and other things that may be
    consuming CPU, etc. Implementations of this
    method must be very quick because the next
    activity will not be resumed until this method
    returns. Followed by either onResume() if the
    activity returns back to the front, oronStop() if it
    becomes invisible to the user.
Activity Lifecycle
   onStop()

    Called when the activity is no longer visible to
    the user, because another activity has been
    resumed and is covering this one. This may
    happen either because a new activity is being
    started, an existing one is being brought in
    front of this one, or this one is being destroyed.
    Followed by either onRestart() if this activity is
    coming back to interact with the user,
    or onDestroy() if this activity is going away.
Activity Lifecycle
   onDestroy()

    The final call you receive before your activity is
    destroyed. This can happen either because the
    activity is finishing (someone called finish() on
    it, or because the system is temporarily
    destroying this instance of the activity to save
    space. You can distinguish between these two
    scenarios with the isFinishing() method.
Example - Hello, World
   Development
    process for an
    Android app




http://developer.android.com/guide/developing/index.html
Android Design Philosophy

   Applications should be:
       Fast
           Resource constraints: <200MB RAM, slow processor
       Responsive
           Apps must respond to user actions within 5 seconds
       Secure
           Apps declare permissions in manifest
       Seamless
           Usability is key, persist data, suspend services
           Android kills processes in background as needed
Advantages
There are a host of advantages that Google’s
Android will derive from being an open source
software. Some of the advantages include:

• The ability for anyone to customize the Google
  Android platform
• The consumer will benefit from having a wide
  range of mobile applications to choose from
  since the monopoly will be broken by Google
  Android
• Men will be able to customize a mobile
  phones using Google Android platform like
  never before
Advantages

• Features like weather details, opening screen,
  live RSS feeds and even the icons on the
  opening screen will be able to be customized
• As a result of many mobile phones carrying
  Google Android, companies will come up with
  such innovative products like the location
• In addition the entertainment functionalities
  will be taken a notch higher by Google Android
  being able to offer online real time multiplayer
  games
References
   http://developer.android.com/index.html

   10 Types of Devices That Android Is Making
    Better
    http://www.androidauthority.com/android-everywh

More Related Content

What's hot

Threads handlers and async task, widgets - day8
Threads   handlers and async task, widgets - day8Threads   handlers and async task, widgets - day8
Threads handlers and async task, widgets - day8Utkarsh Mankad
 
Tk2323 lecture 11 process and thread
Tk2323 lecture 11   process and threadTk2323 lecture 11   process and thread
Tk2323 lecture 11 process and threadMengChun Lam
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindiappsdevelopment
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorialSynapseindiappsdevelopment
 
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
 
Android Workshop 2013
Android Workshop 2013Android Workshop 2013
Android Workshop 2013Junda Ong
 
Android apps development
Android apps developmentAndroid apps development
Android apps developmentRaman Pandey
 
Multiple Screens
Multiple ScreensMultiple Screens
Multiple Screensgraphitech
 
Tk2323 lecture 6 fragment (new)
Tk2323 lecture 6   fragment (new)Tk2323 lecture 6   fragment (new)
Tk2323 lecture 6 fragment (new)MengChun Lam
 
mDevcon tour 2014 beyondar
mDevcon tour 2014 beyondarmDevcon tour 2014 beyondar
mDevcon tour 2014 beyondarJoan Puig Sanz
 
Using AIR for Mobile Development
Using AIR for Mobile DevelopmentUsing AIR for Mobile Development
Using AIR for Mobile DevelopmentVeronique Brossier
 
02 programmation mobile - android - (activity, view, fragment)
02 programmation mobile - android - (activity, view, fragment)02 programmation mobile - android - (activity, view, fragment)
02 programmation mobile - android - (activity, view, fragment)TECOS
 
Android tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.comAndroid tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.comTIB Academy
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart JfokusLars Vogel
 
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
 

What's hot (20)

Android Basic Components
Android Basic ComponentsAndroid Basic Components
Android Basic Components
 
Android Components
Android ComponentsAndroid Components
Android Components
 
Ppt 2 android_basics
Ppt 2 android_basicsPpt 2 android_basics
Ppt 2 android_basics
 
Threads handlers and async task, widgets - day8
Threads   handlers and async task, widgets - day8Threads   handlers and async task, widgets - day8
Threads handlers and async task, widgets - day8
 
Tk2323 lecture 11 process and thread
Tk2323 lecture 11   process and threadTk2323 lecture 11   process and thread
Tk2323 lecture 11 process and thread
 
Synapseindia android application development tutorial
Synapseindia android application development tutorialSynapseindia android application development tutorial
Synapseindia android application development tutorial
 
Synapseindia android apps development tutorial
Synapseindia android apps  development tutorialSynapseindia android apps  development tutorial
Synapseindia android apps development tutorial
 
Android UI Fundamentals part 1
Android UI Fundamentals part 1Android UI Fundamentals part 1
Android UI Fundamentals part 1
 
Lecture 3 getting active through activities
Lecture 3 getting active through activities Lecture 3 getting active through activities
Lecture 3 getting active through activities
 
Android Workshop 2013
Android Workshop 2013Android Workshop 2013
Android Workshop 2013
 
Android apps development
Android apps developmentAndroid apps development
Android apps development
 
Multiple Screens
Multiple ScreensMultiple Screens
Multiple Screens
 
Tk2323 lecture 6 fragment (new)
Tk2323 lecture 6   fragment (new)Tk2323 lecture 6   fragment (new)
Tk2323 lecture 6 fragment (new)
 
mDevcon tour 2014 beyondar
mDevcon tour 2014 beyondarmDevcon tour 2014 beyondar
mDevcon tour 2014 beyondar
 
QCRI Report
QCRI ReportQCRI Report
QCRI Report
 
Using AIR for Mobile Development
Using AIR for Mobile DevelopmentUsing AIR for Mobile Development
Using AIR for Mobile Development
 
02 programmation mobile - android - (activity, view, fragment)
02 programmation mobile - android - (activity, view, fragment)02 programmation mobile - android - (activity, view, fragment)
02 programmation mobile - android - (activity, view, fragment)
 
Android tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.comAndroid tutorial for beginners-traininginbangalore.com
Android tutorial for beginners-traininginbangalore.com
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart Jfokus
 
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
 

Similar to Android

OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]Yatharth Aggarwal
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _courseDori Waldman
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2Dori Waldman
 
Android application development
Android application developmentAndroid application development
Android application developmentMd. Mujahid Islam
 
Presentation on Android application life cycle and saved instancestate
Presentation on Android application life cycle and saved instancestatePresentation on Android application life cycle and saved instancestate
Presentation on Android application life cycle and saved instancestateOsahon Gino Ediagbonya
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Androidrizki adam kurniawan
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycleKumar
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentAly Abdelkareem
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1Kainda Kiniel Daka
 
Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Amit Saxena
 
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...Padma shree. T
 

Similar to Android (20)

OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _course
 
Dori waldman android _course_2
Dori waldman android _course_2Dori waldman android _course_2
Dori waldman android _course_2
 
Android application development
Android application developmentAndroid application development
Android application development
 
Unit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.pptUnit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.ppt
 
Presentation on Android application life cycle and saved instancestate
Presentation on Android application life cycle and saved instancestatePresentation on Android application life cycle and saved instancestate
Presentation on Android application life cycle and saved instancestate
 
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 12 - Pemrograman Android
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycle
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
 
Android OS
Android OSAndroid OS
Android OS
 
Activity
ActivityActivity
Activity
 
Activity
ActivityActivity
Activity
 
Activity
ActivityActivity
Activity
 
Activity
ActivityActivity
Activity
 
Android os
Android osAndroid os
Android os
 
Android101
Android101Android101
Android101
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1Android Tutorial For Beginners Part-1
Android Tutorial For Beginners Part-1
 
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
ACADGILD:: ANDROID LESSON-How to analyze &amp; manage memory on android like ...
 

Recently uploaded

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Recently uploaded (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

Android

  • 1. Android Natalia Turrubiartes Ramírez José Efrén Muñoz Cabrera Oscar Hernández Barboza
  • 2. What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware and key applications.  The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • 3. Features  Application framework enabling reuse and replacement of components  Dalvik virtual machine optimized for mobile devices  Integrated browser based on the open source WebKit engine  Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES  SQLite for structured data storage
  • 4. Features  Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  GSM Telephony  Bluetooth, EDGE, 3G, and WiFi  Camera, GPS, compass, and accelerometer  Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
  • 5.
  • 7. Android Architecture The components of the Android operating system are:
  • 8. Android Architecture  Applications Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.
  • 9. Android Architecture  Application Framework Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities.
  • 10. Android Architecture  Libraries Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are: System C library, Media Libraries, Surface Manager , LibWebCore, 3D libraries , FreeType and SQLite.
  • 11. Android Architecture  Android Runtime Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently.
  • 12. Android Architecture  Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Activity  An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setContentView(View)  While activities are often presented to the user as full-screen windows, they can also be used in other ways: as floating windows or embedded inside of another activity.
  • 18. Activity There are two methods almost all subclasses of Activity will implement:  onCreate(Bundle) is where you initialize your activity.  onPause() is where you deal with the user leaving your activity. Most importantly, any changes made by the user should at this point be committed.
  • 19. Activity Lifecycle Activities in the system are managed as an activity stack. When a new activity is started, it is placed on the top of the stack and becomes the running activity -- the previous activity always remains below it in the stack, and will not come to the foreground again until the new activity exits. An activity has essentially four states: • If an activity in the foreground of the screen (at the top of the stack), it is active or running.
  • 20. Activity Lifecycle  If an activity has lost focus but is still visible (that is, a new non-full-sized or transparent activity has focus on top of your activity), it is paused.  If an activity is completely obscured by another activity, it is stopped.  If an activity is paused or stopped, the system can drop the activity from memory by either asking it to finish, or simply killing its process. When it is displayed again to the user, it must be completely restarted and restored to its previous state.
  • 21. Activity Lifecycle The following diagram shows the important state paths of an Activity. The square rectangles represent callback methods you can implement to perform operations when the Activity moves between states. The colored ovals are major states the Activity can be in.
  • 23. Activity Lifecycle  The entire lifecycle of an activity is defined by the following Activity methods. All of these are hooks that you can override to do appropriate work when the activity changes state.  All activities will implement onCreate(Bundle) to do their initial setup; many will also implement onPause() to commit changes to data and otherwise prepare to stop interacting with the user. You should always call up to your superclass when implementing these methods.
  • 25. Activity Lifecycle  onCreate() Called when the activity is first created. This is where you should do all of your normal static set up: create views, bind data to lists, etc. This method also provides you with a Bundle containing the activity's previously frozen state, if there was one. Always followed by onStart().
  • 26. Activity Lifecycle  onRestart() Called after your activity has been stopped, prior to it being started again. Always followed by onStart().
  • 27. Activity Lifecycle  onStart() Called when the activity is becoming visible to the user. Followed by onResume() if the activity comes to the foreground,or onStop() if it becomes hidden.
  • 28. Activity Lifecycle  onResume() Called when the activity will start interacting with the user. At this point your activity is at the top of the activity stack, with user input going to it. Always followed by onPause().
  • 29. Activity Lifecycle  onPause() Called when the system is about to start resuming a previous activity. This is typically used to commit unsaved changes to persistent data, stop animations and other things that may be consuming CPU, etc. Implementations of this method must be very quick because the next activity will not be resumed until this method returns. Followed by either onResume() if the activity returns back to the front, oronStop() if it becomes invisible to the user.
  • 30. Activity Lifecycle  onStop() Called when the activity is no longer visible to the user, because another activity has been resumed and is covering this one. This may happen either because a new activity is being started, an existing one is being brought in front of this one, or this one is being destroyed. Followed by either onRestart() if this activity is coming back to interact with the user, or onDestroy() if this activity is going away.
  • 31. Activity Lifecycle  onDestroy() The final call you receive before your activity is destroyed. This can happen either because the activity is finishing (someone called finish() on it, or because the system is temporarily destroying this instance of the activity to save space. You can distinguish between these two scenarios with the isFinishing() method.
  • 33.
  • 34. Development process for an Android app http://developer.android.com/guide/developing/index.html
  • 35. Android Design Philosophy  Applications should be:  Fast  Resource constraints: <200MB RAM, slow processor  Responsive  Apps must respond to user actions within 5 seconds  Secure  Apps declare permissions in manifest  Seamless  Usability is key, persist data, suspend services  Android kills processes in background as needed
  • 36. Advantages There are a host of advantages that Google’s Android will derive from being an open source software. Some of the advantages include: • The ability for anyone to customize the Google Android platform • The consumer will benefit from having a wide range of mobile applications to choose from since the monopoly will be broken by Google Android • Men will be able to customize a mobile phones using Google Android platform like never before
  • 37. Advantages • Features like weather details, opening screen, live RSS feeds and even the icons on the opening screen will be able to be customized • As a result of many mobile phones carrying Google Android, companies will come up with such innovative products like the location • In addition the entertainment functionalities will be taken a notch higher by Google Android being able to offer online real time multiplayer games
  • 38. References  http://developer.android.com/index.html  10 Types of Devices That Android Is Making Better http://www.androidauthority.com/android-everywh

Editor's Notes

  1. The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.