English French German Italian Portuguese Russian Spanish


  • Programming Training

    business_appsInterSource offers live instructor-led courses on all important programming technologies, including C#, C/C#, PHP and Visual Basic. We can also arrange training on many less-known but highly useful languages. We can teach courses on a variety of additional topics; please request an offer if you need a course which is not indicated on the site.

    These live classes are offered both on client sites, at our Geneva training center, and via a Web interface.

  • About Programming

    Within software engineering, programming (the implementation) is regarded as one phase in a software development process, normally following closely on the heels of the requirements gathering phase.

    Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behavior (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

    Read More
  • Course Details Programming

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

Android 4 Nuts and Bolts

 PDF PrintEmail

Course duration

  • 5 Days

Course Outline

This Android training is intended for experienced developers who wish to learn how to develop applications for the Android operating system from Google. Students will build various small example app, service, and widget projects and also work up larger case-study applications involving various UI-design techniques. We work primarily with Android 2.3, but also look ahead to some features and development styles for Android 3.x and 4.0.

  • Learn about the Android OS architecture.
  • Learn to install and use appropriate tools for Android development, including IDE, device emulator, and profiling tools.
  • Learn about the Android application architecture, including the roles of the task stack, activities, and services.
  • Learn to build user interfaces with views, form widgets, text input, lists, tables, and more.
  • Learn to use advanced UI widgets for scrolling, tabbing, and layout control.
  • Learn to use options and context menus.
  • Learn to store application data on the mobile device, in internal or external storage locations.
  • Learn how to support user-specific preferences using the Android Preferences API.
  • No prior knowledge of the Android OS is required. However, attendees should be generally familiar with modern user interface development.
  • Students should also have knowledge of the Java programming language and the development of Java Enterprise applications.
  • Exposure to related technology including web applications, user-interface design, SQL, XML, and web services, all are beneficial but none are required.
  1. The Android Operating System
    1. Mobile Form Factors
    2. Versions of Android
    3. Applications and APK Files
    4. Process Architecture
    5. The Role of Java
    6. Hello, Dalvik
    7. What's In, What's Out
    8. Services
    9. User Interface
    10. Memory and Storage
    11. Operating-System Services
    12. Inter-Process Communication
  2. Android Development
    1. The Android SDK
    2. The SDK and AVD Managers
    3. Configuring the Emulator
    4. Eclipse
    5. Resources
    6. APK Files
    7. Build Process
    8. The R Class
    9. Assets
    10. The Dalvik Debug Monitor Server
    11. The Android Debugger (adb)
    12. Command Shells
    13. The Android Log and LogCat
    14. Ant
  3. Applications
    1. Activities
    2. Activity Lifecycle
    3. The onCreate Method
    4. Layouts and Views
    5. The findViewById Method
    6. Tasks and the "Back Stack"
    7. Intents and Results
    8. startActivity and Related Methods
    9. Custom Application Classes
    10. Shared Application State
    11. Centralized Flow Control
  4. User Interface Design
    1. XML Layouts
    2. Layout Parameters
    3. The Box Model
    4. Gravity
    5. The LayoutInflater Service
    6. The <LinearLayout>
    7. The <RelativeLayout>
    8. Views and Adapters
    9. Form Widgets
  5. Views, Adapters, and Dialogs
    1. Styles and Themes
    2. <include> and <merge>
    3. View Orientation
    4. Adapters
    5. Dialogs
    6. onCreateDialog and Related Methods
    7. Using AlertDialog
    8. Fragments and Designing for Tablets
    9. Phone/Tablet Portability
  6. Working with Text
    1. The <TextView>
    2. The <EditText>
    3. Input Methods
    4. Input Types: Phone, E-mail, Date, Time ...
    5. DatePicker and TimePicker
    6. Date- and Time-Picking Dialogs
    7. Providing Auto-Completion
    8. Using the Clipboard
    9. Linkification
  7. Working with Lists
    1. AdapterView and Subclasses
    2. Adapter and Subinterfaces
    3. ListView and ListAdapter
    4. Spinner and SpinnerAdapter
    5. Handling Item Selection
    6. Custom Adapters
    7. ExpandableListView and ExpandableListAdapter
  8. Working with Tables
    1. The <TableLayout> and <TableRow>
    2. Defining Table Cells
    3. Static Table Layouts
    4. Dynamic Tables
    5. Binding Data
    6. Using a Template Row
    7. Managing IDs
  9. Graphics and Low-Level Events
    1. Drawing on a Canvas
    2. The Paint Object
    3. Handling Size and Orientation Changes
    4. Handling Touch Events
    5. Working with Drawables
    6. Shape Drawables
    7. Bitmap Drawables
    8. 9-Patch Bitmaps
    9. Custom Drawables
    10. The Drawing Cache and Working with Bitmaps
  10. Menus
    1. Menus and Views
    2. Menu Resources
    3. The MenuInflater Service
    4. The Options Menu
    5. The Context Menu
    6. The <Menu>
    7. The Menu and MenuItem Classes
    8. The onOptionsItemSelected and onContextItemSelected Methods
    9. Handling Menu Selections
    10. The Escape from switch/case!
    11. Using a Dispatch Map
    12. Building Menus Dynamically
  11. Local Storage
    1. The Android File System
    2. Internal Storage
    3. File Formats
    4. Parsing JSON
    5. The openFileInput and openFileOutput Methods
    6. Storage and the Application Lifecycle
    7. External Storage
    8. Private Storage vs. Public Media
    9. Permissions
    10. Checking for Availability
    11. getExternalStorageDir and Related Methods
    12. API Level Differences
    13. Preferences
    14. Preferences Resources
    15. The PreferencesActivity
    16. The PreferencesManager
    17. Reading Preferences

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)

For an overall view of our offerings, please visit us at www.intersource.ch.