Download - Android Apps

Transcript

ANDROID MOBILE APPLICATION DEVELOPMENT

M. Nagarajan, Department of Computer Science and

EngineeringValliammai Engineering College

1. Chapter 1: Introduction to Mobile Operating Systems2. Chapter 2: List of ideas

• Content 1: Pictures• Content 2: Table• Content 3: Graph

3. Chapter 3: Headline4. Chapter 4: …5. Chapter 5: …6. Chapter 6: Conclusion

CHAPTER 1

CHAPTER 2

CHAPTER 3

CHAPTER 4

CHAPTER 5

CHAPTER 6

AGENDA

INTRODUCTION TO MOBILE OPERATING SYSTEMS

• Symbian• Android• Apple iOS• Blackberry OS• Windows OS• BADA• Palm OS• Open WebOS

WHAT IS ANDROID? Android is an open source and Linux-based

operating system for mobile devices such as smart phones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies.

The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007 where as the first commercial version, Android 1.0, was released in September 2008.

Andy Rubin

WHY ANDROID ?• Open Source• Large Developer Community• Increased Marketing• Reduced Cost of Development• Higher Success Ratio• Inter App Integration• Rich Development Environment

FEATURES OF ANDROIDFeature Description

Beautiful UI Android OS basic screen provides a beautiful and intuitive user interface

Connectivity Bluetooth, Wi-Fi, GSM/EDGE, IDEN, CDMA, UMTS, WiMAX

Storage SQLiteMedia support MP3, MPEG-4 SP, WAV, JPEG, PNG, GIF, BMP

Messaging SMS and MMSWeb browser Chrome's V8 JavaScript engine supporting HTML5 and CSS3.

Multi-tasking User can jump from one task to another and same time various application can run simultaneously.

Resizable widgets

Widgets are resizable, so users can expand them to show more content or shrink them to save space

Multi-Language Supports single direction and bi-directional text.

Froyo

Eclair

Donut

Cupcake

HISTORY OF ANDROID

Jelly Bean

Ice Cream Sandwich

Honeycomb

Gingerbread

Marshmallow

Lollipop

KitKat

Android Cupcake 1.5 Released on April 30, 2009. Added auto-rotation option. Copy and Paste feature added in the

web browser. Increased speed and performance but

not upto required level.

Released on September 15, 2009. Voice search and Search box were

added. Faster OS boot times and fast web

browsing experience.

Android Donut 1.6

Android Éclair 2.0/2.1 Released on October 26, 2009. Bluetooth 2.1 support. Improved typing speed on virtual

keyboard, with smarter dictionary. no Adobe flash media support.

Android Froyo 2.2 Released on  May 20, 2010. Support for Adobe Flash 10.1 Improved Application launcher with better

browser No internet calling. Android Gingerbread 2.3 Released on  December 6, 2010. Updated User Interface with

high efficiency and speed Internet calling One touch word selection and copy/paste. New keyboard for faster word input. More successful version of Android than

previous. not supports multi-core processors.

Android Honeycomb 3.0 Released on February 22, 2011. Support for multi-core processors Ability to encrypt all user data. This version of android is only available

for tablets.

Android IceCreamSandwich(ICS) 4.0 Released on November 14, 2011. Virtual button in the UI. A new typeface family for the UI, Roboto. Ability to shut down apps that are using

data in the background.

Android JellyBean 4.1 Released on June 27, 2012. Improved the features of previous

version while improving the graphics quality.

Smoother user interface.

Android JellyBean 4.2,4.3Released on 13 November 2012Lock screen improvementsMultiple user accounts (tablets only)Bug fixes and performance enhancements

Android Kitkat 4.4Released on 31 October 2013Ability for applications to trigger translucency in the navigation and status barsWireless printing capabilityAnd even more features are currently being rolled out

HISTORY OF ANDROID

LINUX KERNEL

•The architecture is based on the Linux2.6 kernel.

• This layer is core of android architecture. It provides service

like power management, memory management, security etc.

• It helps in software or hardware binding for better

communication.

NATIVE LIBRARIES

• Android has its own libraries, which is written in C/C++. These libraries

cannot be accessed directly. With the help of application framework, we

can access these libraries. There are many libraries like web libraries to

access web browsers, libraries for android and video formats etc.

Android Run Time

• The Android Runtime was designed specifically for Android to meet the needs of running in an embedded environment where you have limited battery, limited memory, limited CPU.

• Dalvik is the process virtual machine in Google's android operating system. It is the software that runs the apps on android devices. Dalvik is thus an integral part of android ,which is typically used on mobile devices such as mobile phones and tablet computers.• Programs are commonly written in java and compiled to byte code.

Android Run Time

•This is in blue, meaning that it's written in the Java programming language.

•The core library contains all of the collection classes, utilities, IO, all the utilities and tools that you’ve come to expected to use. 

Application Framework

•This is all written in a Java programming language and the application framework is the toolkit that all applications use.•These applications include the ones that come with a phone like the home applications, or the phone application. •It includes applications written by Google, and it includes apps that will be written by you. •So, all apps use the same framework and the same APIs.

CONTD…These are as follows:-• Activity manager:-It manages the lifecycle of applications. It enable proper

management of all the activities. All the activities are controlled by activity manager.• Resource manager:-It provides access to non-code resources such as graphics etc.• Notification manager:-It enables all applications to display custom alerts in status

bar.• Location manager:- It fires alerts when user enters or leaves a specified

geographical location.• Package manager:-It is use to retrieve the data about installed packages on

