Skip to main content

Smartphone (Android) Applet Developer Training Program (ICONapps) with Daniel Freeman

image

Done – Daniel Freeman (in front 5th from right), my colleagues and I at the end of the 5 days training.

I will be joining a 5-day intensive boot camp on Smartphone (Android) Applet Developer Training Program - ICONapps (Batch FOUR) which will be conducted from Sept 1-7, 2010 by Daniel Freeman.

Who is Daniel Freeman?

  • Android, Java application development expert, with well-regarded accomplishments in the field.
  • Joined British Telecom Laboratories. Became involved in the ‘Skyphone’ development and has beat four worldwide competitors to become an AEEC aeronautical standard.
  • Involved in standardization for the first Pan-European Digital Mobile (GSM) standard and CCITT standards committees in the USA.
  • Involved in My Voice Activity Detector for mobile telephony use, which became a European Standard. This algorithm is still implemented in every GSM mobile phone worldwide. (There are over 3.3 billion phones, and most are GSM).
  • Awarded the ‘IPU4+ Inventors Prize’ by the Intellectual Property Unit of BT for patented inventions.

 

The lessons covered

image

1)  The Basics: An introduction to the major components of an Android application, what tools and
languages one uses to make an Android application, and what an Android activity looks like.
2)  Simple GUIs, Part One: How to create a user interface using layout XML files, how to use fields,
labels, and buttons, and how to organize them into rows and columns on-screen.
3)  Simple GUIs, Part Two: How to organize widgets in other forms, and how to use checkboxes and
radio buttons.
4)  Development Tools: How to use the Dalvik Debug Monitor System (DDMS) to inspect error logs,
manipulate files on the emulator, and simulate incoming calls and GPS fixes. Also, how to use the
Hierarchy Viewer to inspect a running activity's user interface, to isolate problems and ensure the
user interface meets designer specifications.
5)  Selection Widgets: How to use adapters to convert data collections into rows in a list, how Android
operates with or without the use of a touch-screen, and how to use “spinners” (dropdown selection
lists).
6)  Fancy Lists: How to make rows in a list involve multiple pieces of data, and then how to do that
efficiently, without wasting memory or CPU time.
7)  Fancy Widgets: How to collect dates and times from users, how to implement user interfaces with
tabs, and how to otherwise put more information in an activity than can fit on a single screen.
8)  Menus and Messages: How to set up option menus (launched via the hardware MENU button),
how to set up context menus (launched via a long-tap on a user interface element), how to display
dialog boxes, and how to display short message “toasts” on-screen.
9)  Threads: How Android works with operating system threads, how to allow a background thread and
foreground thread to work together to update a user interface, and how to indicate to the user that
background processing is ongoing (“progress indicators”).

10)  The Activity Lifecycle: What causes activities to be created and destroyed; what you should do
when activities are created and destroyed; when activities are paused, stopped, started, and
resumed (and what to do in those cases); and how to save your user interface state in case the
activity is being ejected from RAM due to low memory conditions.
11)  Resources: How non-Java assets (e.g., images) are packaged in an Android application, how to
externalize and internationalize strings, and how to declare multiple layouts or drawables to
accommodate multiple screen sizes and densities.
12)  Databases: What SQLite is and how it relates to Android, how to create a database and update its
schema when the application is updated, how to query the database, how to manipulate the
contents of the database, and how to use transactions with the database.
13)  Using Multiple Activities: Why you may wish to use more than one activity to manage your
application's user interface, how to add a second (or subsequent) activity to your application, how to
launch other activities in your application, and how to integrate activities from the Android operating
system (e.g., browser, map) into your application.
14)  Preferences and Files: How to store user preferences in Android and where they reside on the
device, how to collect user preferences from the user via  the standard Android preference user
interface, and the limitations on reading and writing files using standard Java file I/O operations.
15)  Rotation Events: What happens by default when the user changes the screen orientation from
portrait to landscape, how  to maintain activity state when the orientation is changed, how to block
orientation changes, and how to have the orientation change always be triggered by the
accelerometer.

16)  Using HttpClient: How to access the Internet from your Android application, how to call out to Web
services using the HttpClient library, and how to parse XML or JSON data that the Web services
might return.
17)  Creating Services: What roles services play in an Android application, how to add a service to your
application, and how to define what that service will do.
18)  Using Services: How to start or bind to a service, what the difference is between starting and
binding to a service, and how to allow the service to asynchronously update an activity based upon
external actions (e.g., received email message).
19)  Remote Services: Why you might want to expose a service's API to other applications on the
device, what AIDL is and its role in remote services, how to convert a local service to one that
supports remote access, and how to support listener objects across process boundaries.
20)  Notifications: How to display an icon in the status bar (or play a sound, shake the phone, flash a
light, etc.) to let the user know about something that has gone on in the background (e.g. received
email message).
21)  Location Tracking: What sources of location data are available in Android, how to request that
Android notify you when the device moves, and how you and the user can collaborate to determine
the best possible source of location data available based on user criteria.
22)  Maps: Options for integrating maps into an Android application, how to integrate Google Maps into
an activity's user interface, how to control what the map is displaying, and how to highlight points of
interest on a map.
23)  Media: How to play back audio and video on an Android device, what media formats are supported,
and what limitations Android places on streaming media playback.
24)  Camera/Sensors: How to set up picture preview with the camera, how to take a picture with the
camera, how to find out what direction the device is pointing, and how to detect device movement in
three dimensions.
25)  App Widgets: What an app widget is, how to define a new app widget, and how to control what an
app widget looks like on the user's home screen.
26)  Advanced App Widgets: How to control when the app widget gets updated, how to launch
activities from an app widget, how to collect configuration settings from the user for an app widget,
and how to support multiple copies of an app widget for the same user.

