Brainmatics

Android Fundamentals with Kotlin

adobe flashKotlin adalah bahasa pemrograman yang dirancang dan dikembangkan oleh Jetbrains, difokuskan untuk menjadi bahasa pemrograman yang modern, evolusi konstan, dan dapat dieksekusi pada Java Virtual Machine (JVM). Hal ini membuat kotlin sebagai bahasa pemrograman yang sempurna untuk digunakan dalam pengembangan aplikasi Android.

Java adalah bahasa pemrograman yang paling banyak digunakan untuk pengembangan Android, namun terdapat beberapa kelemahan di antaranya adalah rawan error dan lambat untuk memodernisasi. Kotlin adalah alternatif yang layak untuk menggantikan Java sebagai bahasa pemrograman yang cocok dan sempurna untuk Android. Anda bisa memanggil kode Java dari Kotlin dan sebaliknya dengan mulus. Kotlin dan Java menghasilkan bytecode yang sama sehingga tidak ada kekhawatiran terhadap bagaimana penggunaan Kotlin sebagai pengganti Java.

Android Fundamentlas with Kontlin mempelajari bagaimana menggunakan bahasa pemrograman Kotlin. Dalam training ini peserta akan mempelajari cara membuat aplikasi Android menggunakan Kotlin, mengeksplor Android Studio dan Struktur Projek. Training mengajari para pemula tentang hal penting dari Kotlin dengan cepat sehingga peserta dapat membangun dan mengembangkan aplikasi Android dengan praktis.

OBJECTIVES

  1. Memahami bahasa pemrograman Kotlin
  2. Mampu menggunakan IDE untuk pengembangan Android
  3. Mampu membuat dan mengembangkan aplikasi Android menggunakan Kotlin

AUDIENCE

  1. Android Developer
  2. Programmer

PREREQUISITES

CONTENT

1. Getting Started with Android and Kotlin

1.1. Use Cotlin and Android
1.2. The Beginner’s First Stumbling Block
1.3. Kotlin and Android Work Together
1.4. Setting Up Android Studio
1.5. Makes an Android App
1.6. The Structure of Android’s Code
1.7. First Android Code
1.8. Deploying The App So Far

2. Kotlin, XML, and the UI Designer

2.1. Examining The Log Output Filtering
2.2. Exploring The Project’s Kotlin Code and The Main Layout’s XML Code
2.3. Adding Buttons to The Main Layout File Adding
2.4. Leaving Comments in Our Kotlin Code
2.5. Coding Messages to The User and The Developer
2.6. Writing First Kotlin Code

3. Exploring Android Studio and the Project Structure

3.1. A Quick Guided Tour of Android Studio
3.2. Project Explorer and Project Anatomy
3.3. The Basic Activity Project
3.4. Exploring The Android Emulator

4. Getting Started with Layouts and Material Design

4.1. Material Design
4.2. Exploring Andoroid UI Design
4.3. Creating the Exploring Layouts Project
4.4. Building a Menu with Linear Layout
4.5. Wiring Up The UI with The Kotlin code (part 1)
4.6. Adding Layouts Within Layouts
4.7. Making the Layout Look Pretty
4.8. Wiring Up The UI With The Kotlin Code (part 2)
4.9. Building a Precise UI with Constraint Layout
4.10. Laying Out Data with Table Layout

5. Beautiful Layouts with CardView and Scroll View

5.1. Building a UI with CardView and ScrollView
5.2. Themes and Material Design
5.3. Creating a Tablet Emulator

6. The Android Lifecycle

6.1. The Life and Times of an Android App
6.2. A Simplified Explanation of The Android Lifecycle
6.3. Handling The Lifecycle Phases
6.4. The Lifecycle Demo App
6.5. Some Other Overridden Functions
6.6. The Structure of Kotlin Code – Revisited

7. Kotlin Variables, Operators, and Expressions

7.1. Learning the Jargon
7.2. More on Code Comments
7.3. Variables
7.4. Operators and Expressions

8. Kotlin Decisions and Loops

8.1. Making Decisions in Kotlin Indenting
8.2. Repeating Code with Loops
8.3. While Loops
8.4. Do-While Loops
8.5. Ranges
8.6. For Loops
8.7. Controlling loops with break and Continue
8.8. Sample code

9. Kotlin Functions

9.1. Function Basics and Recap
9.2. Making Functions Flexible

10. Object-Oriented Programming

10.1. Introducing OOP
10.2. Basic Classes
10.3. Visibility Modifiers
10.4. Constructors
10.5. Basic Classes App and Using The Init Block
10.6. Introduction to References

11. Inheritance and Kotlin

11.1. OOP and Inheritance
11.2. Using Inheritance with Open Classes
11.3. More Polymorphism
11.4. Classes Using The Inheritance Example App

12. Connecting Our Kotlin to the UI and Nullabillity

12.1. All The Android UI Elements are Classes Too
12.2. Kotlin Interfaces
12.3. Using Buttons and TextView Widgets From Our Layout With a Little Help From Interfaces
12.4. Nullability – Val and Var Revisited

13. Bringing Android Widgets to Life

