Android Mobile Device Programming  Educational Consultancy

Android Mobile Device Programming Training Services

Educational Consultancy - Android Mobile Device Programming

Java Training Sitemap

Submit Java Questions

Java Platform and Application Development

Java New York Schedule

Definition of Service

Delivery Medium

Web-based Training Services



Android OS Mobile Devices Application Development

 
Operational Challenge Android IDE Tools Android IDE Development Environments
Client Requirements Android Applications Best Practices and Guidelines


 
Information Technology Infrastructure - Open Source Software Alternative


Open Source Software



Technology Updates and Learning Path

Android Honeycomb
and Ice Cream Sandwich
HTML5
Smart Phones and Mobile Devices Java Language

Mobile Device Programming Learning Path

 

Google Android Courses
Android Application Development

 

GXT: Fundamentals
GXT: Advanced
GWT: Google Web Toolkit



Java Training Program

The Java language training program can be extended
to include Google Android application development.

Java Platform and Language

 

 

Delivery Medium and Private Courses - Alternative to Source Software Companies

Alternative to the Information Technology
Training by the Software Companies

 

 

Cross Platform Expertise and Experienced Staff

Longstanding Experience in
Information Technology

 

 

 

Content Delivery Selection - z/OS JCL files to PC Batch Files

Content Delivery Selection

Operational Challenge

Organizations are being challenged to develop applications for utilization on mobile devices and integration into its existing information technology infrastructure.

The requirement is to develop apps using the Android platform for the leading mobile and wireless manufacturer devices: T-Mobile G1,HTC Nexus, HTC Evo4G, and Motorola Droid. The foundation for the mobile programming are principles of application design applied to creating effective user interfaces, working with limited memory resources, having weak or imperfect communication services and exploring the features of the device. The code is developed from the Android API: data storage, networking, telephony, location-based services, multimedia, graphics, and hardware.

The following issues have been researched:

  • The setup of the SDK in order to prepare a development environment, ensure that a computer meets the system requirements.

    • Install the SDK, install the ADT Plugin for Eclipse, and add Android platforms and other components to the SDK.

  • Using the Eclipse Development Environment for Java to develop and debug Android applications on the emulator and handsets.

  • The Android SDK featureset and how to develop applications.

  • The user interface element and the drawing and animation abilities provided in the Android SDK.

  • Differences between the mobile development process in relation to that used with the client/server desktop.

  • The optional hardware APIs which are available.

  • How to design for and utilize notifications and services.

  • Implementing quality assurance.

  • How to package Android applications for deployment.


Development Environments and APIs

CETi staff and Technology Partners have been evaluating the major development environments:

Eclipse Java IDE Eclipse JDT Plug-in
WTP: Web Tools Platform Java SE Development Kit

Android SDK ADT Plug-in for Eclipse
NDK Tools Revisions SDK Tools Revision


Android IDE Tools and Development Environments

Tool Functionality
Dalvik Debug Monitor Server - ddms Used for debugging Android applications.
Dmtracedump Generates graphical call-stack diagrams from trace log files. The tool uses the Graphviz Dot utility for creating the graphical output. The Graphviz will be needed to be installed prior to running dmtracedump.
Hierarchy Viewer - hierarchyviewer Used to debug and optimize an Android application's user interface.
hprof-conv Converts the HPROF file generated by the Android SDK tools to a standard format that can be reviewed in a profiling tool.
Layoutopt Used to analyze an application's layouts in order to that they can be optimized.
Mksdcard Creates a disk image that can be used with the emulator to simulate the presence of an external storage card.
Monkey Runs on an emulator or device and generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as system-level events. The Monkey is used for stress-testing applications under development.
Monkeyrunner Provides an API for writing programs that control an Android device or emulator from outside of Android code.
ProGuard Shrinks, optimizes, and obfuscates code by removing unused code and renaming classes, fields, and methods with semantically obscure names.
sqlite3 Access the SQLite data files created and used by Android applications.
Traceview Provides a graphical viewer for execution logs saved by an application.
Zipalign Optimizes .apk files by ensuring that all uncompressed data starts with a particular alignment relative to the start of the file. The Zipalign should always be used to align .apk files after they have been signed.

 

Environment Functionality
IntelliJ IDEA 10 IntelliJ IDEA Community Edition has an Android development plugin; it is available in the free edition of IntelliJ IDEA starting with version 10.
Eclipse A multi-language software development environment comprising an IDE: Integrated Development Environment and an extensible plug-in system.
App Inventor for Android A development environment designed for the user without programming experience that is used to build an app for the Android operating system.
MOTODEV Studio Create new projects and Android classes using simple wizards. It economizes on entering repetitive code by generating source from XML layout files.
Titanium A free open source application development platform which provides the capability to create native mobile, tablet, and desktop application. It assumes web skill experience with: JavaScript, HTML, CSS, Python, Ruby, or PHP.

 

Client Requirements

These are the specifications that SYS-ED staff and CETi Technology Partners are evaluating and prototyping code.

  • Allow the user to request an extract of an Oracle database to be stored and accessed on the phone using local storage.

  • Display an image and allow the user to click on the image.

    • The location on the image where the click has been invoked will determine the site of that the redirect occurrence.

  • Determine the sales tax based on the location of the phone.

  • SQLite is an open source project written in the C language which provides a general database layer. Android includes a thin layer to use SQLite from Java.

    • Develop a basic application for the user to supply a criteria and the program extracts and presents the result table.

  • Provide a list of products on the smartphone which can be moved around the screen by finger movement and gestures. Avoid the issue of a user rotating the phone from portrait to horizontal mode and having the app is shut down and then restarted.

 

Android Applications

 SYS-ED courses and training programs utilize case studies and hands-on exercises to:

  • Build the mobile client - form factors, local storage, connect to WiFi, and WebView.
    • WebView displays web pages and speech control.
  • Use services on the phone - data storage and manipulation, synchronization, capturing pictures, sound, and location.
  • Connect with services - authentication, service design, filtering, and notifications.
  • Identify and appreciate the differences between a Web App and a mobile web page.

 
Best Practices and Guidelines

SYS-ED staff and CETi Technology Partners have been testing code and evaluating white papers in conjunction with verifying best practices and guidelines.

  • Performing signature verification tasks on a server.
  • Utilization of secure random cryptographic nonces.
  • Understanding and designing touch mode.
  • Support interaction between applications.
  • Enable and configure StrictMode within an application.