GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Size: px
Start display at page:

Download "GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS"

Transcription

1 Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system, middleware, and applications for the development of devices employing wireless communications. This paper takes a look at the design of Android, how it works, and how it may be deployed to accelerate the development of a connected device. Along with basic guidelines to getting started with Android, the Android SDK, its available tools and resources are reviewed and some consideration is given to applications for Android beyond conventional mobile handsets such as medical devices, consumer electronics and military/ aerospace systems. Author: Colin Walls Embedded Software Technologist Embedded Systems Division Mentor Graphics Corporation 8005 SW Boeckman Road Wilsonville, OR USA

2 WHAT IS ANDROID? It is easy to think of Android as being yet another operating system for high-end mobile phones. It is really a software platform, rather than just an OS, that has the potential to be utilized in a much wider range of devices. In practical terms, Android is an application framework on top of Linux, which facilitates its rapid deployment in many domains. A key to its likely success is licensing. Android is open source and a majority of the source is licensed under Apache2, allowing adopters to add additional proprietary value in the Android source without source distribution requirements. Another way to appreciate the significance of Android is to take a historical perspective. In the early days of PCs, the operating system was DOS. This presented some interesting challenges to application developers, as DOS provided a minimal number of services. The result was that every application needed a complete framework to provide the full functionality that was required. For example, a word processing program would need to have a driver for every imaginable printer. This was a major headache for developers and a serious ongoing maintenance problem. The solution came in the early 1990s with the release of Windows. Or, rather, the development of Windows 3.0. Although we think of Windows as being primarily a GUI, it really is much more than that. Nowadays, a word processor just talks to a logical printer. The manufacturer of the printer hardware simply needs to provide a Windows driver and everything works together properly. In some respects, a similar situation exists today when developers want to deploy Linux for embedded applications. Android is the enabler for a broad application developer base, a complete stack on top of the Linux kernel. ANDROID HISTORY Although Android is quite new technology, it does have a history. It really began in 2005 when Google acquired Android Inc., which started rumors that Google had interests in mobile telephony. The Android product was announced, along with the formation of the Open Handset Alliance in The following year saw the first Android phone launched and the declaration of Android code as being open source. Even though Android was created for handsets, many developers began to see a great opportunity to develop other kinds of innovative devices on the Android platform. Significant optimizations and additions would be required, however, to optimize Android for other connected devices. Late in 2008, a company called Embedded Alley Solutions of San Jose, California, took on the challenge of moving Android beyond phones. In July 2009, Mentor Graphics Corporation acquired Embedded Alley. Another significant step along the Android history timeline. 2

3 ANDROID ARCHITECTURE An Android system is a stack of software components. At the bottom of the stack is Linux Linux 2.6 with approximately 115 patches. This provides basic system functionality like process and memory management and security. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware. Figure 1: High-level look at the Android system architecture. On top of Linux is a set of libraries including bionic (the Google libc), media support for audio and video, graphics and a lightweight database, which is a useful repository for storage and sharing of application data. A key component of an Android system is the runtime the Dalvik VM. This is not strictly a Java virtual machine. It was designed specifically for Android and is optimized in two key ways. It is designed to be instantiated multiple times each application has its own private copy running in a Linux process. It is also designed to be very memory efficient, being register based (instead of being stack based like most Java VMs) and using its own bytecode implementation. The Dalvik VM makes full use of Linux for memory management and multi-threading, which is intrinsic in the Java language. It is important to appreciate that Android is not a Java virtual machine, but does use the Java language. The Application Framework provides many higher-level services to applications in the form of Java classes. This will vary in its facilities from one implementation to another. 3