27)  Testing: What JUnit is and how it is used outside of Android, how to run JUnit test suites in an
Android emulator, how Android extended JUnit to support GUI testing, and the usage of the “test
monkey” for simulating random user input.
28)  Production Applications: How to digitally sign Android applications, how to prepare an application
for distribution, how to upload an application to the Android Market, and how to distribute an
Android application outside of the Android Market.
29)  Making Money at Mobile: Recommendations on how to choose an application to build and how
you should go about promoting it, and other business models to consider beyond selling individual
applications to individual users.
30)  Android Beyond Java: Other ways to create Android applications without using Java (e.g.
HTML5), what the Native Development Kit is and why you would use it, and how to integrate
scripting languages into an Android application.
31) Other Mobile Platforms: Comparison of application development on iPhone, Windows Phone,
Blackberry, Symbian, WebOS, and Android.

Venue

image

What a tough training in this Ramadhan… I will survive!!!

 

image_thumb4 Android Developer in the Making…

Comments

Popular posts from this blog

Several English proverbs and the Malay pair

Or you could download here for the Malay proverbs app – https://play.google.com/store/apps/details?id=net.kerul.peribahasa English proverbs and the Malay pair Corpus Reference: Amir Muslim, 2009. Peribahasa dan ungkapan Inggeris-Melayu. DBP, Kuala Lumpur http://books.google.com.my/books/about/Peribahasa_dan_ungkapan_Inggeris_Melayu.html?id=bgwwQwAACAAJ CTRL+F to search Proverbs in English Definition in English Similar Malay Proverbs Definition in Malay 1 Where there is a country, there are people. A country must have people. Ada air adalah ikan. Ada negeri adalah rakyatnya. 2 Dry bread at home is better than roast meat home's the best hujan emas di negeri orang,hujan batu di negeri sendiri Betapa baik pun tempat orang, baik lagi tempat sendiri. 3 There's no accounting for tastes We can't assume that every people have a same feel Kepala sama hitam hati lain-lain. Dalam kehidupan ini, setiap insan berbeza cara, kesukaan, perangai, tabia

Contact Us at blog.kerul.net

Powered by EMF HTML Contact Form

Login JSON Android using Login Activity

I’ve been trying to release this tutorial quite a while. At last after a long hard effort. Since HttpClient is not supported any more in Android SDK 23, I have to resort to org.json.JSONObject and java.net.HttpURLConnection library to do online database with JSON. The objective of this tutorial is to log-in from a mobile client with the username and password stored in an online database facility. STEP 1: Create a new Android project, this time choose the LoginActivity .

Bootstrap Template for PHP database system - MyCompanyHR

HTML without framework is dull. Doing hard-coded CSS and JS are quite difficult with no promising result on cross platform compatibility. So I decided to explore BootStrap as they said it is the most popular web framework. What is BootStrap? - Bootstrap is the most popular HTML, CSS, and JavaScript framework for developing responsive, mobile-first web sites. (  http://www.w3schools.com/bootstrap/   ) Available here -  http://getbootstrap.com/ Why you need Flat-UI? Seems like a beautiful theme to make my site look professional. Anyway you could get variety of BootStrap theme out there, feel free to select here  http://bootstraphero.com/the-big-badass-list-of-twitter-bootstrap-resources/ Flat-UI is from DesignModo -   http://designmodo.com/flat/ Web Programming MyCompanyHR – PHP & MySQL mini project (with Boostrap HTML framework) Template 1: Template for the Lab Exercise. This is a project sample of a staff record management system. It has the PHP structured co

Pick a file using Intent.ACTION_GET_CONTENT

This tutorial is tested on Honeycomb 3.0 environment. In order to be used it in the lower level of Android API, I believe you could just change the target in the Android project. Screenshots Pick an image file using Intent.ACTION_GET_CONTENT The intention of this project is to choose an image file available in the device storage, and simply display it in an ImageView. The benefit of using Intent.ACTION_GET_CONTENT is you don’t have to develop open dialog box which is not available in the Android library. ACTION_GET_CONTENT with MIME type */* and category CATEGORY_OPENABLE -- Display all pickers for data that can be opened with ContentResolver.openInputStream() , allowing the user to pick one of them and then some data inside of it and returning the resulting URI to the caller. This can be used, for example, image chooser (as shown in this article).