12/22/11. } Android. 1992-2012 by Pearson Education, Inc. All Rights Reserved. 1992-2012 by Pearson Education, Inc. All Rights Reserved.



Similar documents
Chapter 1 Introduction to Computers, Programs, and Java

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

Chapter 1. Introduction to Computers, Programs, and Java

2 Introduction to Java. Introduction to Programming 1 1

Programming Languages

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

Example of Standard API

For Introduction to Java Programming, 5E By Y. Daniel Liang

Chapter 1 Basic Introduction to Computers. Discovering Computers Your Interactive Guide to the Digital World

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

Overview of CS 282 & Android

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Introduction to Android

Android v ios Mobile Operating Systems

A Short Introduction to Writing Java Code. Zoltán Majó

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

Issues in Android on Mobile Platform and Their Resolution

Android Programming and Security

Developing Applications for ios

Android Development: Part One

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

System Structures. Services Interface Structure

ICAPRG601A Develop advanced mobile multi-touch applications

Section 1.4. Java s Magic: Bytecode, Java Virtual Machine, JIT,

Lesson 06: Basics of Software Development (W02D2

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Java with Eclipse: Setup & Getting Started

1. Overview of the Java Language

Clarity Middle School Survey

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

Generate Android App

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

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Basic Android Setup Windows Version

Lab 0 (Setting up your Development Environment) Week 1

CS 209 Programming in Java #1

Oracle WebCenter Sites Mobility Server Enabling exceptional mobile and tablet web applications and web sites without compromise

Clarity High School Student Survey

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

DEVELOPING MOBILE APPLICATIONS USING ANDROID

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

Chapter 13: Program Development and Programming Languages

A Modular Approach to Teaching Mobile APPS Development

The Context of Software Development

Choosing a Mobile Application Development Approach

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Android Mobile App Building Tutorial

CS 253: Intro to Systems Programming

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Introduction to Android

Chapter 12 - Software. Unit 1 Role and function of application software

Supplement I.C. Creating, Compiling and Running Java Programs from the Command Window

CS378 -Mobile Computing. Android Overview and Android Development Environment

Mobile Operating Systems. Week I

DESIGN AND IMPLEMENTATION OF A FILE SHARING APPLICATION FOR ANDROID

Contents. Java - An Introduction. Java Milestones. Java and its Evolution

Best Practices in Enterprise Smartphone Development

Tutorial 5: Developing Java applications

Remote Desktop on Mobile

Chapter 2 System Structures

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

CS 51 Intro to CS. Art Lee. September 2, 2014

Shafiq Khan. An Introduction to. Cloud Computing 13/12/2012

IT Infrastructure and Emerging Technologies

Java CPD (I) Frans Coenen Department of Computer Science

Introduction to Android

Welcome to the Force.com Developer Day

Intelligent Database Monitoring System using ARM9 with QR Code

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

Basic Trends of Modern Software Development

A Review of Different Comparative Studies on Mobile Operating System

Evolution of Smartphones And Android Operating System

Java Software Development Kit (JDK 5.0 Update 14) Installation Step by Step Instructions

Chapter 1 Fundamentals of Java Programming

Creating Mobile Apps Development and Deployment

Lecture 1 Introduction to Android

Java and Real Time Storage Applications

Mobile App Proposal Magazine company- @address.com. January 12, y. Direct Contact.

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

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

1/5/2013. Technology in Action

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

01. Introduction of Android

Linux. Prepared for: Professor Maria Damen. Prepared by: Lori Minor. Date: December 6, 2010

CSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution

FAMILY. Reference Guide. Pogoplug Family. Reference Guide Cloud Engines, Inc. All Rights Reserved.

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

Development. SriSeshaa Technologies. Table of Contents

-Android 2.3 is the most used version of Android on the market today with almost 60% of all Android devices running 2.3 Gingerbread -Winner of

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

STUDY GUIDE CHAPTER 4

RhoMobile Suite. Develop applications for the next generation of business mobility

Android 5.0: Lollipop OS

Skynax. Mobility Management System. System Manual

PROFILEDROID: MULTI-LAYER PROFILING OF ANDROID APPLICATIONS XUETAO WEI LORENZO GOMEZ UNIVERSITY OF CALIFORNIA, RIVERSIDE PROFESSOR IULIAN NEAMTIU

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Children s Media Use and Attitudes Report Section 4 Children s take-up of media

Analysis of advanced issues in mobile security in android operating system

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.

Transcription:

The name is derived from Linus and UNIX an operating system developed by Bell Labs in 1969. Favorable response led to the creation of a community that has continued to develop and support Linux. Developers downloaded, tested, and modified the Linux code, submitting bug fixes and feedback to Torvalds, who reviewed them and applied the improvements to the code. The 1994 release of Linux included features found in a mature operating system, making Linux a viable alternative to UNIX. Extremely popular on servers and in embedded systems, such as Android-based smartphones. } Android Fastest growing mobile and smartphone operating system Based on the Linux kernel and Java. Open source and free. Developed by Android, Inc., which was acquired by Google in 2005. As of December 2010, more than 300,000 Android smartphones were being activated each day. Android smartphones are now outselling iphones. Android operating system is used in numerous smartphones, e- reader devices, tablet computers, in-store touch-screen kiosks, cars, robots and multimedia players. Android smartphones include the functionality of a mobile phone, Internet client (for web browsing and Internet communication), MP3 player, gaming console, digital camera and more, wrapped into handheld devices with full-color multitouch screens these allow you to control the device with gestures involving one touch or multiple simultaneous touches. } Android App-Development Chapters on the Companion Website The book s companion website includes a three-chapter introduction to Android app development from the book, Android for Programmers: An App-Driven Approach. After you learn Java, you ll find it straightforward to begin developing and running Android apps. 1

} Microprocessors are having a profound impact in intelligent consumer-electronic devices. } 1991 Recognizing this, Sun Microsystems funded an internal corporate research project led by James Gosling, which resulted in a C++-based object-oriented programming language Sun called Java. Key goal of Java is to be able to write programs that will run on a great variety of computer systems and computer-control devices. This is sometimes called write once, run anywhere. 2

} 1993 The web exploded in popularity Sun saw the potential of using Java to add dynamic content to web pages. } Java garnered the attention of the business community because of the phenomenal interest in the web. } Java is used to develop large-scale enterprise applications, to enhance the functionality of web servers, to provide applications for consumer devices and for many other purposes. } Sun Microsystems was acquired by Oracle in 2009. } As of 2010 97% of enterprise desktops, three billion handsets, and 80 million television devices run Java. } Java is the most widely used software development language in the world. } Java Class Libraries Rich collections of existing classes and methods Also known as the Java APIs (Application Programming Interfaces). } Java programs normally go through five phases edit compile load verify execute. } Download the JDK and its documentation from www.oracle.com/technetwork/java/javase/ downloads/index.html. } Read the Before You Begin section of this book to ensure that you set up your computer properly to compile and execute Java programs. } Visit Oracle s New to Java Center at: www.oracle.com/technetwork/topics/newtojava/ overview/index.html 3

} Phase 1 consists of editing a file with an I Type a Java program (source code) using the editor. Make any necessary corrections. Save the program. A file name ending with the.java extension indicates that the file contains Java source code. } Linux editors: vi and emacs. } Windows editors: Notepad EditPlus (www.editplus.com) TextPad (www.textpad.com) jedit (www.jedit.org). } Integrated development environments (IDEs) Provide tools that support the software development process, including editors for writing and editing programs and debuggers for locating logic errors errors that cause programs to execute incorrectly. } Popular IDEs Eclipse (www.eclipse.org) NetBeans (www.netbeans.org). jgrasp IDE (www.jgrasp.org) DrJava IDE (www.drjava.org/download.shtml) BlueJ IDE (www.bluej.org/) TextPad Text Editor for Windows (www.textpad.com/) } Phase 2: Compiling a Java Program into Bytecodes Use the command javac (the Java compiler) to compile a program. For example, to compile a program called Welcome.java, you d type javac Welcome.java If the program compiles, the compiler produces a.class file called Welcome.class that contains the compiled version of the program. 4

} Java compiler translates Java source code into bytecodes that represent the tasks to execute. } Bytecodes are executed by the Java Virtual Machine (JVM) a part of the JDK and the foundation of the Java platform. } Virtual machine (VM) a software application that simulates a computer Hides the underlying operating system and hardware from the programs that interact with it. } If the same VM is implemented on many computer platforms, applications that it executes can be used on all those platforms. } Bytecodes are platform independent They do not depend on a particular hardware platform. } Bytecodes are portable The same bytecodes can execute on any platform containing a JVM that understands the version of Java in which the bytecodes were compiled. } The JVM is invoked by the java command. For example, to execute a Java application called Welcome, you d type the command java Welcome } Phase 3: Loading a Program into Memory The JVM places the program in memory to execute it this is known as loading. Class loader takes the.class files containing the program s bytecodes and transfers them to primary memory. Also loads any of the.class files provided by Java that your program uses. } The.class files can be loaded from a disk on your system or over a network. } Phase 4: Bytecode Verification As the classes are loaded, the bytecode verifier examines their bytecodes Ensures that they re valid and do not violate Java s security restrictions. } Java enforces strong security to make sure that Java programs arriving over the network do not damage your files or your system (as computer viruses and worms might). 5

} Phase 5: Execution The JVM executes the program s bytecodes. JVMs typically execute bytecodes using a combination of interpretation and so-called just-in-time (JIT) compilation. Analyzes the bytecodes as they re interpreted A just-in-time (JIT) compiler known as the Java HotSpot compiler translates the bytecodes into the underlying computer s machine language. When the JVM encounters these compiled parts again, the faster machine-language code executes. Java programs go through two compilation phases One in which source code is translated into bytecodes (for portability across JVMs on different computer platforms) and A second in which, during execution, the bytecodes are translated into machine language for the actual computer on which the program executes. } } Checking your setup. Read the Before You Begin section of the book to confirm that you ve set up Java properly on your computer and that you ve copied the book s examples to your hard drive. 6

