Introduction to Android™ Application Development: Android ...
Android application development
-
Upload
uc-san-diego -
Category
Technology
-
view
1.371 -
download
4
description
Transcript of Android application development
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.