android application development

Post on 12-May-2015

1.371 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides used in the CSI's Workshop on Android Application Development. Deals from beginner to intermediate level of expertise..

TRANSCRIPT

Workshop on Android Application Development

Ganesh Babu,

IV Yr, BE, CSE,

SSN College of Engineering, Chennai

Narendran Thangarajan,

IV Yr, BE, CSE,

SSN College of Engineering, Chennai

+ =

Why are we here? The Mobile OS family

Why Android

Android Architecture

Dalvik Virtual Machine

Setting up the environment

Views, Activities and Intents

Hands on sessions

Switching between Activities

The Legendary ”Hello World” App

Using SQLite DB

StickPad – Notes application

Oauth

JustTweet – A simple Twitter Client

Why Mobile phones?

The increasing importance of mobile devices due to the lowering prices and flamboyant features.

The inception of the iPhone, Apple started this mobile OS revolution. (Jan 9, 2007)

In November 2007, Google formed the Open Handset Alliance to bring out the Android OS.

Then slowly Nokia, RIM and Microsoft made their way into the Mobile OS domain.

Mobile OS family

Row 1 Row 2 Row 3 Row 40

2

4

6

8

10

12

Column 1Column 2Column 3

Why Android?

Because its cool! :P Ok.. just kidding..

MultiTasking is more advanced Android App market is much bigger Android allows you to choose the hardware Android allows you to choose your carrier And Android has a huge community base..

Android dominance in the market

Android clearly holds the lead with 43% market share.

The main reason is Android being open source.

Android Architecture

Android Applications - Gist

Written in Java Compiled to bytecode Tool named dx converts bytecode to .dex code

(Dalvik Executables) Dex files are executed by Dalvik Happily everafter :)

Dalvik Virtual Machine

A register-based process virtual machine designed and written by Dan Bornstein

Usually called the JVM - #EpicFail Dalvik operates on Dex code and not Java

bytecode. Aim of Dalvik is that it should run on

Slow CPU Little RAM OS without swap space While powered by a battery

Setting up the environment

SQLite DB

What is SQLite? SQL +Lite → 275 kb C Source code Self Contained → Doesn't need external libraries Serverless → Doesn't run as a separate process Zero Configuration → SQLite Just works Transactional → Satisfies ACID rules

http://www.sqlite.org/atomiccommit.html Powers – Firefox, iPhones, Skype, Symbian OPEN SOURCE :)

http://www.sqlite.org/download.html

SQLite Queries and Datatypes

Queries (Demo) Create Read Update Delete

DataTypes - Five NULL INTEGER REAL TEXT BLOB

The Major differences

No GRANT and REVOKE

No ALTER TABLE

No editable VIEWS

No JOIN operation

SQLite on Android SQLiteOpenHelper

override the methods onCreate() to create the database OnUpgrade() to change the schema

provides the methods DB Based

getReadableDatabase() getWriteableDatabase()

Querying rawQuery() Query()

Cursor-based getCount() moveToFirst() moveToNext()

SQLiteDatabase - Demo

Schema → namelist [ id | name ] Create & Upgrade

db.execSQL()

Insert, Update, Delete db.insert() db.update() db.delete()

Read db.rawQuery()

Stick Pad

Using APIs - OAuth

Social Networking sites are ruling us! We use lots of third-party applications – are we

secure? OAuth to the rescue! Oauth provides a method for users to grant

third-party access to their resources without sharing the passwords.

Inspired from Google AuthSub,Yahoo BBAuth and Flickr API

OAuth

TERMINOLOGY Oauth's Love Triangle

Client Server Resource Owner

Logging into an application without the application knowing your username and

password.

Traditional Authentication

Client uses its credential to access its resources hosted on the server.

Oauth Authentication

The Resource Owner is the person using the web application.

Client is the Web Application itself

Oauth Authentication

The client is split into Front-end and Back-end

Oauth Specification

http://hueniverse.com/oauth/guide/workflow/

Resource Owner – Jane Client – Beppa Server - Faji

Three credentials

Client Credentials Created when the Application was originally created

Temporary Credentials Created when the Resource Owner has to

authenticate himself to the server. Server will say that the client is requesting access

to private files.

Access Credentials Used by client to access the private resources in

the server.

top related