4 A key Android capability is the sharing of functionality. Every application can export functionality for use by other applications in the system, thus promoting straightforward software re-use and a consistent user experience. At the top of the Android software stack are applications. A number are supplied as standard. As mentioned, each application may also expose some of its functionality for use by others. For example, the message sending capability of the SMS application can be used by another application to send text messages. The supplied applications are not particularly special all Android applications have the same status in a given system. Although there are other options, Android applications are commonly implemented in Java utilizing the Dalvik VM. Not only is the Dalvik highly efficient, but it also accommodates interoperability which results in application portability. While all of these attributes are attractive, many developers will also want their C/C++ applications to run on an Android-based device. APPLICATION DEVELOPMENT - DEVELOPMENT ENVIRONMENT The standard Android development environment from Google is, as you might expect, Eclipse based, using a plug-in to provide the necessary facilities. You need to define your target configuration by specifying an Android Virtual Device. You can then execute code on either the host-based emulator or a real device, which is normally connected via USB. This environment only supports Android development on ARM-based target devices. Recently, however, Mentor Graphics and others have ported Android to other processor architectures like MIPS. - PROGRAMMING MODEL An Android application consists of a number of resources which are bundled into an archive an Android package. Programs are generally written in Java, built using the standard Java tools, and then the output file is processed to generate specific code for the Dalvik VM. Each application runs in its own Linux process an instantiation of the Dalvik VM which protects its code and data from other applications. Of course, there are mechanisms for applications to transfer, exchange, and share data. An application is a set of components which are instantiated and run as required. There is not really an entry point or main() function. There are four types of application component: activities, services, broadcast receivers, and content providers. An Activity is a functional unit of the application, which may be invoked by another activity. It has a user interface of some form. An application may incorporate a number of activities. One activity may be nominated as the default which means that it may be directly executed by the user. A Service is similar to an activity, except that it runs in the background without a UI. An example of a service might be a media player that plays music while the user performs other tasks. 4

5 Broadcast Receivers simply respond to broadcast messages from other applications or from the system. For example, it may be useful for the application to know when a picture has been taken. This is the kind of event that may result in a broadcast message. A Content Provider supplies data from one application to others on request. Such requests are handled by the methods of the ContentResolver class. The data may be stored in the file system, the database or somewhere else entirely. When you develop an Android application, you need to describe it to the system and this is achieved by means of a manifest file. This is an XML file called AndroidManifest.xml which is stored in the root folder of the application s file system. This outline example of a manifest file includes the definition of a single activity called MyActivity: <?xml version="1.0" encoding="utf-8"?> <manifest... > <application... > <activity android:name="com.example.project.myactivity"... > </activity>... </application> </manifest> When an Android application wishes to obtain some functionality from another application or from the system, it can issue an Intent. This is an asynchronous message that is used to activate an activity, service, or broadcast receiver. For an activity or service, the specific action and location of data is included. Although an intent may include the specific activity required, it can be more generalized and the request resolved by the system. This mechanism is governed by Intent Filters. These filters specify what kind of intents the activities and services of an application can handle. They are described in the manifest file, thus: <application... > <activity android:name="com.example.project.myactivity"... > <intent-filter... > <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity>... </application> 5

6 ANDROID DEVELOPMENT Until very recently, Android deployment has been focused on mobile handsets. This was Google s target market and the available software IP and development tools are designed and configured with this in mind. The potential for Android is enormous in other market areas anywhere that sophisticated software, including connectivity and a user interface, encapsulates the functionality of a device. Consumer, telecom, automotive, medical, and home applications are all attractive candidates for the deployment of Android. However, there are challenges in moving away from mobile handsets. Having a cool solution is great, but it is not useful unless it solves a real world problem. The challenge with electronic devices going forward is connectivity and interoperability. Android is well placed to address these issues. The Mentor Graphics approach to enabling Android to reach a wider market is to bring three key attributes to bear on the issue: the supply of development tools, software IP, and professional services. The goal is to take Android and create specific editions, tailored to various markets. MENTOR GRAPHICS SUPPORT FOR ANDROID In July 2009, Mentor Graphics announced the acquisition of Embedded Alley. This company, founded by specialists in open software, brings extensive expertise in embedded Linux and Android, which complements Mentor s existing competency in hard real time operating systems. Underpinning the Embedded Alley approach is a clear commitment to focus on the needs of the customer, enabling them to leverage open software to address their specific requirements. As mentioned previously, Android has been successfully deployed in the mobile handset market. To expand into other markets, investment is required in order to port Android to other CPUs and provide drivers etc. for new peripheral devices. This is where Mentor Graphics comes in. Android lends itself to some specific applications: Handheld media players are not too far removed from mobile handsets and are well suited to Android. Now that digital video is well established around the world and with Internet connectivity becoming common, Android offers a good mix of capabilities for such applications. In cars and other road vehicles, Android seems logical for infotainment devices, such as satellite navigation. But it could also find a place in smart instrumentation. Medical devices are demanding applications, where ease of use and connectivity are key requirements. Again Android can score here. 6

