İleri Seviye Kotlin Eğitimi
Kotlin dilini kullanarak Android platformunda İleri düzey Mobil uygulamalar geliştirmek.
Eğitimin Süresi: 5 Gün 30 Saat
Kotlin dil bilgisinin bilinmesi gerekmektedir.
İleri Seviye Kotlin Eğitim İçeriği
- Hello World from Kotlin
- Kotlin Standart Library
- Variable Declarations in Kotlin
- How to Create Type Aliases in Kotlin
- Kotlin handles equality differently from Java
- Bit Operators and Smart Casting in Kotlin
- String Templates in Kotlin
- Functions,Conditional expressions
- Nullable values and null checks,Type checks and automatic casts
- For loop,while loop,when expression,Ranges,Collections
- Creating basic classes,Inheritance and their instances
- File I/O
- Differences Between Kotlin and Java
- Default values for function
- Filtering a list
- Instance Checks
- Traversing a map/list of pairs
- Using ranges
- Read-only list
- Read-only map
- Accessing a map
- Creating a singleton
- Executing a statement if null
- Get first item of a possibly empty collection
- Execute if not null
- Return on when statement
- try/catch expression
- Single-expression functions
- Consuming a nullable Boolean
- Swapping two variables
- Directory structure
- Source file names
- Class layout
- Overload layout
- Naming rules
- Names for test methods
- Property names
- Class header formatting
- Modifiers
- Annotation formatting
- File annotations
- Function formatting
- Property formatting
- Lambda formatting
- Documentation comments
- Avoiding redundant constructs
- Using scope functions apply/with/run/also/let
- Package-level functions
- Getters and Setters
- Methods returning void
- Escaping for Java identifiers that are keywords in Kotlin
- Null-Safety and Platform Types
- Notation for Platform Types
- Nullability annotations
- Annotating type parameters
- Type qualifier
- Compiler configuration
- Mapped types(Java And Kotlin
- Java generics in Kotlin
- Java Arrays
- Java Varargs
- Checked Exceptions
- Object Methods
- Inheritance from Java classes
- Accessing static members
- Java Reflection
- Calling java code from Kotlin
- Using JNI with Kotlin
- Properties
- Package-level functions
- Instance fields
- Static fields
- Static methods
- Default methods in interfaces
- Visibility
- KClass
- Handling signature clashes with @JvmName
- Overloads generation
- Translation of type Nothing
- Checked Exceptions
- Null-safety
- Variant generics
- Calling Kotlin code from Java
- Data Binding
- Lifecycles
- Live Data
- Navigation
- Paging
- Room
- View Model
- Work Manager
- MVVM
- Understand the Activity lifecycle
- Activity-lifecycle concepts
- Lifecycle methods for Activity
- Lifecycle callbacks
- Activity state and ejection from memory
- Saving and restoring transient UI state
- Navigating between activities
- Lifecycle Example
- Getting started with Http
- Understanding RESTful
- Retrofit Introduction
- Retrofit setup
- Retrofit in Action
- Hello Retrofit
- Sending Requests
- Handling Responses
- Practice
- Introduction RxJava
- Build blocks for RxJava
- Concurrency
- Multi-threading With Schedulers
- Creating Observables,Subscribing.
- Caching values of completed
- Conversion between types
- RxJava Operators
- Multicasting in RxJava
- RxAndroid
- RxJava example
- RxJava example:Unit Tests
- Introduction
- ButterKnife Android Dependency
- Using Butterknife in Android project
- Initializing Views
- Binding resources
- Practice
- Introduction Dependency Injection
- Dependency Injection Samples
- Introduction Dagger
- Dagger Annotations
- DaggerAppCompatActivity and DaggerFragment
- Practice
- Android Architecture Components
- Working with LiveData
- Introduction to ViewModel
- ViewModel Code Example
- Introduction DAO-Room
- SQLite With Room
- Project Set Up for Room
- Room Entity Classes
- Room DAO(Data Access Object)
- Room Database Class
- Complete the CRUD Functionalities
- Database Operations
- Callback Class of Room Database
- Practice With Room
- Android Data Binding Introduction
- Data Binding Project set up
- Data Binding Wiht TextViews
- Data Binding for Event Listener
- Practice with Data Binding
- Introduction Navigation
- Navigate Using Actions
- UI Component with NavigationUI
- Practice with Navigation
- Paging Library
- Data Source and Factory
- View Model for Paging
- PagedListAdapter
- Activity For Paging
- Practice
- Introduction to MVVM
- The Structure of MVVM
- MVVM Layers
- Presentation Layer
- Domain Layer
- Data Layer
- MVVM and DataBinding
- Dependency Injection
- Difference between MVC and MVVM?
- Advantages of using MVVM
- Complete the CRUD Functionalities
- Practice
- Sample Projects