An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi



Similar documents
Android Basics. Xin Yang

Introduction to Android. CSG250 Wireless Networks Fall, 2008

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

Lecture 1 Introduction to Android

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

Overview of CS 282 & Android

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

Deep Inside Android. OpenExpo Zurich September 25 th, Gilles Printemps - Senior Architect. Copyright 2007 Esmertec AG.

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

A Short Introduction to Android

Android For Java Developers. Marko Gargenta Marakana

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Programming the Android Platform. Logistics

Android Development. Marc Mc Loughlin

AndroLIFT: A Tool for Android Application Life Cycles

06 Team Project: Android Development Crash Course; Project Introduction

Introduction to Android

An Introduction to Android

Android Architecture. Alexandra Harrison & Jake Saxton

ANDROID INTRODUCTION TO ANDROID

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

Here to take you beyond Mobile Application development using Android Course details

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

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Praktikum Entwicklung Mediensysteme (für Master)

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Introduction to Android

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Android Application Development

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

Mobile Application Development 2014

Android Operating System:

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

Introduction to Android SDK Jordi Linares

ITG Software Engineering

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.

App Development for Smart Devices. Lec #2: Android Tools, Building Applications, and Activities

The Android Platform

Chapter 2 Getting Started

Android Programming and Security

Workshop on Android and Applications Development

Android Fundamentals 1

Android 多 核 心 嵌 入 式 多 媒 體 系 統 設 計 與 實 作

ODROID Multithreading in Android

Q1. What method you should override to use Android menu system?

MMI 2: Mobile Human- Computer Interaction Android

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

1. Introduction to Android

How To Develop Android On Your Computer Or Tablet Or Phone

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

ANDROID. Programming basics

Android Operating System

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

Creating and Using Databases for Android Applications

Mobile Applications Grzegorz Budzyń Lecture. 2: Android Applications

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

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

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 2 Android Platform. Marco Picone

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Android (Basic + Advance) Application Development

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID OPERATING SYSTEM

Introduction to NaviGenie SDK Client API for Android

Performance Analysis of Android Platform

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Frameworks & Android. Programmeertechnieken, Tim Cocx

Research and Design of Universal and Open Software Development Platform for Digital Home

Android Java Live and In Action

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

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

Presenting Android Development in the CS Curriculum

Getting started with Android and App Engine

Android Environment SDK

Admin. Mobile Software Development Framework: Android Activity, View/ViewGroup, External Resources. Recap: TinyOS. Recap: J2ME Framework

Module Title: Software Development A: Mobile Application Development

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

Android Development Exercises Version Hands On Exercises for. Android Development. v

Des Moines Area Community College

-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

Jordan Jozwiak November 13, 2011

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

Mono for Android Activity Lifecycle Activity Lifecycle Concepts and Overview

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

Development. SriSeshaa Technologies. Table of Contents

Mobile Phones Operating Systems

Running a Program on an AVD

Android Developer Fundamental 1

Android Application Development - Exam Sample

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Priority Based Pre-emptive Task Scheduling for Android Operating System

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

4. The Android System

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Practical Android Projects Lucas Jordan Pieter Greyling

Transcription:

An Introduction to Android Application Serdar Akın, Haluk Tüfekçi ARDIC ARGE http://www.ardictech.com April 2011

Environment Programming Languages Java (Officially supported) C (Android NDK Needed) C++ (Android NDK Needed) Android Software Kit (SDK) Dalvik Cross Assembler Class Library Android Debug Bridge (adb) Documentation Dalvik Debug Monitor Service (ddms) Sample Codes Android Emulator System Images Native Kit (NDK) USB Driver (OEM USB drivers may be installed) Integrated Environment Galileo Java Tools Java Kit 5 or 6 Android Tools Plugin Operating System Ubuntu Computing System

Environments Eclipse Android SDK Android Environment Hello, World Android Device APPLICATIONS Home Contacts Phone Browser Built-In Applications User Applications Application Life Cycle, API, s Package Activity Telephony APPLICATION FRAMEWORK Window Resource Content Providers Location View Systems Notification Accessible through JNI, C/C++ Libraries, UI, Graphics, Media Surface OpenGL ES SGL (2D graphics) LIBRARIES Media Framework FreeType SSL SQLite WebKit bionic ANDROID RUNTIME Java Core Libraries Dalvik Virtual Machine Optimized virtual machine, Java Core Libraries Display Driver Keypad Driver Camera Driver WiFi Driver LINUX KERNEL Flash Memory Driver Audio Driver Binder (IPC) Driver Power Management Process Man. Memory Man. Drivers, HAL Security Inter-process Communication

Application Framework Activity View Resource Content Providers Application lifecycle Navigation Programmable controls List, Grid, Textbox, Button, Embedded web browser Localized strings Graphics Layout files Access data Share data Notification Custom alerts for end user Window Screen organization Surface allocation for applications Package Application Installation

Hello, World package com.google.android.helloworldactivity; import android.app.activity; import android.os.bundle; public class HelloWorldActivity extends Activity { public HelloWorldActivity() { } @Override public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.helloworld_activity); } }

Application Structures Activity Intent Broadcast Receiver Content Provider Service Resource A single, focused screen that the user can do Intents are used for inter-communication among activities or services An intent is a data structure that stores a message A broadcast receiver triggers an intent to start an application A content provider is an interface to store and retrieve data and make it accessible to all applications Services run in the background for an indefinite period of time They have no user interface interaction Externalization of strings and graphics

Application Lifecycle Activity starts oncreate() User navigates back to the activity onstart() onresume() onrestart() Process is killed Activity is running Another activity comes in front of the activity The activity comes to the foreground Other applications need memory onpause() The activity is no longer visible The activity comes to the foreground onstop() ondestroy() Activity is shut down

Views and Layouts Parent Layout Child Layout Child Layout Label Child Layout Text Box Text Box Button

Layouts Linear Layout Vertical Horizontal Relative Layout Table Layout Frame Layout * Absolute Layout is deprecated

View Examples GridView TabView MapView WebView

Key points In Android Application Performance and battery life is important in mobile devices Recycle java objects Avoid floating point arithmetic Use efficient data format and parser Reduce transferred data size, gzip text data Keep memory small in order not to be killed Services Do not use services as daemons Start them with Alarm only when device is awake Use receivers to awaken services Check battery life and do not run heavy jobs if battery is critical

References http://developer.android.com/guide/index.html http://androidappdocs.appspot.com/index.html