7 Around the home, new electronic devices are appearing regularly and, again, connectivity and a good user interface are top priorities. The computing power used in industrial applications is increasing all the time. Operator safety is critical, which demands an intuitive user interface. And, once again, connectivity is essential. Figure 2: A more detailed look at the Android development system. With reference to the Android system diagram above, the requirements for specific attention can be identified: It is necessary to prepare Linux for a particular target. It also needs to be made Android-ready, which necessitates the careful application of numerous patches. Industry-specific drivers are also a likely requirement. The Dalvik VM needs to be ported to new CPUs and SoCs. It must be carefully tuned, as it is critical to application performance. The libraries need to be ported and optimized. Also, additional components will be needed for specific industries. Likewise the application framework. And last, developers need to be supported with writing new applications in Java for Android, and to allow new or existing C/C++ applications to run on their new Android-based device. The Development System for Android-based Devices from Mentor Graphics is designed to address these goals. It includes the latest runtime and libraries optimized for specific CPUs. There is support for the development of 7

8 custom board ports and drivers, along with customization of the application framework and the emulator. The development system is Eclipse based and it is a core philosophy to align with a customer s working practices, not to change them unnecessarily. The goal is to create reproducible, high quality code to deploy Android into multiple application domains. Additional support is available in the form of professional services, leveraging Mentor s Android expertise and experience to enable customers to get to market faster. When required, Mentor can support device developers throughout their entire product life cycle, from product requirements all the way through deployment, with complete Android services, including: Custom board ports Extending I/O support Integration of product or industry-specific middleware Application development Functional, stress and performance testing, and benchmarking Integration and support services CONCLUSION Android is a disruptive technology, which was introduced initially on mobile handsets, but has much wider potential. There are challenges in the application of Android to other types of device. With the Development System for Android-based Devices and all full-range of professional services, Mentor Graphics is well suited to support developers using Android and Linux for a wide range of embedded applications. Visit for the latest product information Mentor Graphics Corporation. All rights reserved. For This document more information, contains information call that us is or proprietary visit: to Mentor Graphics Corporation and may be duplicated in whole or in part by the original recipient for internal business purposes only, Copyright provided that 2008 this Mentor entire Graphics notice appears Corporation. in all copies. This In document accepting contains this document, information the that recipient is proprietary agrees to to make Mentor every Graphics reasonable Corporation effort to and prevent may unauthorized use of this information. be duplicated in whole or in part by the original recipient for internal business purposes only, provided that this entire notice appears in all copies. In accepting this document, the recipient agrees to make every reasonable effort to prevent unauthorized use of this information. 8 Mentor/0-In Formal Verification Technology Backgrounder MGC 9-09 TECH8580-w

imaginea white paper

imaginea white paper white paper Building Mobile Android Applications Even though Android was created for handsets, there is a great opportunity for developing other innovative devices on the Android platform with significant

More information

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13 Android Lecture 1 Learning Android Marko Gargenta Final Project Jan/Feb: ARM March: Android Apr: Final project Complexity Sense the world Analysis Service delivery Hands-on A fun project built-up through

More information

Introduction to Android

Introduction to Android Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application

More information

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

More information

Creating and Using Databases for Android Applications

Creating and Using Databases for Android Applications Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author: Sunguk Lee* (sunguk@rist.re.kr)

