Book Image

Learn Spring for Android Application Development

By : S. M. Mohi Us Sunnat, Igor Kucherenko
Book Image

Learn Spring for Android Application Development

By: S. M. Mohi Us Sunnat, Igor Kucherenko

Overview of this book

As the new official language for Android, Kotlin is attracting new as well as existing Android developers. As most developers are still working with Java and want to switch to Kotlin, they find a combination of these two appealing. This book addresses this interest by bringing together Spring, a widely used Java SE framework for building enterprise-grade applications, and Kotlin. Learn Spring for Android Application Development will guide you in leveraging some of the powerful modules of the Spring Framework to build lightweight and robust Android apps using Kotlin. You will work with various modules, such as Spring AOP, Dependency Injection, and Inversion of Control, to develop applications with better dependency management. You’ll also explore other modules of the Spring Framework, such as Spring MVC, Spring Boot, and Spring Security. Each chapter has practice exercises at the end for you to assess your learning. By the end of the book, you will be fully equipped to develop Android applications with Spring technologies.
Table of Contents (13 chapters)

Functions

To define a function in Kotlin, you have to use the fun keyword, as follows:

fun firstClass() {
println("First class function")
}

The preceding snippet demonstrates that we can declare functions as first class citizens. We can also define functions as class members, as follows:

class A {
fun classMember() {
println("Class member")
}
}

A local function is a function that is declared in another one, as follows:

fun outer() {
fun local() {
println("Local")
}

local()
}

In the preceding snippet, the local function is declared inside of the outer function. The local functions are only available in the scope of a function where they were declared. This approach can be useful if we want to avoid duplicate code inside of a function.

This section will cover the following topics:

  • Functional programming
  • Higher-order...