Java for Mobile Devices - Free online course
Tags: java, mobile, tutorial, beginners
Published: 2022-08-09 11:59:44

Following is the full text and videos of an online course I created and host on teachable. A while back teachable pivoted from offering a free hosting option and so this (and soon other materials) will be available freely here.

The full course includes videos, slides and transcripts comprising of roughly 25 hours of material. It's somewhat out of date by the "latest and greatest" in Codename One e.g. it predated Maven support and was before we decided to focus on CSS. However, most of the concepts still apply and would probably work out of the box.

The first course covers all the basics of mobile development, how to build an app, etc. The next two posts will cover the more advanced materials culminating in full scale app development of clones of popular apps such as Facebook, Uber, Whatsapp, etc. These clones also cover the server component briefly so they include portions covering Spring Boot and other full stack concepts.

Comments are open so feel free to ask questions and I'll try to help as much as possible.

## Introduction
{% embed https://www.youtube.com/watch?v=CRq5dtrsmyU %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/Nh5YoJcRVmf2Mo %}

## Creating a Hello World App
Note: This is the old approach. I suggest checking out the newer approach [here](https://www.youtube.com/watch?v=rl6z7DD2-vg).

{% embed https://www.youtube.com/watch?v=73d65cvyQv4 %}

## Core Concepts of Mobile Development
{% embed https://www.youtube.com/watch?v=hwsWdhJHl8Q %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/bz2hMUfuRZTpiO %}

## What is Codename One
{% embed https://www.youtube.com/watch?v=XSztvFzQAr0 %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/FRIH23FLGA7cBj %}

## Anatomy of a Codename One Application

{% embed https://www.youtube.com/watch?v=8fxZVc1hw6Q %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/4KsLOPdx638ypo %}

## Internationalization and Localization

{% embed https://www.youtube.com/watch?v=32mkZymqa6E %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/kHKWQCFbJuwsIA %}

## Layout Basics
{% embed https://www.youtube.com/watch?v=4D_KUa2qv2o %}

## Theme Basics
Note: I would recommend focusing on CSS for newer applications

{% embed https://www.youtube.com/watch?v=cxllJwt10VU %}

## Adapting a UI Design
The demo source code for this section and the resource files are hosted in [this github project](https://github.com/shai-almog/ShoppingList).

{% embed https://www.youtube.com/watch?v=WT4cFceBWRA %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/xinNdC895Ecvjk %}

## Storage Filesystem and SQL
{% embed https://www.youtube.com/watch?v=_EXEN52wQvs %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/oyUOINZ361aa4u %}

## Threading and the EDT
{% embed https://www.youtube.com/watch?v=p6UFNw0nGik %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/sXBnJsQkBZSAoe %}

## Understanding Properties
{% embed https://www.youtube.com/watch?v=77N2t2n8rbQ %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/c3cDGphgH8Up5Z %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/gqrsxcfT4le4OO %}

## Push Notification
{% embed https://www.youtube.com/watch?v=8wzBpEp81Kc %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/i0VzL126tOSF5C %}

## Native Interfaces - Access Native Device Features
{% embed https://www.youtube.com/watch?v=2xKvvv7XoVQ %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/nv6tvDU0RbnB42 %}

{% embed https://www.slideshare.net/slideshow/embed_code/key/tGZYIOrywbta29 %}