More information

Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application

More information

Introduction to Android

Introduction to Android Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 Development on Android 3 Applications:

More information

Workshop on Android and Applications Development

Workshop on Android and Applications Development Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,

More information

An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn

An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn An Introduction to Android Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn Outline Background What is Android? Development for Android Background Internet users and Mobile

More information

An Introduction to Android

An Introduction to Android An Introduction to Android Michalis Katsarakis M.Sc. Student katsarakis@csd.uoc.gr Tutorial: hy439 & hy539 16 October 2012 http://www.csd.uoc.gr/~hy439/ Outline Background What is Android Android as a

More information

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Introduction to Android Development. Jeff Avery CS349, Mar 2013 Introduction to Android Development Jeff Avery CS349, Mar 2013 Overview What is Android? Android Architecture Overview Application Components Activity Lifecycle Android Developer Tools Installing Android

More information

Android Basics. Xin Yang 2016-05-06

Android Basics. Xin Yang 2016-05-06 Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)

More information

Android Programming and Security

Android Programming and Security Android Programming and Security Dependable and Secure Systems Andrea Saracino andrea.saracino@iet.unipi.it Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System

More information

Android on i.mx Applications Processors

Android on i.mx Applications Processors July 2009 Android on i.mx Applications Processors Sridharan Subramanian Senior Product Manager Software and Platforms Abstract Android is a software platform and operating system for mobile devices, based

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

Overview of CS 282 & Android

Overview of CS 282 & Android Overview of CS 282 & Android Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282

More information

Running a Program on an AVD

Running a Program on an AVD Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run

More information

ANDROID OPERATING SYSTEM

ANDROID OPERATING SYSTEM ANDROID OPERATING SYSTEM Himanshi Grover,Devesh Agrawal IT Department, Dronacharya College Of Engg Gurgaon,Haryana,India Abstract - Android has become need rather than luxury these days. The computing

More information

Android Architecture. Alexandra Harrison & Jake Saxton

Android Architecture. Alexandra Harrison & Jake Saxton Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003

More information

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe 2010. Copyright 2010, 2net Limited.

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe 2010. Copyright 2010, 2net Limited. What else can you do with Android? Chris Simmonds Embedded Linux Conference Europe 2010 Copyright 2010, 2net Limited 1 Overview Some background on Android Quick start Getting the SDK Running and emulated

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Issues in Android on Mobile Platform and Their Resolution

Issues in Android on Mobile Platform and Their Resolution Issues in Android on Mobile Platform and Their Resolution 1 Monika A. Ganpate, 2 Dipika R. Shinde 1, 2 Institute of Management and Computer Studies, Thane (West), India, University of Mumbai, India Abstract:

More information

Development. SriSeshaa Technologies. Table of Contents

Development. SriSeshaa Technologies. Table of Contents SriSeshaa Technologies Development Table of Contents SriSeshaa Android Development... 2 Introduction to Android... 3 SriSeshaa Capabilities... 3 SriSeshaa Android Case Studies... 5 Privacy Guard... 5 Backup

More information

ITG Software Engineering

ITG Software Engineering Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android

More information

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012 Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android

More information

Introduction to Android SDK Jordi Linares

Introduction to Android SDK Jordi Linares Introduction to Android SDK Introduction to Android SDK http://www.android.com Introduction to Android SDK Google -> OHA (Open Handset Alliance) The first truly open and comprehensive platform for mobile

More information

RoverPal - A Mobile Payment Application

RoverPal - A Mobile Payment Application White Paper RoverPal - A Mobile Payment Application Introduction Online shopping has been a favorable experience with most of us. Still, we come across instances where we are out on shopping and we run

More information

An Android-based Instant Message Application

An Android-based Instant Message Application An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 mzheng@uwlax.edu Abstract One of the

More information

Developing Google Android Mobile Clients for Web Services: a Case Study

Developing Google Android Mobile Clients for Web Services: a Case Study tesi di laurea Developing Google Android Mobile Clients for Web Services: a Case Study Anno Accademico 2007/2008 relatore Ch.mo prof. Stefano Russo correlatore Ing. Marcello Cinque candidato Vito Daniele