device.• Window manager:-It is use to create views and layouts.• Telephony manager:-It is use to handle settings of network connection and all

information about services on device.

APPLICATION LAYER

•The final layer on top is Applications.

•It includes the home application the contacts application , the browser, and apps.

•It is the most upper layer in android architecture.

•All the applications like camera, Google maps, browser, sms, calendars, contacts are native applications. These applications works with end user with the help of application framework to operate.

FEATURES OF ANDROID

Background Wi-Fi location still runs even when

Wi-Fi is turned off

Developer logging and analyzing enhancements

It is optimized for mobile devices.

It enables reuse and replacement of components.

Java support ,media support, multi touch, video calling,multi tasking ,voice based features, screen capture, camera ,bluetooth,gps,compass and accelerometer,3G

DIS-ADVANTAGES

it has security related issues, malware.

Android operating system uses more amount of battery and process in the background causing the battery quickly drains.

Sometimes slow device company issued an official version of Android your own .

Extremely inconsistence in design among apps.

Very unstable and often hang or crash.

ANDROID VS WINDOWS PHONES  Android Windows Phone

Company/ Developer Google Microsoft

Programmed in Java, C, C++ C, C++

OS family Unix-like Windows

Initial release September 23, 2008 October 21, 2010

Supported platforms ARM, MIPS, x86, I.MX x86

License Apache License 2.0Linux kernel patches under GNU GPL v2

Commercial proprietary software

Default user interface Graphical (Multi-touch) Graphical (Metro UI)

WHAT IS ECLIPSE? Eclipse is a Java-based open source platform that allows a software developer to create a customized development environment (IDE) from plug-in components built by Eclipse members Eclipse is managed and directed by the  Eclipse.org Consortium.

ECLIPSE VERSION(S)Codename Year Platform VersionCallisto 2006 3.2Europa 2007 3.3Ganymede 2008 3.4Galileo 2009 3.5Helios 2010 3.6Indigo 2011 3.7Juno 2012 3.8 and 4.2Kepler 2013 4.3Luna 2014 4.4.0Mars 24 June 2015 4.5

Neon June 2016 (planned) 4.6

Oxygen June 2017 (planned) 4.7

Java VMStandard Java2Virtual Machine

PlatformEclipse Platform

Java development tools JDT

PDEPlug-in development environment

ECLIPSE ARCHITECTURE Eclipse is a universal platform for integrating development tools Open, extensible architecture based on plug-ins

ECLIPSE ALTERNATIVE DISTRIBUTIONS

Eclipse PDT (PHP Development Tools)

Eclipse ADT (Android Development Tools)

The PHP (PHP hypertext Preprocessor) Development Tools project provides a PHP Development Tools framework for the Eclipse platform

Android Development Tools (ADT) is a Google-provided plugin for the Eclipse IDE that is designed to provide an integrated environment in which to build Android applications.

WHAT WILL YOU NEED?

• Computer running Windows,

Linux, or Mac OS X

• Java SDK

• Google Android SDK

• Integrated Development

Environment (IDE)Note: ADT can run on at least Dual Core with at least 2GB RAM.

HOW TO INSTALL ECLIPSE AND SETUP ADT

INSTALLATION STEPS Download eclipse from http://www.eclipse.org/downloads

Download Android SDK https://developer.android.com/studio/intro/

update.html

How to Install Eclipse and Setup ADT

CREATE ANDROID APPLICATION

File -> New -> Project and finally select Android New Application  

ANATOMY OF ANDROID APPLICATION

CONTD..S.N. Folder/ File Description

1 srcThis contains the .java source files for your project. By default, it includes an MainActivity.java source file having an activity class that runs when your app is launched using the app icon.

2 genThis contains the .R file, a compiler-generated file that references all the resources found in your project. You should not modify this file.

3 binThis folder contains the Android package files .apk built by the ADT during the build process and everything else needed to run an Android application.

4 res/drawable-hdpi

This is a directory for drawable objects that are designed for high-density screens.

5 res/layout This is a directory for files that define your app's user interface.

6 res/values This is a directory for other various XML files that contain a collection of resources, such as strings and colours definitions.

7 AndroidManifest.xml

This is the manifest file which describes the fundamental characteristics of the app and defines each of its components.

ANDROID LIBRARIESLibrary File Description.

android.app  Provides access to the application model and is the cornerstone of all Android applications.

android.content Facilitates content access, publishing and messaging between applications and application components.

android.database Used to access data published by content providers and includes SQLite database management classes.

android.opengl A Java interface to the OpenGL ES 3D graphics rendering API.

android.os  Provides applications with access to standard operating system services including messages, system services and inter-process communication.

android.text Used to render and manipulate text on a device display.android.view  The fundamental building blocks of application user interfaces.

android.widget A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc.

android.webkit A set of classes intended to allow web-browsing capabilities to be built into applications.

Toast Message

import android.app.Activity;

import android.os.Bundle;

import

android.view.Window;

import

android.widget.TextView;

import android.app.Activity :Activity is any one thing that a user can do.

import android.os.Bundle :Provides basic operating system services and inter-process communication on the device.

import android.view.View : View also referred as widgets to construct as user interface example- Button, Check Box

import android.view.Menu :Provides options for a particular view

EXPERIMENTS LIST

1. A. Toast Class1. B. Toast Class With Gravity

1. C. Toast Class CMD Button Action Listener

1. D. Toast Class CMD Button - Action Listener -1

2. Radio Button

3. Check Box

4. Toggle Button

5. Rating Bar

6. WiFi

7. Camera

Thank You

Thank

you!


Top Related