• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Mobile Application Development: Lecture 01

Mobile Application Development: Lecture 01



Mobile Application Development: Lecture 01 ...

Mobile Application Development: Lecture 01
1. Learning Objectives & Workload
2. Administrative Trivia
3. Online Resources & Books
4. Android OS and its p a& its Place in the Mobile Computing World
5. Bird's Eye View of Android OS
6. My Journal to Android
7. Android Application Development Infrastructure



Total Views
Views on SlideShare
Embed Views



34 Embeds 427

http://www.vkedco.blogspot.com 188
http://vkedco.blogspot.com 160
http://vkedco.blogspot.in 17
http://www.vkedco.blogspot.in 10
http://www.vkedco.blogspot.co.uk 5
http://vkedco.blogspot.hu 4
http://www.vkedco.blogspot.de 4
http://vkedco.blogspot.co.uk 3
http://www.vkedco.blogspot.hu 3
http://vkedco.blogspot.fr 3
http://www.vkedco.blogspot.com.es 3
http://www.vkedco.blogspot.com.au 2
http://www.vkedco.blogspot.co.il 2
http://vkedco.blogspot.pt 2
http://vkedco.blogspot.de 2
http://vkedco.blogspot.gr 1
http://vkedco.blogspot.com.es 1
http://vkedco.blogspot.mx 1
http://vkedco.blogspot.sg 1
http://www.vkedco.blogspot.tw 1
http://www.vkedco.blogspot.com.br 1
http://vkedco.blogspot.co.il 1
http://www.vkedco.blogspot.nl 1
http://www.blogger.com 1
http://www.vkedco.blogspot.kr 1
http://vkedco.blogspot.kr 1
http://vkedco.blogspot.com.au 1
http://vkedco.blogspot.cz 1
http://vkedco.blogspot.dk 1
http://vkedco.blogspot.se 1
http://vkedco.blogspot.com.ar 1
http://vkedco.blogspot.co.at 1
http://www.vkedco.blogspot.gr 1
http://vkedco.blogspot.nl 1


Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Mobile Application Development: Lecture 01 Mobile Application Development: Lecture 01 Presentation Transcript

    • Mobile Application Development Lecture 01 Vladimir Kulyukin Department of Computer Science Utah State Universityhttp://www.youtube.com/vkedco www.vkedco.blogspot.com
    • Outline ● Class Overview: Learning Objectives & Workload ● Administrative Trivia ● Online Resources & Books ● Android OS and its place in the mobile computing world ● Birds Eye View of Android OS ● My journey to Android (why I chose it as my R&D platform) ● Android AppDev Infrastructurehttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Learning Objectives: Familiarity & Mastery ● Familiarity with Android OS ● Mastery: – basic Android UI: Views, Layouts, Widgets, UI XML Specs, Fragments – Android data communication and binding: intents, broadcast receivers, adapters – Android data management: shared preferences, files, SQLite, content providershttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Learning Objectives: Programmatic & Conceptual Exposure ● Programmatic and/or conceptual exposure to – background computation with services, threads, notifications, and asynchronous tasks – Android multimedia: auido, video, and camera – Location-based services: geocoding & map-based activities – Touchscreen: capturing and recognizing touchscreen gestureshttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Workload ● 10 programming assignments (50 points) ● 2 coding exams (20 points) ● Final project (30 points) ● All coding will be done in Java and Eclipse IDE ● Final project will require a short (3-5 pages) proposal ● Check the syllabus for the due dateshttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Administrative Trivia ● Assignments, exams, & projects will be submitted and graded via Dropbox ● If you do not have Dropbox installed on your machine, go to www.dropbox.com and take a few minutes to install it ● After you install it, send me an email with the subject CS3200 Dropbox Your First Name Your Last Name, e.g. CS3200 Dropbox John Nicholson from the email you intend to use for this class ● If your name is on the class roster, I will create a Dropbox folder and share it with youhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Online Resources ● http://developer.android.com/index.html is the official Android site that contains all one ever needs to know – Pro: comprehensive and in-depth – Con: tends to be high-level and abstract ● www.stackoverflow.com has many quick fix answers – Pro: quick solutions to common problems – Con: some are buggy ● Blogs and forums (too many to enumerate)http://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Texts Rito Meier, Professional Android 2 Application Development, Wiley Publishers The e-copy of this book is available on Safari bookshttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Texts S. Hashimi, S. Komatineni, D. MacLean, Pro Android 2, APRESShttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Texts M. Murphy, Beginning Android 2, APRESShttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Birds Eye View of Android OShttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Dalvik VM ● A process VM, aka an application VM, runs as a normal application inside a host OS and supports a single process; when the process is destroyed the process VM exits ● Dalvik VM is the process VM in Android OS ● Dalvik VM was originally developed by Dan Bornstein and named after the village of Dalvik in Iceland ● Dalvik VM is optimized for mobile devices: battery consumption, CPU capability, tiny footprint, JIT compilation ● Standard Java Dev: source → byte code → Java VM ● Android Dev: source → Dalvik byte code (Dex compiler) → Dalvik VM EXEhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Programming Languages for Android OS ● Java (Java on Android = Java SE – AWT/Swing + Android API) ● C/C++ (Android Native Development Kit) ● Python & Perl (SL4A – Scripting Layer for Android)http://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Android OS in Mobile Computing Worldhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Android OS Version Distribution (Aug. 2012)http://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Android OS Version Distribution (Aug. 2012)http://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • My Journey to Android ● My main R&D area is assistive technology (AT) ● The main objective of AT is the design, development, and evaluation of accommodation systems for individuals with specific disabilities for specific environments ● Advances in computer vision, robotics, wearable and mobile computing are desirable by- products, but are not, in and of themselves, the end objectivehttp://www.youtube.com/vkedco www.vkedco.blogspot.com
    • Why Is Blind Shopping Difficult? A modern supermarket has a median area of 4 300 m2, stocks an average of 38 718 products, and services approximately 600 customers per hour (6 000 to 7 000 per day)http://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Motivational Quote “Shopping independently would be the next best thing to driving.” A blind individual at our focus group meeting at the USU Center for Persons with Disabilitieshttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • RoboCarthttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • ShopTalkhttp://www.youtube.com/vkedco www.vkedco.blogspot.com
    • ShopMobile Computer Vision + Camera Alignment = Independent Eyes-Free Store Browsing on Smartphoneshttp://www.youtube.com/vkedco www.vkedco.blogspot.com
    • ShopMobile Barcode Scanning Camera Alignmenthttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • TeleShop Caregiver Blind Shopper Caregiver Wi-Fi/3G/4Ghttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Hardware Evolution 2002-2005 2006-2008 2008-2010 2010 -Now RoboCart ShopTalk ShopMobilehttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Why I Chose Android ● Free IDE and Emulators on all platforms (Windows, Linux, Mac) ● Ability to program in main stream programming languages (Java, C/C++, Python) ● Open-source culture: easy distribution of not only concepts and ideas but also of source code ● Almost no top-down app certificationhttp://www.youtube.com/vkedco www.vkedco.blogspot.com
    • Dev Targets ● We will target Android OS 2.3.X (Gingerbread) with occasional field trips into 3.X and 4.X ● Real Android phones will not be necessary to complete assignments, coding exams, and projects: the emulator will be sufficient ● 8 Google Nexus 7 phones will be available for checkout at the CS Department for the final projectshttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Android AppDev Infrastructure ● OS: Windows (XP or later), Linux (Ubuntu 10.10 or later), Mac OS (10.x or later) ● JDK (6 or 7) and JRE ● http://www.oracle.com/technetwork/java/javase/downloads/index.html ● Android SDK ● http://developer.android.com/sdk/index.html ● Eclipse IDE (I use Eclipse Helios 3.6.2) ● ADT Plugin for Eclipse IDEhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Eclipse IDE Tips After installing Eclipse IDE, create a new workspace for Android AppDev in the Workspace Launcherhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Eclipse IDE Tips After installing Eclipse ADT plugin, make sure that you have icons for SDK Manager, AVD Managers, & DDMShttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Eclipse IDE Tips When creating/editing an AVD, enable snapshot: the emulator launches from the snapshot much fasterhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Eclipse IDE Tips When launching an AVD, launch from the snapshot unless you want to start freshhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • AnDev Infrastructure Screencasts ● I did the following screencasts for my previous class on Android Programming ● While I targeted Linux and some package and tool versions are obsolete, the logical steps are still valid ● Even a cursory watch may be helpful when you are setting up the AnDev infrastructurehttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Screencast 01: Software Installationhttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • Screencast 02: Creating AVDshttp://www.youtube.com/vkedco http://www.vkedco.blogspot.com
    • References ● developer.android.com ● developer.android.com/about/dashboards/index.html ● www.arm.com/images/androidStack.jpg ● www.engadget.com ● http://www.youtube.com/vkedco ● http://www.youtube.com/csatlusuhttp://www.youtube.com/vkedco www.vkedco.blogspot.com