More information

060010702 Mobile Application Development 2014

060010702 Mobile Application Development 2014 Que 1: Short question answer. Unit 1: Introduction to Android and Development tools 1. What kind of tool is used to simulate Android application? 2. Can we use C++ language for Android application development?

More information

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

OMX, Android, GStreamer How do I decide what to use? 15 July 2011 OMX, Android, GStreamer How do I decide what to use? 15 July 2011 When to use which framework? Android (easiest) Customer wants a full featured media player with minimal trouble and no prior knowledge

More information

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang Real Time System Project 1 Understand and Build Android Programming Environment Advisor: Prof. Tei-Wei i Kuo Presented by: Che-Wei Chang Outline Introduction to Android Framework What is Android Android

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall 2015 1

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall 2015 1 ECE 455/555 Embedded System Design Android Programming Wei Gao Fall 2015 1 Fundamentals of Android Application Java programming language Code along with any required data and resource files are compiled

More information

01. Introduction of Android

01. Introduction of Android 01. Introduction of Android Goal Understand the concepts and features of the Android Install the complete Android development environment Find out the one-click install Android development environment

More information

ANDROID AND ANDROID APPLICATIONS. UDAY LINGALA CSCI 5448, Fall 2012

ANDROID AND ANDROID APPLICATIONS. UDAY LINGALA CSCI 5448, Fall 2012 ANDROID AND ANDROID APPLICATIONS UDAY LINGALA CSCI 5448, Fall 2012 Content Introduction to Android system What is android? History Android Market Why Android Design philosophy System Architecture Features

More information

ODROID Multithreading in Android

ODROID Multithreading in Android Multithreading in Android 1 Index Android Overview Android Stack Android Development Tools Main Building Blocks(Activity Life Cycle) Threading in Android Multithreading via AsyncTask Class Multithreading

More information

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Android OS Open-source mobile OS (mostly Apache licence) Developed by Google + Open Handset Alliance

More information

Introduction to Android Programming (CS5248 Fall 2015)

Introduction to Android Programming (CS5248 Fall 2015) Introduction to Android Programming (CS5248 Fall 2015) Aditya Kulkarni (email.aditya.kulkarni@gmail.com) August 26, 2015 *Based on slides from Paresh Mayami (Google Inc.) Contents Introduction Android

More information

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111

More information

Using Chroot to Bring Linux Applications to Android

Using Chroot to Bring Linux Applications to Android Using Chroot to Bring Linux Applications to Android Mike Anderson Chief Scientist The PTR Group, Inc. mike@theptrgroup.com Copyright 2013, The PTR Group, Inc. Why mix Android and Linux? Android under Linux

More information

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 1 Goals of the Lecture Present an introduction to the Android Framework Coverage of the framework will be

More information

Mobile applications security Android OS (case study) Maciej Olewiński. Cryptographic Seminar 16.05.2012r.

Mobile applications security Android OS (case study) Maciej Olewiński. Cryptographic Seminar 16.05.2012r. Mobile applications security Android OS (case study) Maciej Olewiński Cryptographic Seminar 16.05.2012r. Presentation s schedule Mobile devices market Smartphone s domination is coming Android basics Main

More information

Hacking your Droid ADITYA GUPTA

Hacking your Droid ADITYA GUPTA Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used

More information

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0

Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0 Oracle FLEXCUBE Direct Banking Android Tab Client Installation Guide Release 12.0.3.0.0 Part No. E52543-01 April 2014 Oracle Financial Services Software Limited Oracle Park Off Western Express Highway

More information

Android Fundamentals 1

Android Fundamentals 1 Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks

More information

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna SDK and initial setup: Outline Ø Today: How

More information

Android Geek Night. Application framework

Android Geek Night. Application framework Android Geek Night Application framework Agenda 1. Presentation 1. Trifork 2. JAOO 2010 2. Google Android headlines 3. Introduction to an Android application 4. New project using ADT 5. Main building blocks

