1 / 26

Introduction to the Android Ecosystem

Introduction to the Android Ecosystem. Philip Hays Colin Bellmore. Welcome. Philip Hays (pmh6059@rit.edu) BS/MS Computer Engineer Bar code scanning at Honeywell Technologies Senior Design Project (Home Health Station) Thesis (ASL Transcription to Text) Colin Bellmore

amil
Download Presentation

Introduction to the Android Ecosystem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to the Android Ecosystem Philip Hays Colin Bellmore

  2. Welcome • Philip Hays (pmh6059@rit.edu) • BS/MS Computer Engineer • Bar code scanning at Honeywell Technologies • Senior Design Project (Home Health Station) • Thesis (ASL Transcription to Text) • Colin Bellmore • BS/MS Computer Engineer • Senior Design Project (Home Health Station)

  3. Welcome • Ask freely at anytime. • I am willing to focus on one topic more if needed. • URL to Slides • Sign up on sheet if you desire materials after.

  4. Syllabus • Brief history • Android Concepts • MIT App Inventor: • Working Demo • Step by Step • Free play • Advanced Development (Eclipse) • Simple • Multilanguage • Education applications

  5. Begin • Google purchased Android Inc. in 2005 • Unveiled Open Handset Alliance in 2007 • Source code is open sourced under Apache license • Apps written in customized version of Java using the Dalvik virtual machine. • Low barrier entry for development and entrance to market

  6. Progress • Became worlds leading smartphone platform end of 2010 • 2012 so far: 400 million devices activated, 1 million per day, 59% of world market share • 190 countries • Thousands of features http://developer.android.com/about/index.htmlhttp://www.pcworld.com/article/256155/android_apple_own_80_of_global_smartphone_market_microsofts_share_22.html

  7. Present

  8. Future • Latest Release: Jelly Bean • Triple buffering • Google Now • Global Languages • Expandable Notifications • App Encryption

  9. MIT App Inventor • Use simple concepts to create apps • Connect puzzle pieces • Online tool • Free

  10. MIT App Inventor • ‘Blocks Editor’ creates functionality

  11. MIT App Inventor • Main Site • For Teachers • Course In A Box • Code Snippets • San Francisco App Course Story

  12. Basics: Activity Cycle • Screen which users interact with • Application made of multiple activities

  13. Basics: View • Basic building blocks for the user interface • Textboxes, image views, buttons, widgets, ect. • Created in java or xml • Holds: • Properties: type, color, text, image. • Focus: respond to user input • Listener: respond to events, update, movement • Visibility

  14. Basics: Processes/Threads • Generally: Activity = One Process • All functions run in this process. • Main process = UI Thread. • Create extra worker threads to do other work.

  15. Basics: Services • Perform long running operations in the background w/o user input. • File transfer • Perform work while user moves to a different application • Bind to other services • Have application bind to music playback service already running • Seen sometimes in notification bar w/ icon • It is NOT another thread, keeps application process running in background w/ higher priority.

  16. Basics: Intent • Send information to other applications other than own • Start background service • Notify another application of a change • Launch another application • Send contact to dialer • Open an image viewer • Send to twitter/facebook • Interoperability built into android

  17. Basics: Sensors/Connectivity • Accelerometer • Gyroscope • Light • Magnetic • Orientation • Pressure • Wi-Fi • Cellular Data • 3G -> 4G • Blue-tooth • Near Field Communications • Google Wallet

  18. Basics: Permissions • Define what the application has access to. • Security: Helps prevent malicious applications. • Cannot access any personal data w/o. • Internet • Contacts • Play music • GPS location • WiFi • Battery stats • Bluetooth • Camera • Manage Accounts • Read Calendar • Read/Send SMS • Record Audio • Vibrate • Set time • Read Memory

  19. Eclipse Development • Developer Site • Install Environment • Built in plug ins • Standard way of development • All Java + native languages (C, C++)

  20. Simple Development • Notepad Example: • Should be preloaded on phone. • Shows simple text layouts • Using Intents to start other activities • Extra options button • Adding functionality to built in

  21. Demo code

  22. Advanced Development • My Thesis: ASL Fingerspelling • I have access to the source code.  • Work in Progress • Includes: • Real-Time Video • Native Language: C++ through Java Native Interface (JNI) • OpenCV: Computer Vision libraries • Network Communication • Multi-Threading

  23. Advanced Development • Process: • Video frame selected • Skin detected by Color Segmentation • Hand singled out • Processing to edge image • Data compression (PCA, LPP)* • Classification (SVM)* • Return result to user • Write text or play music! * You do not need to understand these

  24. Advanced Development • Look at some of the source

  25. Education Applications • Readers, Quiz Apps, Note takers • Evernote • Lecture Notes • Tools for Teachers • Anatomy Test • LHC • Star Chart • Babbel language learner

  26. Anything you want to know?

More Related