7

} The web exploded in the mid-to-late 1990s, but the dot com economic bust brought hard times in the early 2000s. } Resurgence that began in 2004 or so has been named Web 2.0. } Google is widely regarded as the signature company of Web 2.0. } Some other companies with Web 2.0 characteristics are YouTube (video sharing), FaceBook (social networking), Twitter (microblogging), Groupon (social commerce), Foursquare (mobile check-in), Salesforce (business software offered as online services), Craigslist (free classified listings), Flickr (photo sharing), Second Life (a virtual world), Skype (Internet telephony) and Wikipedia (a free online encyclopedia). } Google In 1996, Stanford computer science Ph.D. candidates Larry Page and Sergey Brin began collaborating on a new search engine. In 1997, they changed the name to Google a play on the mathematical term googol Google s ability to return extremely accurate search results quickly helped it become the most widely used search engine and one of the most popular websites in the world. } Web Services and Mashups Mashup is an applications-development methodology in which you can rapidly develop powerful and intriguing applications by combining (often free) complementary web services and other forms of information feeds. } 8

} Ajax One of the premier Web 2.0 software technologies. Helps Internet-based applications perform like desktop applications A difficult task, given that such applications suffer transmission delays as data is shuttled back and forth between your computer and server computers on the Internet. Applications like Google Maps have used Ajax to achieve excellent performance and approach the look-and-feel of desktop applications. } Social Applications Over the last several years, there s been a tremendous increase in the number of social applications on the web. These sites were able to become phenomenally successful in a relatively short period of time. } 9

} 10

11