More information

COURSE CURRICULUM ANDROID APP DEVELOPMENT WORSHOP

COURSE CURRICULUM ANDROID APP DEVELOPMENT WORSHOP COURSE CURRICULUM ANDROID APP DEVELOPMENT WORSHOP INTRODUCTION BENEFITS Learn & Interact with renowned Industry Experts Android powers hundreds of millions of mobile devices in more than 190 countries

More information

Android Development. Marc Mc Loughlin

Android Development. Marc Mc Loughlin Android Development Marc Mc Loughlin Android Development Android Developer Website:h:p://developer.android.com/ Dev Guide Reference Resources Video / Blog SeCng up the SDK h:p://developer.android.com/sdk/

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts

More information

Homework: Android Facebook Post A Mobile Phone Exercise. Become familiar with the Eclipse, Android and Facebook;

Homework: Android Facebook Post A Mobile Phone Exercise. Become familiar with the Eclipse, Android and Facebook; Homework: Android Facebook Post A Mobile Phone Exercise 1. Objectives Become familiar with the Eclipse, Android and Facebook; Use Java code with a combination of the Android SDK and Facebook APIs; Provide

More information

The Android Platform

The Android Platform The Android Platform F. Mallet Frederic.Mallet@unice.fr Université Nice Sophia Antipolis A software stack for mobile devices The Android Platform OS kernel, system libraries, application frameworks & key

More information

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc. Android Application Development Daniel Switkin Senior Software Engineer, Google Inc. Goal Get you an idea of how to start developing Android applications Introduce major Android application concepts Walk

More information

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM 5341. Eng. Wafaa Audah.

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM 5341. Eng. Wafaa Audah. Islamic University of Gaza Faculty of Engineering Computer Engineering Department Mobile Computing ECOM 5341 By Eng. Wafaa Audah June 2013 1 Setting Up the Development Environment and Emulator Part 1:

More information

Introduction to Android. Sean Sullivan October 27, 2008

Introduction to Android. Sean Sullivan October 27, 2008 Introduction to Android Sean Sullivan October 27, 2008 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications source: Google

More information

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) today l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) l Other: Signing Apps, SVN l Discussion and Questions introduction to android

More information

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile

More information

Mobile Phones Operating Systems

Mobile Phones Operating Systems Mobile Phones Operating Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-05-28 José Costa (DEI/IST) Mobile Phones Operating

More information

Android and real-time. ADREAM 2012

Android and real-time. ADREAM 2012 Android and real-time ADREAM 2012 fcamps@laas.fr Context : Android Android is a disruptive technology, which was introduced for mobile handsets, but has much wider potential. Increasing relevance of Android

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup Emmanuel Agu What is Android? Android is world s leading mobile operating system Google: Owns Android, maintains it, extends

More information

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

The Eclipse Classic version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended. Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting

More information

Module Introduction. CONTENT: 10 pages 2 questions. LEARNING TIME: 20 minutes

Module Introduction. CONTENT: 10 pages 2 questions. LEARNING TIME: 20 minutes Module Introduction PURPOSE: The intent of this module is to provide an overview of CodeWarrior Linux Tools and Solutions and the Linux product strategy. OBJECTIVES: Identify the CodeWarrior Linux Tools

More information

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile)

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date> Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References Cell phones

More information

Overview. The Android operating system is like a cake consisting of various layers.

Overview. The Android operating system is like a cake consisting of various layers. The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and

More information

Praktikum Entwicklung Mediensysteme (für Master)

Praktikum Entwicklung Mediensysteme (für Master) Praktikum Entwicklung Mediensysteme (für Master) An Introduction to Android An Introduction to Android What is Android? Installation Getting Started Anatomy of an Android Application Life Cycle of an Android

More information

Review On Google Android a Mobile Platform

Review On Google Android a Mobile Platform IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 10, Issue 5 (Mar. - Apr. 2013), PP 21-25 Review On Google Android a Mobile Platform Shyam Bhati 1, Sandeep Sharma

