Android App Development

Similar documents
ANDROID SYLLABUS. Advanced Android

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

CS260 Intro to Java & Android 04.Android Intro

Android App Development

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Software Development & Education Center ANDROID. Application Development

Android App Development Workshop

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Android App Development. Ahmad Tayeb

Mobile Application Development

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android Overview. Most of the material in this section comes from

Android Application Development Course 28 Contact Hours

ATC Android Application Development

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Developer s overview of the Android platform

SHWETANK KUMAR GUPTA Only For Education Purpose

Chapter 1 Hello, Android

Android Application Development Course Code: AND-401 Version 7 Duration: 05 days

Course Syllabus. Course Title. Who should attend? Course Description. Android ( Level 1 )

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Introduction to Android

Minds-on: Android. Session 1

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

Introduction To Android

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Android Online Training

Android. (XKE Mars 2009) Erwan Alliaume.

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

SD Module- Android Programming

Android Development Tutorial. Yi Huang

Introduction to Android

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Java Training Center - Android Application Development

Android Programming (5 Days)

Mobile Application Development

Android Overview. Francesco Mercaldo, PhD

Syllabus- Java + Android. Java Fundamentals

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

IJRDTM Kailash ISBN No Vol.17 Issue

Mobile development initiation

Introduction to Mobile Application and Development

Configuring the Android Manifest File

ANDROID DEVELOPMENT. Course Details

Android" Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition

ANDROID COURSE BROCHURE

Android Application Development

INTRODUCTION TO ANDROID

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Tutorial on Basic Android Setup

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

ITG Software Engineering

Android Syllabus. Android. Android Overview and History How it all get started. Why Android is different.

Mobile Computing. Introduction to Android

Mobile and Ubiquitous Computing: Android Programming (part 1)

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

Android Ecosystem and. Revised v4presenter. What s New

Real-Time Embedded Systems

Android Programming Lecture 2 9/7/2011

Android Programming in Bluetooth Cochlea Group

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Chapter 2. Operating-System Structures

Introduction to Android

Tutorial on Basic Android Setup

Android Training Overview (For Demo Classes Call Us )

ANDROID APPLICATION DEVELOPMENT COURSE Training Program

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Android Essentials with Java

MC Android Programming

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

1. Implementation of Inheritance with objects, methods. 2. Implementing Interface in a simple java class. 3. To create java class with polymorphism

Android Programmierung leichtgemacht. Lars Vogel

Introduction to Android development

COSC 3P97 Mobile Computing

Basic Android Setup for Machine Vision Fall 2015

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Android Apps Development

Android Software Development Kit (Part I)

Android App Development for Beginners

Lecture 1 - Introduction to Android

Android Internals and the Dalvik VM!

Steps to Set Up the Environment of Xamarin in Visual

Mobile Application Development - Android

Embedded Systems Programming - PA8001

GUJARAT TECHNOLOGICAL UNIVERSITY

ANDROID TRAINING PROGRAM COURSE CONTENT

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Android. Training.

Required Core Java for Android application development

COLLEGE OF ENGINEERING, NASHIK-4

COURSE SYLLABUS ANDROID. Industrial Training (4 MONTHS) PH : , Vazhoor Road Changanacherry-01.

Android Application Sandbox. Thomas Bläsing DAI-Labor TU Berlin

Android Application Development using Kotlin

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

Android Apps. with Eclipse. Apress. Onur Cinar

Android - open source mobile platform

Understand applications and their components. activity service broadcast receiver content provider intent AndroidManifest.xml

Mobile and Wireless Systems Programming

Transcription:

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 Developed by Android Inc., bought by Google and now managed by the Open Handset Alliance (OHA) Allows writing managed code in the Java language

History of Android

Open Handset Alliance (OHA) Open Handset Alliance, a group of 47 technology and mobile companies have come together to accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. (from the OHA page)

Architecture

