Android os core concepts
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

Android OS : Core Concepts PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on
  • Presentation posted in: General

Android OS : Core Concepts. Dr. Jeyakesavan Veerasamy Sr. Lecturer University of Texas at Dallas [email protected] Agenda. Introduction to Android devices Environment overview Android concepts Application components Activities, Services, Content providers, Broadcast receivers

Download Presentation

Android OS : Core Concepts

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Android os core concepts

Android OS : Core Concepts

Dr. Jeyakesavan Veerasamy

Sr. Lecturer

University of Texas at Dallas

[email protected]


Agenda

Agenda

  • Introduction to Android devices

  • Environment overview

  • Android concepts

  • Application components

    • Activities, Services, Content providers, Broadcast receivers

  • “Hello” application

  • Summary


Development environment

Development Environment

  • Java Development Kit (JDK)

  • Eclipse IDE

  • Android Development Tools (ADT) plug-in

  • SDK starter package

    • Platforms(1.0, 2.0, 3.0, 4.1, …)

    • Tools (debug, …)

AndroidSDK

Eclipse

ADTPlug-in

JDK

Reference: http://developer.android.com/sdk/installing.html


Development process for android applications

Development Process for Android Applications


Android architecture

Android Architecture


Android runtime environment

Android Runtime Environment

  • Dalvik VM for each application

  • common Linux kernel

x.class

y.class

APP

APP

VM

JRE

VM

Linux kernel


Basics unix security

Basics: UNIX security

  • compare it with Windows security


Application security

Application Security

  • Android operating system is based on multi-user Linux system.

  • Each application is treated as a different user. Each application uses unique Linux user ID.

  • Every application runs as a Linux process.


Application security1

Application security …

  • It's possible to arrange for two applications to share the same Linux user ID, in which case they are able to access each other's files – can run as same Linux process and share the same VM (applications use same certificate).

  • An application can request permission to access device data such as the user's contacts, SMS messages, the mountable storage (SD card), camera, Bluetooth, and more. All application permissions must be granted by the user at install time.


Processes threads

Processes & Threads

  • Every application runs in its own process and all components of the application run in that process, by default -- UI thread

  • Any slow, blocking operations in an activity should be done in a new thread, to avoid slowing down the user interface.

    • If application does not respond in 5 seconds, "application not responding" (ANR) dialog appears.


Process lifecycle importance hierarchy

Process lifecycle: Importance Hierarchy

  • Foreground process

  • Visible process

  • Service process

  • Background process

  • Empty process

    “Lower importance” tasks may be killed by Android – why?

    How to select a lucky one from a pool?


Android os core concepts

IPC

  • Remote procedure calls (RPCs)


Android application components

Android Application components

  • Activities - front-end UI screens

  • Services – back-end support

  • Content providers – application data

    • SQLite, web or SD card

  • Broadcast receivers – handle system events


Activitating components intent

Activitating Components: Intent


Basics data exchange

Basics: Data Exchange

A2

A1

A4

A3


Basics data exchange1

Basics: Data Exchange

  • Binary or text data  XML or JSON …

  • Independent data checkers tools available.

A2

A1

A4

A3


Sample xml data file

Sample XML data file

Text format:

Belgian Waffles, 5.95, two of our famous Belgian Waffles with plenty of real … , 650

Strawberry Belgian Waffles, 7.95, light Belgian waffles covered with …., 900


Application info manifest file

Application info: Manifest file

  • Declare components

  • Declare application requirements

  • Application Resources?


Activity lifecycle 3 states

Activity lifecycle: 3 states

  • Resumed or Running

  • Paused

  • Stopped


Android os core concepts

State machine


Android os core concepts

Code


Service lifecycle

Service Lifecycle


User interface design

User Interface Design


Xml layouts

XML Layouts

  • Declare UI elements in XML. Android provides a straightforward XML vocabulary that corresponds to the View classes and subclasses.

  • Instantiate layout elements at runtime. Your application can create View and ViewGroup objects (and manipulate their properties) programmatically.


Application resources

Application Resources


Building running android app

Building & running Android app


Program to say hello

Program to say “Hello!”


Native development kit ndk

Native Development Kit (NDK)

  • Use C/C++ for development

  • primarily for performance critical components


Summary

Summary

  • Clean, sophsticated, yet reasonably simple.

  • Android requires strong Java skills – heavy use of derived classes (inheritance).

  • Development: Java code & XML definitions

  • Reference: http://developer.android.com/sdk/installing.html

  • Install Android development environment and play with a few examples or try your own ideas!

  • Marketable skill in the industry!


More references

More references

  • http://www.vogella.de/articles/AndroidIntent/article.html

  • http://developer.android.com/resources/browser.html?tag=sample


Questions answers jeyv@utdallas edu

Questions & [email protected]


  • Login