More information

HTML5 AUTOMOTIVE 2013 White Paper Series

HTML5 AUTOMOTIVE 2013 White Paper Series HTML5 AUTOMOTIVE 2013 White Paper Series HTML5 based automotive apps are very adaptable and gaining popularity. WHAT S INSIDE HTML5 BENEFITS AND CHALLENGES page 1-2 SUGGESTED APPROACH page 3 APPLICATION

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Android on a Highly Reliable Real-Time OS

Android on a Highly Reliable Real-Time OS Android on a Highly Reliable Real-Time OS By Yasuyo Murakami, esol Co., Ltd. esol for Android extends Android applications to a wider marketplace of embedded devices that require high performance and reliability,

More information

A Short Introduction to Android

A Short Introduction to Android A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview

More information

Mobile Operating Systems Lesson 05 Windows CE Part 1

Mobile Operating Systems Lesson 05 Windows CE Part 1 Mobile Operating Systems Lesson 05 Windows CE Part 1 Oxford University Press 2007. All rights reserved. 1 Windows CE A 32 bit OS from Microsoft Customized for each specific hardware and processor in order

More information

Dynamix: An Open Plug-and-Play Context Framework for Android

Dynamix: An Open Plug-and-Play Context Framework for Android Dynamix: An Open Plug-and-Play Context Framework for Android Darren Carlson and Andreas Schrader Ambient Computing Group / Institute of Telematics University of Lübeck, Germany www.ambient.uni-luebeck.de

More information

Frameworks & Android. Programmeertechnieken, Tim Cocx

Frameworks & Android. Programmeertechnieken, Tim Cocx Frameworks & Android Programmeertechnieken, Tim Cocx Discover thediscover world atthe Leiden world University at Leiden University Software maken is hergebruiken The majority of programming activities

More information

Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google

Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google By: Mikias M. Seid Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google API and Map View Demo Future of the

More information

Android Development: Part One

Android Development: Part One Android Development: Part One This workshop will introduce you to the nature of the Android development platform. We begin with an overview of the platform s development history and some discussion of

More information

Student Attendance Through Mobile Devices

Student Attendance Through Mobile Devices Student Attendance Through Mobile Devices Anurag Rastogi Kirti Gupta Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, Odisha, India Student Attendance

More information

ANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT

ANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT ANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS by SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT submitted in partial fulfillment of the requirements

More information

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based

More information

Presenting Android Development in the CS Curriculum

Presenting Android Development in the CS Curriculum Presenting Android Development in the CS Curriculum Mao Zheng Hao Fan Department of Computer Science International School of Software University of Wisconsin-La Crosse Wuhan University La Crosse WI, 54601

More information

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Lecture 17: Mobile Computing Platforms: Android Mythili Vutukuru CS 653 Spring 2014 March 24, Monday Mobile applications vs. traditional applications Traditional model of computing: an OS (Linux / Windows),

More information

Operating systems for embedded systems. Embedded Operating Systems

Operating systems for embedded systems. Embedded Operating Systems Operating systems for embedded systems Embedded operating systems How do they differ from desktop operating systems? Programming model Process-based Event-based How is concurrency handled? How are resource

More information

Android Development Tools for Eclipse

Android Development Tools for Eclipse Android Development Tools for Eclipse Sanjay Shah Khirulnizam Abd Rahman Chapter No. 1 "Installing Eclipse, ADT, and SDK" In this package, you will find: A Biography of the author of the book A preview

More information

A Real-time Extension to the Android Platform

A Real-time Extension to the Android Platform JTRES 2012 A Real-time Extension to the Android Platform Igor Kalkov, Dominik Franke, John F. Schommer, Stefan Kowalewski 24-26 October 2012 Copenhagen, Denmark Introduction Mobile platform by Open Handset

More information

Android Application Development

Android Application Development Android Application Development 3TECHSOFT INNOVATION*INTELLIGENCE*INFORMATION Effective from: JUNE 2013 Noida Office: A-385, Noida (UP)- 201301 Contact us: Email: hr@3techsoft.com Website: www.3techsoft.com

