Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android Crash Course checklist

Android Crash Course checklist

A list of basic topics that are fundamental to Android application development.

I recently have the opportunity to introduce Android development to a group of developers who want to hone their skill in Android development and learning it from the ground up. So I made the list that lists some of the common topic found when developing Android application to act as achievement confirmation and milestone.

Why created my own and not using Google's own material? This checklist does not go into details in any subject at all. It is meant to accompanied new developer when adventuring in Android tutorial on http://d.android.com as that can overwhelm unprepared newcomers quite easily.

The list is structured so that part of it reflect what you would learn from Google's Android Application Development course on Udacity so those learning can recollect what they learned as a confirmation.

I hope someone find it useful. Feedback welcome :)

Poohdish Rattanavijai

August 25, 2014
Tweet

More Decks by Poohdish Rattanavijai

Other Decks in Programming

Transcript

  1. What's the purpose of this To ensure that you understand

    the necessary technical elements to be able to develop Android application. This presentation served as a checklist, you will need to research on the topic among yourselves. You should not limit yourself only to this checklist, if it easy for you go out and explore.
  2. It is important to note that 1. The topic is

    not in any particular order. Use your judgement whether to move on or research more on the next topic. 2. It is totally OK to not understand something. Feel free to ask for tips. 3. Have fun. It's very important to enjoy what you do to produce a good product.
  3. Getting started 1. Understand how to config Logcat to print

    log in different level. 2. Understand how to access API document for various versions. 3. Understand the different between main thread and what should or should not be done on it. 4. Toast! The simplest notification on Android.
  4. View Controller 1. Activity, understand lifecycle, how to display views,

    handle event. 2. Fragment, understand lifecycle, how to display views, handle event, difference between Activity. 3. ActionBar, understand how to change title and style, add item to menu.
  5. Layout & View 1. Different between each standard Layout (LinearLayout,

    RelativeLayout, FrameLayout, TableLayout, GridLayout) 2. Input widgets such as RadioButton, Checkbox, Switch, ImageView, ImageButton, Spinner 3. Reusing layout in other layouts, understanding how to include, merge layout. 4. Displaying different layout for different resolution.
  6. Application Flows 1. Intent, understand how to start your own

    Activity, different between implicit & Explicit intent, able to receive implicit intent. 2. Bundle, understand how to pass values with intent, able to pass your own object using Bundle.
  7. Saving Data 1. SharedPreferences, understand lifecycle, how to save/load data

    using SharedPreferences. 2. Writing file, Write file to cache, to local folder, how to hide written from file browser. 3. SQLite, able to create/update SQLite using SQLiteOpenHelper, store/retreive data from SQLite.
  8. Thread & Async 1. Thread & Handler, how to create

    a background thread, trigger update, stop thread. 2. AsyncTask, understand lifecycle, how to start and execute background task. 3. Communicate from background to main thread.
  9. Network I/O 1. Utilise HTTP Request to connect to web

    service. 2. Service, understand lifecycle, how to activate it, how application communicate with Service.
  10. Raw Touch Input 1. On-screen Keyboard, understand how to request

    keyboard input for various situation (email, phone number, password) using IME, able to intercept key pressed. 2. MotionEvent, able to handle touch up/down event, drag movement, multi-touch detection. 3. GestureDetector, Handle touch event on view using GestureDetector.
  11. UI Collection 1. ListView, understand lifecycle of the view and

    its children, populate data using Adapter. 2. GridView, understand lifecycle of the view and its children, populate data using Adapter. 3. ViewPager, understand how multiple views in the collection related, how to implement smooth transition to the next view.
  12. UI Collection (cont.) 1. ViewGroup, understand lifecycle of the view

    and its children, understand relationship between parent and child view. 2. Adapter, understand how to handle multiple views within single UI collection. 3. ViewHolder pattern, understand how and why should we use ViewHolder. 4. Lazy loading pattern, understand how to implement infinite scroll, .
  13. Features & Permissions 1. Permission, understand Android permission and when

    to use them. 2. Feature, understand the different between permission and feature.
  14. Memory 1. Able to investigate memory usage or leak using

    GC in Logcat 2. Understand how view recycling work 3. Able to resize image with minimum memory usage. • Dont use System.GC();
  15. Design & UX 1. Learn about principle of Android design.

    2. Learn about designing for Mobile application. 3. Learn about Android design patterns. 4. Learn about Android navigation.
  16. Extras 1. Animation, apply transition to Activity, Fragment for Android

    version 4.0.3 and 2.3.7. 2. Dependency Injection using Dagger. 3. Connect API using Retrofit. 4. Utilize EventBus using Otto. 5. Use Google Map to display map inside application. 6. Draw custom view of your choice.