Java for Mobile Devices - Free online course
Republication of old teachable content for free. This post covers the basics of Codename One. A cross platform mobile framework for Java/Kotlin
Table of contents
- Introduction
- Creating a Hello World App
- Core Concepts of Mobile Development
- What is Codename One
- Anatomy of a Codename One Application
- Internationalization and Localization
- Layout Basics
- Theme Basics
- Adapting a UI Design
- Storage Filesystem and SQL
- Threading and the EDT
- Understanding Properties
- Push Notification
- Native Interfaces - Access Native Device Features
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
Creating a Hello World App
Note: This is the old approach. I suggest checking out the newer approach here.
Core Concepts of Mobile Development
What is Codename One
Anatomy of a Codename One Application
Internationalization and Localization
Layout Basics
Theme Basics
Note: I would recommend focusing on CSS for newer applications
Adapting a UI Design
The demo source code for this section and the resource files are hosted in this github project.