Developing for Android Erik Nykl. Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Mobile Apps in the Enterprise, Part 1 Who’s Doing What Presented by Sean Gallagher
Intro to Android and iOS CS-328 Dick Steflik. The Players Android – Open source mobile OS developed ny the Open Handset Alliance led by Google. Based.
CSS216 MOBILE PROGRAMMING Android Book: “Professional Android™ 2 Application Development” by Reto Meier, 2010 by: Andrey Bogdanchikov (
 Android is a software platform and operating system for mobile devices, based on the Linux kernel, developed by Google. It allows developers to write.
 یعنی چی؟  تاریخچه  مقایسه  مزایا  معایب.  1979–1992 Mobile phones use embedded systems to control operation.  Martin Cooper.
Smartphone Development By Mark Holm. Popular Smartphones Apple iPhoneAT&T exclusive HTC G1T-Mobile exclusive HTC myTouch 3gT-Mobile exclusive Palm PreSprint.
Android Overview. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner circle to do it! Mobile platform.
Chung Man Ho Willims Chow Man Kei Gary Kwok Pak Wai Lion.
Chan pak lim chau ho chit cheung tak ching yip pak ho g2
Student Name: Group.  Developed by Microsoft  Alliance with Nokia in 2011  4 main functions:  Outlook Mobile  Windows Media Player for Windows Mobile.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
SMARTPHONE OPERATION SYSTEM MARKET IN U.S. Ryan (Jang-Hoon) Doo ISM 158.
Introduction to Android Platform Overview
Native vs hybrid vs web mobile Application
Case study 2 Android – Mobile OS.
MOBILE APP DEVELOPMENT Presented by Md. Zakaria Chowdhury CEO, Webcraft Bangladesh Director, Sylhet IT Academy.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
ContentProviders. SQLite Database SQLite is a software library that implements aself- contained, serverless,zero- configuration,transactionalSQL database.
Introduction to Mobile Computing CSE 390 Fall 2010.
Survey of PC and Network Operating Systems
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Vs. Ease of Developing 3 rd Party Applications. Points of Interest Closed Source vs. Open Source – Does It Matter? Objective-C vs. Java – Implementation.
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
Smart Phone Laboratory ECEN 489 Srinivas Shakkottai.
Applied Pervasive Computing Presentation : Mobile Interaction Devices.
Embedded Systems Mohammad A. Gowayyed (c) 2012 Mohammad A. Gowayyed1.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
#gsa2012 Android Basics By: Amr Mohsen
Android Husam Abdel Rahman. Introduction Android Operating system is most popular operating system these days with the advance in voice communications.
Where it all Began.. Where it all Began. History of the Tablet 1989 – GridPad is first released. considered the first Tablet Computer, it inspires.
Mobile Device Programming
The Android Operating System I- Introduction II- History III- Features IV- Competitors V- References.
Visualizing Technology© 2012 Pearson Education, Inc. Publishing as Prentice Hall1 PowerPoint Presentation To Accompany Chapter 6 System Software.
Operating Systems for Wireless Mobile Devices Dr. Tal Lavian UC Berkeley Engineering, CET Why does.
Monday, August 31, 2015 CSCI 351 – Mobile Applications Development.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android Overview Shashank Kailash Gajbhiye. Why Mobile App Development? The fact that we can! Only a few years ago you had to be in the Motorola inner.
Monday, August 31, 2012 CSCI 333 – Systems Programming.
The I Phone Multimedia Group Project Jameelah Hogan Jamell Matthews.
Mobile Applications: Unit - I
Presented by Christopher Wilkins Jeff Titus Stephan Krach Pablo Bajo.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
EMBEDDED OPERATING SYSTEMS. DEFINITION An embedded operating system is a system for embedded computer systems These operating systems are designed to.
The Whole new Experience - By Mahesh Chauhan. Its sounds strange but the fact is that :-  More than 90% of the CPUs in the world are not in desktops.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By : Abhishek Verma Main Topics : 1. Introduction 2. Platform 3. Software Development 4. Overall Evaluation.
IPhone vs. iPad vs. Android Phone vs. Motorola fanjay.
System Software Chapter Handles technical details Works with end users, application software, and computer hardware Four types of programs –Operating.
Anatomy of a Smartphone Matthew Vartabedian (708)
Shlomo Golsherazian Jeff Heiser Etana Kenter Michael Rosenberg A.J. Shah Chelsea Schneider Danielle Zimmerman.
System Software Chapter Handles technical details Works with end users, application software, and computer hardware Four types of programs –Operating.
ANDROID OS Ravi Soni MTech (CS) III Sem. W HAT IS A NDROID ? Android is a software stack for mobile devices that includes an operating system, middleware.
Mobile Computing Lecture#01 Mobile Horizon. Leading Mobile Phone Technologies  iOS  Android  Blackberry  Symbian  Windows Phone  J2ME.
Embedded Operating system GROUP NO. 3 HAMZA MEHMOOD AHMED SAAD.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Introduction to Mobile Web Applications
Android.
Dynamics of Mobile Application Testing
Contents: Introduction Different Mobile Operating Systems
Software engineering in the mobile phone platform war.
Application Development A Tutorial Driven Course
Android Development Introduction to Android Development 2011/01/16
Presentation transcript:

Developing for Android Erik Nykl

Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s Java library) Use Hardware – Embedded Java & Code Efficiency

