Kotlin Android Apps - Eleftheria Batsou

Objective: Learn Kotlin by creating apps

Help: Android App Development Masterclass using Kotlin

Technologies: Kotlin, MaterialUI (& Github)

Editor: Android Studio

Duration: About 2 weeks

► To create these apps I followed the tutorial "Android App Development Masterclass using Kotlin" from Udemy, instructed by Tim Buchalka and Jean-Paul Roberts.

►  In every application I've done so far, I tried to learn and create something different. These apps are far from perfect, but it's a sample of my work and learning progress. 

► In the future, better apps are going to be added. My next goal is to study Kotlin through Developing Android Apps With Kotlin, a course from Udacity.

5. Task Timer

Task Timer App

About the task timer: In this app, you can define a task, add a description and an 'order' that you want the task to appear in your list of tasks. You can also edit or even delete the task. Of course, you can add multiple tasks as well they will be saved in a database. By long-tapping on a task, a timer will start and if you click it again the timer will stop. If you long click on a task but then long click on another task, then the timer for the first one will stop.

In this app you can also find the 'settings', from there you can change the starting day of the week (for example is it going to be Sunday or Monday) as well as the minimum duration your timer is going to work (for example you can set the timer to track the time only if a task runs for more than 2 minutes). Last but not least, you can find additional information about the app and the creator of it! 


I worked with:

- SQL databases and tables, I learned the basics actions like add/edit/delete plus a few more basic things…
- Fragments (swapping fragments, multi-pane fragments), and wow, fragments are so important in Kotlin! I had no idea!!
- Activity and Fragment lifecycle
- ViewModel, Singleton class, ContentProvider, UriMatcher, Mime Types, Extension functions, Coroutines, Shared preferences, Image Asset Studio
- Multiple layouts and different layouts for different APIs
- Dialogs and dialog callbacks, Seekbars
- Versioning and build.gradle, supporting older versions
- Fixing warnings and bugs


code | demo