More information

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет Технологии Java Android: Введение Санкт-Петербургский Государственный Политехнический Университет Кузнецов Андрей Николаевич 1 2 Архитектура ОС Android See http://www.android-app-market.com/android-architecture.html

More information

JavaFX: The Second Coming of Java to the Web. Simon RItter Technology Evangelist Sun Microsystems

JavaFX: The Second Coming of Java to the Web. Simon RItter Technology Evangelist Sun Microsystems JavaFX: The Second Coming of Java to the Web Simon RItter Technology Evangelist Sun Microsystems Java Technology Momentum Java Everywhere 4.5 Billion Java-Enabled Devices 1.8 Billion Java-Enabled Phones

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Windows Embedded Security and Surveillance Solutions

Windows Embedded Security and Surveillance Solutions Windows Embedded Security and Surveillance Solutions Windows Embedded 2010 Page 1 Copyright The information contained in this document represents the current view of Microsoft Corporation on the issues

More information

TI Linux and Open Source Initiative Backgrounder

TI Linux and Open Source Initiative Backgrounder TI Linux and Open Source Initiative Backgrounder Texas Instruments Incorporated (TI) has supported the use of embedded real-time operating systems in digital signal processing (DSP) for many years with

More information

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP) Android Syllabus Pre-requisite: C, C++, Java Programming JAVA Concepts OOPs Concepts Inheritance in detail Exception handling Packages & interfaces JVM &.jar file extension Collections HashTable,Vector,,List,

More information

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

Better Digital Signal Processing Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform

Better Digital Signal Processing Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform White Paper Better Digital Signal Performance; Lower Costs With Innovative IntervalZero RTX Real-time Platform I. Overview Digital Signal Processors (s) have specialized architectures that are optimized

More information

Mentor Embedded IVI Solutions

Mentor Embedded IVI Solutions Mentor Embedded IVI Solutions Infotainment Instrument Cluster Andrew Patterson andrew_patterson@mentor.com Business Development Director Automotive Embedded Software mentor.com/embedded Android is a trademark

More information

International Engineering Journal For Research & Development

International Engineering Journal For Research & Development Evolution Of Operating System And Open Source Android Application Nilesh T.Gole 1, Amit Manikrao 2, Niraj Kanot 3,Mohan Pande 4 1,M.tech(CSE)JNTU, 2 M.tech(CSE)SGBAU, 3 M.tech(CSE),JNTU, Hyderabad 1 sheyanilu@gmail.com,

More information

DESIGNING AN M-LEARNING APPLICATION FOR A UBIQUITOUS LEARNING ENVIRONMENT IN THE ANDROID BASED MOBILE DEVICES USING WEB SERVICES

DESIGNING AN M-LEARNING APPLICATION FOR A UBIQUITOUS LEARNING ENVIRONMENT IN THE ANDROID BASED MOBILE DEVICES USING WEB SERVICES DESIGNING AN M-LEARNING APPLICATION FOR A UBIQUITOUS LEARNING ENVIRONMENT IN THE ANDROID BASED MOBILE DEVICES USING WEB SERVICES SHANMUGAPRIYA M Research Scholar Mother Teresa Women s University, Kodaikanal,

More information

Manjrasoft Market Oriented Cloud Computing Platform

Manjrasoft Market Oriented Cloud Computing Platform Manjrasoft Market Oriented Cloud Computing Platform Innovative Solutions for 3D Rendering Aneka is a market oriented Cloud development and management platform with rapid application development and workload

More information

Virtualization and Shared Graphics on i.mx6

Virtualization and Shared Graphics on i.mx6 Virtualization and Shared Graphics on i.mx6 Agenda 1. About OpenSynergy 2. Virtualization 3. Shared devices 4. Shared graphics 5. Shared GPU 6. Demo 7. Discussion 2 Agenda 1. About OpenSynergy 2. Virtualization

More information