Mobile History Motorola DynaTAC 8000X – Released in 1983 – First mobile phone – 30 minute talk time – Cost only $4000 Rudy Krolopp – Lead Designer Picture:

Mobile History First PDA: Apple Newton released in 1993 (original iPad) Hand writing recognition Only three applications – Notes – Names – Dates Product was a big flop Picture:

Mobile History 2000 – Nokia/Ericsson releases Symbian OS 2001 – Microsoft announces Windows CE Pocket PC OS 2002 – Palm OS Treo – Allowed third-party applications that could be downloaded 2002 – RIM releases first BlackBerry

Mobile History 2007 – A major year in mobile – Early Nokia N95 First phone with WiFi, GPS, 5 MP camera, 3G, and TV-Out – Mid 2007 – Apple iPhone First multi-touch interface for smart phone Best mobile web browser at the time No OFFICIAL support for third party apps iOS 1.0 – November 2007 – Open Handset Alliance OHA was formed Android – An open source operating system built on the 2.6 Linux Kernel was released

Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s Java library) Use Hardware – Embedded Java & Code Efficiency

Why Android? Android is the fastest growing mobile operating system – In the Summer 2010 nearly 200,000 Android devices activated each day Android has the fastest growing App Store (Android Market) Android WILL be the dominant smart phone OS – Open source and freer application development – Open platform - hardware manufacturers can do whatever they want and competition has decreased hardware dev cycle (down to 6 months; Apple has yearly releases)

Why Android? Apple has first “successful” App Store Development is done in Objective-C – IDE: XCode Apple requires $99 to develop for the iPhone Apple screens each App and can remove an App from the store at any time for any reason – “Guilty until proven innocent” Apple can also blacklist your name and account Apple takes 30% of each sale Development pretty much requires a Mac

Why Android? Android’s App Store: Android Market Development done in Java – IDE: Preferred Eclipse, Netbeans, …, or none – Totally supportive for multiplatform development $25 developer signup fee Unfortunately also take 30% of sale price Relies on users to screen apps – “Innocent until proven guilty” Open hardware platform

Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s Java library) Use Hardware – Embedded Java & Code Efficiency

Mobile Software Process How can we develop for mobile applications? Will traditional development methods work? – Waterfall, RAD, Spiral, Incremental How about Agile? Mobile App Requirements – Shall be easy to use – Shall be responsive (OS & User) – Shall be delivered quickly to market

Mobile Software Process Mobile applications have a larger domain than desktop based applications – Not just a number crunching app – Informational Services – Content-based services – Location-based services

Mobile Software Process New challenges for developers – Wireless communication issues Switching from 3G to WiFi and back to 3G – Mobility issues Location dependent app looses GPS signal – Portability New OS every year with updates every 3-6 months Dozens of different hardware setups – New hardware every 6 months – Privacy Phone knows much more about you than your credit card information

Mobile Software Process A Hybrid Method Engineering Approach for Mobile Software Development – Vahid Rahimian, Raman Ramsin Developed using a process for making processes (Method Engineering)

Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s Java library) Use Hardware – Embedded Java & Code Efficiency

Writing Code! Finally, coding! Almost

Writing Code! Some fundamentals ndamentals.html ndamentals.html

Writing Code! So what all do we need? – Android SDK – Netbeans with Android plugin – Probably want some Android hardware – Don’t necessarily have to get a developer account quite yet

Writing Code! AndroidManifest.xml – Every application MUST have this file in the root directory (don’t worry, usually created for you) – Describes what stuff the app will use – Libraries, minimum API level, declares which permissions the app needs –

Writing Code! It IS Java right? – Yes, basically. Close enough at least. – Dalvik is the custom JVM for Android – Written by Dan Bornstein originally – Named after a village in Eyjafjörður, Iceland where some of his ancestors lived – Uses its own byte code (not Java byte code) – Uses its own library (no AWT or Swing) – As of Android 2.2 a JIT Compilier was added (speed increases of up to 450%!)

Writing Code! Good Practice – If something is going to take a long time spawn a thread!

Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s Java library) Use Hardware – Embedded Java & Code Efficiency

Hardware oid/hardware/Sensor.html oid/hardware/Sensor.html oid/hardware/SensorManager.html oid/hardware/SensorManager.html Accelerometer example rometer-t499.html rometer-t499.html

Developing for Android History of Mobile Why Android? Mobile Development Process Writing Code! – Android API (Google’s Java library) Use Hardware – Embedded Java & Code Efficiency

Embedded Java and Code Efficiency You are coding in an embedded environment! – Limited memory, disk space, battery length, and limited CPU power /design/performance.html /design/performance.html

Development Resources

References Book: Beginning Android 2; Mark L. Murphy Rahimian, V.; Ramsin, R.;, "Designing an agile methodology for mobile software development: A hybrid method engineering approach," Research Challenges in Information Science, RCIS Second International Conference on, vol., no., pp , 3-6 June 2008 doi: /RCIS URL: ber= http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= &isnum ber=