13.1. Declaring and Initializing The Objects From The Layout
13.2. Creating UI Widgets From Pure Kotlin without XML
13.3. Exploring The Palette – Part 1
13.4. Lambdas
13.5. Exploring The Palette – Part 2, and More Lambdas
13.6. The Widget Exploration App
13.7. Coding The Widget Exploration App
13.8. Running The Widget Exploration App
13.9. Converting Layouts to Constraint Layout

14. Android Dialog Windows

14.1. Dialog Windows

15. Handling Data and Generating Random Numbers

15.1. A Random Diversion
15.2. Handling Large Amounts of Data With Arrays
15.3. A Simple Mini-App Array Example
15.4. Getting Dynamic With Arrays
15.5. Array Lists
15.6. Arrays and ArrayLists are Polymorphic
15.7. Hashmaps

16. Adapter and Recyclers

16.1. Inner Classes
16.2. Recycler View and Recycler Adapter
16.3. Array List of Notes
16.4. Adding Recycler View, Recycler Adapter, and Array List to The Note to Self Project
16.5. Recycler View
16.6. Running The App

17. Data Persistance and Sharing

17.1. The Android Intent Class
17.2. Adding a Settings Page to Note to Self
17.3. Persisting Data with Shared Preferences
17.4. Reloading Data with Shared Preferences
17.5. Making The Note to Self Settings Persist
17.6. More Advanced Persistence
17.7. Backing Up User Data in Note to self

18. Localization

18.1. Making the Note to Self App Spanish, English, and German
18.2. Running Note to Self in German or Spanish

19. Animation and Interpolation

19.1. Animations in Android
19.2. Animations Demo App – Introducing SeekBar

20. Drawing Graphics

20.1. Understanding the Canvas Class
20.2. Using The Canvas Class
20.3. The Canvas Demo App
20.4. The Android Coordinate System
20.5. Creating Bitmap Graphics with The Bitmap Class
20.6. Manipulating Bitmaps
20.7. The Bitmap Manipulation Demo App

21. Threads and Starting the Live Drawing App

21.1. Creating The Live Drawing Project
21.2. Looking Ahead at The Live Drawing App
21.3. Coding The Main Activity Class
21.4. The Game Loop
21.5. Threads
21.6. Implementing The Game Loop with a Thread
21.7. Running The App

22. Particle Systems and Handling Screen Touches

22.1. Adding Custom Buttons to The Screen
22.2. Implementing A Particle System Effect
22.3. Handling Touches
22.4. Running The App

23. Android Sound Effects and The Spinner Widget

23.1. The Sound Pool Class
23.2. Sound Demo App Introducing The Spinner Widget

24. Design Patterns

24.1. Introducing the Model-View-Controller Pattern
24.2. Android Design Guidelines
24.3. Real-World Apps
24.4. Device Detection Mini App
24.5. Configuration Qualifiers
24.6. Fragments
24.7. Our First Fragment App
24.8. Fragment Reality Check

25. Advanced UI with Paging and Swiping

25.1. Building an Image Gallery/Slider App
25.2. Kotlin Companion Objects
25.3. Building a Fragment Pager/Slider App

26. Advanced UI with Paging Drawer and Fragment

26.1. Introducing The Navigation View
26.2. Examining The Age Database App
26.3. Starting The Age Database Project
26.4. Exploring The Auto-Generated Code and Assets
26.5. Coding The Fragment Classes and Their Layouts
26.6. Using The Fragment Classes and Their Layouts

27. Android Database

27.1. Database 101
27.2. The SQL Syntax Primer
27.3. The Android SQLite API
27.4. Coding The Database Class
27.5. Coding The Fragment Classes to Use The Datamanager Class
27.6. Running The Age Database App

28. A Quick Chat Before You Go

28.1. Publishing
28.2. Making an App
28.3. Carrying on Learning

 

INSTRUCTOR

Ariyanto Adi Nugroho

Ariyanto Adi Nugroho. Development Manager di PT Brainmatics Cipta Informatika. Aktif sebagai trainer, konsultan, dan project manager. Menangani project eLearning system dan content project di berbagai perusahaan dan lembaga pemerintahan. Berpengalaman sebagai pengembang dan implementor eLearning dengan Moodle dan BrainTutor. Menguasai berbagai aplikasi Adobe Creative Cloud seperti Adobe Animate/Flash, Adobe Photoshop, Adobe Captivate, Adobe After Effect, Adobe Premiere dan Adobe Illustrator.

 

Achmad Fatkharrofiqi. Kelahiran Semarang – Jawa Tengah, Development Manager sekaligus Application Architect di PT Brainmatics Cipta Informatika. Aktif sebagai trainer, konsultan, dan web Developer. Menangani project pengembangan software berbasis web baik yang bersifat generic maupun bersifat custom di berbagai perusahaan dan lembaga pemerintahan. Menguasai bahasa pemrograman PHP Native, PHP Framework CodeIgniter, Laravel, Java, Kotlin, Android Native, Flutter, dan RDBMS (MySQL, Microsoft SQL Server dan Oracle Database 11g).