7 The Android Architecture Built on top of Linux kernel (v. 2.6-3.0) Advantages: Portability (i.e. easy to compile on different hardware architectures) Security (e.g. secure multi-process environment) Power Management

8 The Android Architecture Native Libraries (C/C++ code) Graphics (Surface Manager) Multimedia (Media Framework) Database DBMS (SQLite) Font Management (FreeType) WebKit C libraries (Bionic)

9 The Android Architecture Dalvik Virtual Machine (VM) Novel Java Virtual Machine implementation (not using the Oracle JVM) Open License Optimized for memory-constrained devices Faster than Oracle JVM

10 The Android Architecture Application Libraries (Core Components of Android) Activity Manager Packet Manager Telephony Manager Location Manager Contents Provider Notification Manager

11 The Android Architecture Applications (Written in Java code) Android Play Store Entertainment Productivity Personalization Education Geocommunication

But when does the Android version come out? The first blog comment after any ios app is announced.

Why Android Development? Get plugged into the open source platform with the largest market share of smart devices worldwide. The Android SDK is available for Windows, Mac and Linux, so you don t need to pay for new hardware to start writing applications. An SDK built on Java. If you re familiar with the Java programming language, you re already halfway there. By distributing your application on Android Market, it s available to hundreds of thousands of users instantly As well as the technical SDK documentation, new resources are being published for Android developers as the platform gains popularity among both users and developers.

The Big Picture!! Write the code in Java and design layouts in XML files. Once the app is ready, use a build tool to compile all the project files and package them together into.apk file that can be run on Android devices and/or submit to Google Play. All of the files used to put the app together are managed by an Integrated Development Environment (IDE). The standard IDE for Android used to be Eclipse, but this is now being replaced by Google s own Android Studio.

Application Fundamentals Activities application presentation layer Services invisible components, update data sources, visible activities, trigger notifications perform regular processing even when app is not active or invisible Content Providers shareable data store Intents message passing framework broadcast messages system wide, for an action to be performed Broadcast receivers consume intent broadcasts lets app listen for intents matching a specific criteria like location Notifications Toast notification Status Bar Notification Dialog notification

Creating Android App (1) Creating Android app project in Android Studio: Go to File New Project Enter app, project name Choose package name using reverse URL notation, e.g., edu.osu.myapp Select APIs for app, then click Next 16

Creating Android App (2) Determine what kind of Activity to create; then click Next We ll choose a Blank Activity for simplicity Enter information about your Activity, then click Finish This creates a Hello World app 17

Deploying the App Two choices for deployment: Real Android device Android virtual device Plug in your real device; otherwise, create an Android virtual device Emulator is slow. Try Intel accelerated version, or perhaps http://www.genymotion.com/ Run the app: press Run button in toolbar 18

Main Activity Source Code

XML Used to define some of the resources Layouts (UI) Strings Manifest file Shouldn t usually have to edit it directly, Eclipse can do that for you Preferred way of creating UIs Separates the description of the layout from any actual code that controls it Can easily take a UI from one platform to another

XML File

App Manifest Every Android app must include an AndroidManifest.xml file describing functionality The manifest specifies: App s Activities, Services, etc. Permissions requested by app Minimum API required Hardware features required, e.g., camera with autofocus External libraries to which app is linked, e.g., Google Maps library 22

Manifest File

Android Programming Notes Android apps have multiple points of entry: no main() method Cannot sleep in Android During each entrance, certain Objects may be null Defensive programming is very useful to avoid crashes, e.g., if (!(myobj == null)) { // do something } Java concurrency techniques are required Don t block the main thread in Activities Implement long-running tasks such as network connections asynchronously, e.g., as AsyncTasks Recommendation: read [4]; chapter 20 [10]; [11] Logging state via android.util.log throughout app is essential when debugging (finding root causes) Better to have too many permissions than too few Otherwise, app crashes due to security exceptions! Remove unnecessary permissions before releasing app to public Event handling in Android GUIs entails many listener Objects 24