Android Programming Dr. Michael A. Stachiw Computers on the Farm – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • The Android operating system is widely used in: – Cell phones – Tablets – Other mobile devices • Developed by Google • A subset of the Linux operating system. © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Capabilities of Android powered devices (varies by device): – – – – – – GPS Internet (wi-fi & cell) Camera Voice/Sound Movement/Orientation Touch Screen © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Traditionally to program Android powered devices you would use such tools as “Eclipse”, a Java IDE or “App Inventor” a web based development tool. • “App inventor” has been dropped by Google • Each of these tools are “free” and use “open the open source” licensing © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Problem is five fold: – Learning new development tools – Learning new paradigms & vocabulary – Developing user interface without visual tools – Learning new programming language – Pain getting developed software to actual device © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • An easy to learn, and easy to use “new” programming tool for Android powered devices is “Basic4Android” • Uses a Visual Basic (© Microsoft) like language • IDE with visual design of GUI in both virtual device, emulator & actual device • Costs $49 USD (Standard), $99 USD for Enterprise version © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming – Basic4Android • Free evaluation version can be used for 30 days • Very robust downloadable manual & user support forum • RAD tool of choice © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • General Features: – Simple and powerful tool – IDE and programming language 100% focused on Android development – Compiles to native byte-code. No runtime libraries are required. Created APK files are exactly the same as APK files created with Java / Eclipse – Performance is similar to applications written with Java – Event driven programming language similar to Visual Basic with support for objects and code modules © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • General Features: – Event driven programming language similar to Visual Basic with support for objects and code modules – No need to write any XML files – Highly extensible with support for custom Java libraries – Large, active and friendly community of developers. Over 18,000 registered developers! – The only available true WYSIWYG visual editor for Android. The visual editor supports multiple screens and resolutions © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • General Features: – All Android phones and tablets starting with Android 1.6 and up to 4.0 are supported – Modern IDE with auto-complete, built-in documentation, internal index New! and other advanced features – Powerful step-by-step debugger – Screen Capture Tool © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Supports all Android core features including: – – – – – – – – – – SQL databases GPS Home screen widgets and live wallpapers Background services and broadcast listeners Bluetooth (serial ports) Phone features: phone calls, sms, contacts, call logs and others USB host and accessory modes Web services Camera XML, JSON and CSV © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Supports all Android core features including: – – – – – – – – Views animations Multi-touch gestures Networking (TCP, UDP, FTP, SMTP and POP3) Push notifications (C2DM) New! Text to speech and voice recognition AdMob ads and other ads platforms OpenGL Graphics and charts © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Supports all Android core features including: – Sensors – Files I/O – Integrate with services such as: Parse, Google services, Twitter, Facebook and others – Objects serialization – Sip / Voip © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 View of the Basic4Android Tools © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Note: Developing applications and using the emulator to test is fine, but you must have access to a real Android device(s) and test. You should always test against the type of devices that your software is targeted. © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Tablet © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 USB Cable © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Micro SD memory Card © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 7” Tablet Phone © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Android Programming • Challenges (to name a few): – Orientation – Landscape vs. Portrait – Screen Size – Various sizes – Device Capabilities – GPS and camera © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 PUBLISHING YOUR ANDROID APP Screen Shot(s) Icon Image Also Required: •APK file •XML manifest file © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 PUBLISHING YOUR ANDROID APP Market Places: •Market.android.com •Getjar.com •AndAppOnline.com •Mobihand.com •Aproov.com •Barnes & Noble •Kindle/Amazon © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Additional Resources: • www.basic4ppc.com • Android Application Development for Dummies; Donn Felker • App Inventor for Android: Build Your Own Apps – No Experience Required; Jason Tyler • Beginning Android; Mark L. Murphy © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Additional Resources: • Android Application Development; Rick Rogers, John Lombardo, Zigurd Mednieks & Blake Meike • Hello, Android; Ed Burnette • Android Programming Tutorials; Mark L. Murphy © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012 Dr. Michael Stachiw 10715 Kahlmeyer Dr. St. Louis, MO 63132 Phone: 314-428-3156 Fax: 314-428-4102 Dr.Mike@FeedDealer.com www.FeedDealer.com © Strategic Mapping & Data Services LLC – Dr. Michael Stachiw – February 2012