Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries
|
|
- Pierce Hopkins
- 6 years ago
- Views:
Transcription
1 Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries Douglas C. Schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA
2 Learning Objectives in this Part of the Lesson Recognize key core Java libraries that are part of the Android platform 2
3 Learning Objectives in this Part of the Lesson Recognize key core Java libraries that are part of the Android platform Recognize key core Android libraries that are part of the Android platform 3
4 Learning Objectives in this Part of the Lesson Recognize key core Java libraries that are part of the Android platform Recognize key core Android libraries that are part of the Android platform Recognize key native libraries that are part of the Android platform C++/C 4
5 Learning Objectives in this Part of the Lesson Recognize key core Java libraries that are part of the Android platform Recognize key core Android libraries that are part of the Android platform Recognize key native libraries that are part of the Android platform ART Dalvik Virtual Machine Apps use core Java/Android libraries extensively; 5 native libraries not as much
6 Overview of the Android Runtime: Core Java Libraries 6
7 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages C/Java/ JNI ART Dalvik Virtual Machine java lang util io Integer String Thread ArrayList HashMap Vector File FileInputStream FileOutputStream See en.wikipedia.org/wiki/comparison_of_java_and_android_api 7
8 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread C/Java/ JNI ART Dalvik Virtual Machine See developer.android.com/reference/java/lang/thread.html 8
9 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread C/Java/ JNI ART Dalvik Virtual Machine Process A Process B Process C A Java thread is a unit of computation that runs in the context of a process See developer.android.com/reference/java/lang/thread.html 9
10 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread C/Java/ JNI ART Dalvik Virtual Machine Process A Process B Process C Java threads running in a process can communicate with each other via shared objects or message passing See en.wikipedia.org/wiki/thread_(computing) 10
11 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread C/Java/ JNI ART Dalvik Virtual Machine Process A Process B Process C Each Java thread leverages unique state from the underlying Linux kernel thread, e.g., a stack, a program counter, & other registers See en.wikipedia.org/wiki/thread_(computing)#processes. 2C_kernel_threads.2C_user_threads.2C_and_fibers 11
12 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread C/Java/ JNI ART Dalvik Virtual Machine Process A Process B Process C Java dynamic & static objects can be shared across Java threads (i.e., this state is common) See en.wikipedia.org/wiki/thread_(computing)#processes. 2C_kernel_threads.2C_user_threads.2C_and_fibers 12
13 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread Java synchronizers C/Java/ JNI ART Dalvik Virtual Machine Process A Process B Process C e.g., reentrant locks, stamped locks, semaphores, condition objects, phasers, etc. See developer.android.com/reference/java/util/concurrent/package-summary.html 13
14 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread Java synchronizers Java synchronizers are used to prevent race conditions C/Java/ JNI ART Dalvik Virtual Machine Process A Process B Process C See en.wikipedia.org/wiki/race_condition 14
15 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread Java synchronizers Java networking C/Java/ JNI Java network programming mechanisms can exchange data between Android devices & remote servers ART Dalvik Virtual Machine Network See developer.android.com/reference/java/net/httpurlconnection.html 15
16 Android Runtime: Core Java Libraries Android contains many (but not all) core Java libraries in the java.* & javax.* packages, e.g. Java Thread Java synchronizers Java networking Java I/O & files C/Java/ JNI ART Dalvik Virtual Machine Java file mechanisms can store data persistently on Android devices See docs.oracle.com/javase/8/docs/api/java/nio/file/files.html 16
17 Overview of the Android Runtime: Core Android Libraries 17
18 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages C/Java/ JNI ART Dalvik Virtual Machine See 18
19 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency C/Java/ JNI ART Dalvik Virtual Machine See 19
20 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency Handlers, Messages, & Runnables (HaMeR) Operations run in one or more threads & publish their results to the UI thread Looper Message C/Java/ JNI Message Queue Message Message Message Message Message UI Thread (main thread) ART Dalvik Virtual Machine Message Handler Handler Runnable Background Thread A Background Thread B See developer.android.com/training/multiple-threads/communicate-ui.html 20
21 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency Handlers, Messages, & Runnables (HaMeR) AsyncTask Looper C/Java/ JNI Message Queue Message Message Message Message ART Dalvik Virtual Machine Similar to HaMeR framework, but without using threads, handlers, messages, or runnables directly Message Message UI Thread (main thread) Async Task See developer.android.com/reference/android/os/asynctask.html 21
22 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency App components C/Java/ JNI ART Dalvik Virtual Machine 22
23 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency App components Building blocks of mobile apps that provide hooks that Android uses to control an app s lifecycle C/Java/ JNI Activity ART Dalvik Virtual Machine Service Broadcast Receiver Content Provider See developer.android.com/guide/components/fundamentals.html#components 23
24 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency App components Binder IPC framework C/Java/ JNI ART Dalvik Virtual Machine 24
25 Android Runtime: Core Android Libraries Android contains thousands of classes in the android.* packages, e.g. Concurrency App components Binder IPC framework Enables sync & async communication between components on a device C/Java/ JNI ART Dalvik Virtual Machine See elinux.org/android_binder 25
26 Android Runtime: Core Android Libraries The source code for all the core Java & Android libraries is available online See source.android.com 26
27 Overview of Android Native C/C++ Libraries 27
28 Android Native C/C++ Libraries C++/C Although Android apps are written using Java APIs, implementations of these APIs are often written in C/C++ Performance Productivity Goal is to enhance system performance 28w/out sacrificing developer productivity
29 Android Native C/C++ Libraries C++/C Although Android apps are written using Java APIs, implementations of these APIs are often written in C/C++ Java & C/C++ are combined via the Java Native Interface (JNI) See developer.android.com/training/articles/perf-jni.html 29
30 Android Native C/C++ Libraries C++/C Although Android apps are written using Java APIs, implementations of these APIs are often written in C/C++ Java & C/C++ are combined via the Java Native Interface (JNI) JNI defines a standard way for managed Java code to interact with native code written in C/C++ 30
31 Android Native C/C++ Libraries C++/C Android s Native Development Kit (NDK) allows the implementation of apps & services using native C/C++ code See developer.android.com/ndk 31
32 Android Native C/C++ Libraries C++/C Android s Native Development Kit (NDK) allows the implementation of apps & services using native C/C++ code Using the NDK on portions of code can help enhance performance by minimizing latency, maximizing throughput, & conserving key system resources Resist the urge to develop all 32of your apps using the NDK!
33 Android Native C/C++ Libraries C++/C Android s Native Development Kit (NDK) allows the implementation of apps & services using native C/C++ code Using the NDK on portions of code can help enhance performance by minimizing latency, maximizing throughput, & conserving key system resources It can also be used to integrate existing C/C++ libraries into Android apps 33
34 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Android native libraries are open source 34 & often have Java wrapper facades
35 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Enables developers to write native 35 system services for Android
36 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Composites 2D & 3D graphic 36 layers from multiple apps
37 Android Native C/C++ Libraries C++/C System C library bionic libc Surface Manager display management Media Framework audio/video streaming FreeType library for rendering fonts Webkit web browser engine OpenGL ES, SGL graphics engines SQLite relational database engine SSL secure sockets layer Supports audio-video streaming 37 in the background
38 Android Native C/C++ Libraries C++/C System C library bionic libc Surface Manager display management Media Framework audio/video streaming FreeType library for rendering fonts Webkit web browser engine OpenGL ES, SGL graphics engines SQLite relational database engine SSL secure sockets layer Renders bitmap 38& vector fonts
39 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Framework used on mobile & non-mobile 39 platforms for web browsing
40 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Supports 2D & 3D vector graphics, 40e.g., often used for gaming apps
41 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Relational database engine that performs 41 CRUD operations on persistent data
42 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Ensures confidentiality & integrity for 42web interactions (e.g., e-commerce)
43 Android Native C/C++ Libraries C++/C System C library Webkit bionic libc web browser engine Surface Manager OpenGL ES, SGL display management graphics engines Media Framework SQLite audio/video streaming relational database engine FreeType SSL library for rendering fonts secure sockets layer Native C/C++ libraries use non-java concurrency 43 libraries, e.g., POSIX pthreads
44 End of Infrastructure Middleware (Part 3): the Android Runtime Core & Native Libraries 44
Benefits of Concurrency in Java & Android: Program Structure
Benefits of Concurrency in Java & Android: Program Structure Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University
More informationOverview of Java Threads (Part 2)
Overview of Java Threads (Part 2) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA Learning
More informationAn Introduction to Android. Jason Chen Developer Advocate Google I/O 2008
An Introduction to Android Jason Chen Developer Advocate Google I/O 2008 Background What is Android? Latest News 4,000,000,000 Internet and Mobile Phone Users, Worldwide 3,000,000,000 2,000,000,000 1,000,000,000
More informationOverview of Layered Architectures
Overview of ed Architectures Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University Nashville,
More informationAnother difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.
9. Android is an open-source operating system for mobile devices. Nowadays, it has more than 1.4 billion monthly active users (statistic from September 2015) and the largest share on the mobile device
More informationAndroid Ecosystem and. Revised v4presenter. What s New
Android Ecosystem and Revised v4presenter What s New Why Mobile? 5B 4B 3B 2B 1B Landlines PCs TVs Bank users Mobiles 225M AOL 180M 135M 90M 45M 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Quarters
More informationInfrastructure Middleware (Part 1): Hardware Abstraction Layer (HAL)
Infrastructure Middleware (Part 1): Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA
More informationIntroduction. Lecture 1. Operating Systems Practical. 5 October 2016
Introduction Lecture 1 Operating Systems Practical 5 October 2016 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
More informationMobile and Ubiquitous Computing: Android Programming (part 1)
Mobile and Ubiquitous Computing: Android Programming (part 1) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si The World of Android The Android Platform A mobile operating
More informationAndroid Overview. Most of the material in this section comes from
Android Overview Most of the material in this section comes from http://developer.android.com/guide/ Android Overview A software stack for mobile devices Developed and managed by Open Handset Alliance
More informationLecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.
CSCE 315: Android Lectures (1/2) Dr. Jaerock Kwon App Development for Mobile Devices Jaerock Kwon, Ph.D. Assistant Professor in Computer Engineering App Development for Mobile Devices Jaerock Kwon, Ph.D.
More informationAndroid App Development. Ahmad Tayeb
Android App Development Ahmad Tayeb Ahmad Tayeb Lecturer @ Department of Information Technology, Faculty of Computing and Information Technology, KAU Master degree from Information Sciences and Technologies,
More informationOverview of Java Threads (Part 3)
Overview of Java Threads (Part 3) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA Learning
More informationProduced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology
Mobile Application Development Produced by David Drohan (ddrohan@wit.ie) Department of Computing & Mathematics Waterford Institute of Technology http://www.wit.ie Android Anatomy Android Anatomy 2! Agenda
More informationINTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY
INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK A REVIEW ON THE ARCHITECTURE OF ANDROID IN SMART PHONES RAVNEET KAUR T. BAGGA 1,
More informationAndroid App Development
Android App Development Outline Introduction Android Fundamentals Android Studio Tutorials Introduction What is Android? A software platform and operating system for mobile devices Based on the Linux kernel
More informationThe Java Executor (Part 1)
The Java Executor (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA Learning
More informationOverview of Frameworks: Part 3
: Part 3 d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282 Principles of Operating Systems II Systems
More informationAndroid Internals and the Dalvik VM!
Android Internals and the Dalvik VM! Adam Champion, Andy Pyles, Boxuan Gu! Derived in part from presentations by Patrick Brady, Dan Bornstein, and Dan Morrill from Google (http://source.android.com/documentation)!
More informationLecture 1 - Introduction to Android
Lecture 1 - Introduction to Android This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/
More informationAndroid App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore
Android App Development Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore Mobile devices (e.g., smartphone, tablet PCs, etc.) are increasingly becoming an essential part of human life
More informationAndroid is a software stack for mobile devices and comprises middleware, operating system and core
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:hyb3.5:hrte:sdk Android Outline Android is a software stack for mobile devices and comprises middleware, operating system and core applications.
More informationJava 8 Parallel ImageStreamGang Example (Part 3)
Java 8 Parallel ImageStreamGang Example (Part 3) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt
More informationAndroid Programming in Bluetooth Cochlea Group
Android Programming in Bluetooth Cochlea Group Zijian Zhao Abstract: My project is mainly android programming work in the Bluetooth Cochlea Group. In this report I will first introduce the background of
More informationJava Barrier Synchronizers: CountDownLatch (Part 1)
Java Barrier Synchronizers: CountDownLatch (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville,
More informationAndroid Software Development Kit (Part I)
Android Software Development Kit (Part I) Gustavo Alberto Rovelo Ruiz October 29th, 2010 Look & Touch Group 2 Presentation index What is Android? Android History Stats Why Andriod? Android Architecture
More informationAndroid Development Tutorial. Yi Huang
Android Development Tutorial Yi Huang Contents What s Android Android architecture Android software development Hello World on Android More 2 3 What s Android Android Phones Sony X10 HTC G1 Samsung i7500
More informationSoftware Development & Education Center ANDROID. Application Development
Software Development & Education Center ANDROID Application Development Android Overview and History ANDROID CURRICULUM How it all got started Why Android is different (and important) Android Stack Overview
More informationIntroduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.
Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 3 Applications: A Quick Glimpse
More informationios vs Android By: Group 2
ios vs Android By: Group 2 The ios System Memory Section A43972 Delta Core OS Layer Core Services Layer Media Layer CoCoa Touch Layer Memory Section A43972 Delta Aaron Josephs Core OS Layer - Core OS has
More informationLecture 4 Native libraries
Lecture 4 Native libraries This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send
More informationJava Semaphore (Part 1)
Java Semaphore (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA Learning Objectives
More informationSHWETANK KUMAR GUPTA Only For Education Purpose
Introduction Android: INTERVIEW QUESTION AND ANSWER Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It
More informationMobile Computing. Introduction to Android
Mobile Computing Introduction to Android Mobile Computing 2011/2012 What is Android? Open-source software stack for mobile devices OS, middleware and key applications Based upon a modified version of the
More informationAndroid App Development
Android App Development Course Contents: Android app development Course Benefit: You will learn how to Use Advance Features of Android with LIVE PROJECTS Original Fees: 15000 per student. Corporate Discount
More informationANDROID SYLLABUS. Advanced Android
Advanced Android 1) Introduction To Mobile Apps I. Why we Need Mobile Apps II. Different Kinds of Mobile Apps III. Briefly about Android 2) Introduction Android I. History Behind Android Development II.
More informationAndroid OS and Power Architecture
June 24, 2010 OS and Power Architecture FTF-NET-F0677 Phil Brownfield Software Product Manager, NMG Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC,
More informationIntroduction to Android
Introduction to Android http://myphonedeals.co.uk/blog/33-the-smartphone-os-complete-comparison-chart www.techradar.com/news/phone-and-communications/mobile-phones/ios7-vs-android-jelly-bean-vs-windows-phone-8-vs-bb10-1159893
More informationJava Barrier Synchronizers: CyclicBarrier (Part 1)
Java Barrier Synchronizers: CyclicBarrier (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville,
More informationOperating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services
Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone
More informationAndroid. Operating System and Architecture. Android. Screens. Main features
Android Android Operating System and Architecture Operating System and development system from Google and Open Handset Alliance since 2008 At the lower level is based on the Linux kernel and in a higher
More informationJava ReentrantLock (Part 1)
Java ReentrantLock (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA Learning
More informationAndroid on Tizen. Moscow State University
Android on Tizen 1 Moscow State University Presenter Andrey Shitov PhD Student at Lomonosov Moscow State University (MSU), Computational Mathematics and Cybernetics 2 Compilers, Virtual Machines, System
More informationIntroduction to Android Application Development. Mike Kvintus Principal Engineer JDSU
Introduction to Android Application Development Mike Kvintus Principal Engineer JDSU Agenda Android Background What is Android? Android Fundamentals Getting Started with App Development Demo Tips/Links
More informationAndroid Overview. Francesco Mercaldo, PhD
Android Overview Francesco Mercaldo, PhD Post-Doctoral researcher Corso di Sicurezza delle Reti e dei Sistemi Software Università degli Studi del Sannio (fmercaldo@unisannio.it) Things are not always what
More informationThe Java ExecutorService (Part 1)
The Java ExecutorService (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA Learning
More informationChapter 4: Threads. Operating System Concepts. Silberschatz, Galvin and Gagne
Chapter 4: Threads Silberschatz, Galvin and Gagne Chapter 4: Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Linux Threads 4.2 Silberschatz, Galvin and
More informationPorting mobile web application engine to the Android platform
2010 10th IEEE International Conference on Computer and Information Technology (CIT 2010) Porting mobile web application engine to the Android platform Yonghong Wu, Jianchao Luo, Lei Luo School of Computer
More informationChapter 1 Hello, Android
Chapter 1 Hello, Android OPEN HANDSET ALLIANCE OPEN HANDSET ALLIANCE OPEN HANDSET ALLIANCE A commitment to openness, a shared vision for the future, and concrete plans to make the vision a reality. To
More informationANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi
ANDROID NATIVE APP: INTRODUCTION TO ANDROID Roberto Beraldi Role of an operating system APPLICATIONS OPERATING SYSTEM CPU MEMORY DEVICES Android = OS + Middleware Based on Linux Not just another distribution.
More informationAndroid Fundamentals - Part 1
Android Fundamentals - Part 1 Alexander Nelson September 1, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Projects Project 1 due Wednesday, September 13th
More informationCS 450 Operating System Week 4 Lecture Notes
CS 450 Operating System Week 4 Lecture Notes Reading: Operating System Concepts (7 th Edition) - Silberschatz, Galvin, Gagne Chapter 5 - Pages 129 147 Objectives: 1. Explain the main Objective of Threads
More informationEfficient Android Threading
.... - J.', ' < '.. Efficient Android Threading Anders Göransson Beijing Cambridge Farnham Köln Sebastopol Tokyo O'REILLY Table of Contents Preface xi 1. Android Components and the Need for Multiprocessing
More informationSD Module- Android Programming
Assignment No. 1 SD Module- Android Programming R (2) C (4) V (2) T (2) Total (10) Dated Sign Title: Download Install and Configure Android Studio on Linux /windows platform. Problem Definition: Install
More informationATC Android Application Development
ATC Android Application Development 1. Android Framework and Android Studio b. Android Platform Architecture i. Linux Kernel ii. Hardware Abstraction Layer(HAL) iii. Android runtime iv. Native C/C++ Libraries
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationJava 8 Parallel Stream Internals (Part 2)
Java 8 Parallel Stream Internals (Part 2) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt
More informationMobile and Wireless Systems Programming
to Android Android is a software stack for mobile devices that includes : an operating system middleware key applications Open source project based on Linux kernel 2.6 Open Handset Alliance (Google, HTC,
More informationExploring Chrome Internals. Darin Fisher May 28, 2009
Exploring Chrome Internals Darin Fisher May 28, 2009 Simple interface, powerful core Modern browsers resemble the cooperatively multi-tasked operating systems of the past. Guiding sentiment, 2006 Goals
More informationAndroid Services & Local IPC: The Command Processor Pattern (Part 1)
: The Command Processor Pattern (Part 1) d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University Nashville,
More informationNDK OVERVIEW OF THE ANDROID NATIVE DEVELOPMENT KIT
ANDROID NDK OVERVIEW OF THE ANDROID NATIVE DEVELOPMENT KIT Peter R. Egli INDIGOO.COM 1/16 Contents 1. What you can do with NDK 2. When to use native code 3. Stable APIs to use / available libraries 4.
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationLast Class: CPU Scheduling. Pre-emptive versus non-preemptive schedulers Goals for Scheduling: CS377: Operating Systems.
Last Class: CPU Scheduling Pre-emptive versus non-preemptive schedulers Goals for Scheduling: Minimize average response time Maximize throughput Share CPU equally Other goals? Scheduling Algorithms: Selecting
More informationIntroduction to Android
Introduction to Android Ambient intelligence Alberto Monge Roffarello Politecnico di Torino, 2017/2018 Some slides and figures are taken from the Mobile Application Development (MAD) course Disclaimer
More informationAbstract. 1. Introduction
Creating A Video Streamer App On Android Mobile Phones M.Adimoolam 1, M.Gunashanthi 2, K.Hemachandran 3 Information Technology, Christ college of Engineering and Technology, Puducherry. Abstract Android
More informationAndroid Application Development Course Code: AND-401 Version 7 Duration: 05 days
Let s Reach For Excellence! TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com
More informationAndroid Internals. Lecture 1. Android and Low-level Optimizations Summer School. 13 July 2015
Android Internals Lecture 1 Android and Low-level Optimizations Summer School 13 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this
More informationRequired Core Java for Android application development
Required Core Java for Android application development Introduction to Java Datatypes primitive data types non-primitive data types Variable declaration Operators Control flow statements Arrays and Enhanced
More informationArchitectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University
Architectural Support for Operating Systems Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic services of OS Basic computer system
More informationQt for Device Creation
Qt for Device Creation Speeding up ROI & Time-to-Market with Qt Andy Nichols Software Engineer, Qt R&D, Oslo Overview Problems facing Device Creators How Qt for Device Creation addresses those Problems
More informationFour Components of a Computer System
Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources
More informationOverview of Advanced Java 8 CompletableFuture Features (Part 3)
Overview of Advanced Java 8 CompletableFuture Features (Part 3) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated
More informationCS420: Operating Systems
Threads James Moscola Department of Physical Sciences York College of Pennsylvania Based on Operating System Concepts, 9th Edition by Silberschatz, Galvin, Gagne Threads A thread is a basic unit of processing
More informationChapter 2: System Structures
Chapter 2: Operating System Structures Operating System Services System Calls Chapter 2: System Structures System Programs Operating System Design and Implementation Operating System Structure Virtual
More informationOverview of Java 8 Parallel Streams (Part 1)
Overview of Java 8 Parallel s (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University
More informationInteroperation of tasks
Operating systems (vimia219) Interoperation of tasks Tamás Kovácsházy, PhD 4 th topic, Implementation of tasks, processes and threads Budapest University of Technology and Economics Department of Measurement
More informationMaking use of Android
What else can you do with Android? Chris Simmonds, 2net Limited Class TU-3.2 Copyright 2010, 2net Limited 1 Overview Creating a project Writing the app Writing native code libraries Other native code 2
More informationPOSIX Abstractions in Modern Operating Systems: The Old, the New, and the Missing
POSIX Abstractions in Modern Operating Systems: The Old, the New, and the Missing Vaggelis Atlidakis, Jeremy Andrus, Roxana Geambasu, Dimitris Mitropoulos, and Jason Nieh Columbia University Motivating
More informationAndroid framework. How to use it and extend it
Android framework How to use it and extend it Android has got in the past three years an explosive growth: it has reached in Q1 2011 the goal of 100M of Activations world wide with a number of daily activations
More informationApril 4-7, 2016 Silicon Valley
April 4-7, 2016 Silicon Valley TEGRA PLATFORMS GAMING DRONES ROBOTICS IVA AUTOMOTIVE 2 Compile Debug Profile Trace C/C++ NVTX NVIDIA Tools extension Getting Started CodeWorks JetPack Installers IDE Integration
More informationProgramming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna
Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java
More informationUNIT:2 Introduction to Android
UNIT:2 Introduction to Android 1 Syllabus 2.1 Overview of Android 2.2 What does Android run On Android Internals? 2.3 Android for mobile apps development 2.5 Environment setup for Android apps Development
More informationOverview of Advanced Java 8 CompletableFuture Features (Part 2)
Overview of Advanced Java 8 CompletableFuture Features (Part 2) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated
More informationAndroid PC Splash Brothers Design Specifications
Android PC Splash Brothers Design Specifications Contributors: Zach Bair Taronish Daruwalla Joshua Duong Anthony Nguyen 1. Technology background The Android x86 project has been in existence since 2011.
More informationINF 212 ANALYSIS OF PROG. LANGS CONCURRENCY. Instructors: Crista Lopes Copyright Instructors.
INF 212 ANALYSIS OF PROG. LANGS CONCURRENCY Instructors: Crista Lopes Copyright Instructors. Basics Concurrent Programming More than one thing at a time Examples: Network server handling hundreds of clients
More informationOverview of Java s Support for Polymorphism
Overview of Java s Support for Polymorphism Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt
More informationProgramming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna
Programming with Android: System Architecture Luca Bedogni Marco Di Felice Dipartimento di Scienze dell Informazione Università di Bologna Outline Android Architecture: An Overview Android Dalvik Java
More informationAndroid. (XKE Mars 2009) Erwan Alliaume.
Android (XKE Mars 2009) Erwan Alliaume ealliaume(*at*)xebia(*dot*)fr http://www.xebia.fr http://blog.xebia.fr History August 2005 Google acquires Android November 2007 Open Handset Alliance announcement
More informationAndroid - open source mobile platform
Android - open source mobile platform Alexander Schreiber http://www.thangorodrim.de/ Chemnitzer Linux-Tage 2009 Alexander Schreiber Android - open source mobile
More informationDROID. By S.Gokulakrishnan AP/CSE SCSVMV
Mobile Applicatio on Development with AND DROID By S.Gokulakrishnan AP/CSE SCSVMV The Players Android Open source mobile OS developed ny the Open Handset Alliance led by Google. Based on Linux 2.6 kernel
More informationBringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse
Bringing it all together: The challenge in delivering a complete graphics system architecture Chris Porthouse System Integration & the role of standards Content Ecosystem Java Execution Environment Native
More informationMobile Computing. Juha-Matti Liukkonen, Nov 17, 2010
Mobile Computing Juha-Matti Liukkonen, Nov 17, 2010 1 Contents Mobile Computing revolution Structural impact of device evolution A look into Mobile Linux 2 Mobile Computing revolution 3 Pocketable power
More informationKick Start your Embedded Development with Qt
Kick Start your Embedded Development with Qt Increasing Return On Investment & shortening time-to-market Nils Christian Roscher-Nielsen Product Manager, The Qt Company Overview Problems facing Device Creators
More informationCS260 Intro to Java & Android 04.Android Intro
CS260 Intro to Java & Android 04.Android Intro Winter 2015 Winter 2015 CS260 - Intro to Java & Android 1 Android - Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample
More informationProcesses and Threads. Processes: Review
Processes and Threads Processes and their scheduling Threads and scheduling Multiprocessor scheduling Distributed Scheduling/migration Lecture 3, page 1 Processes: Review Multiprogramming versus multiprocessing
More informationUnderstanding Storage I/O Behaviors of Mobile Applications. Louisiana State University Department of Computer Science and Engineering
Understanding Storage I/O Behaviors of Mobile Applications Jace Courville jcourv@csc.lsu.edu Feng Chen fchen@csc.lsu.edu Louisiana State University Department of Computer Science and Engineering The Rise
More informationIntroduction to bada 2.0
Introduction to bada 2.0 Contents History, Ecosystem, Architecture Basic Feature User Interactive Feature Service Oriented Feature Introduction We will be looking at the whole bada system in brief here.
More informationJava Monitor Objects: Synchronization (Part 1)
Java Monitor Objects: Synchronization (Part 1) Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee,
More informationAndroid. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1
Android Lesson 1 1 1 1.0 to Android 2 Contents Android is an ecosystem Android platform architecture Android Versions Challenges of Android app development App fundamentals 3 Android Ecosystem 4 What is
More informationExternal vs. Internal Iteration in Java 8
External vs. Internal Iteration in Java 8 Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt
More information