Kotlin 1.3 is an Exciting Option for Android Mobile Apps Development

by Jul 30, 2019#Android

Printer Icon
f

Table of Content

  1. Introduction 
  2. Data Class
  3. Collections

Introduction

Kotlin is a new programming language, it is designed to interoperate fully with Java. It offers a more concise syntax for developers, but also, it can improve the quality of your app due that its null safety checks, by default it won’t allow any property to be null preventing the most common error in Java/Android applications, the famous NullPointerException.

Kotlin is mainly used for Android development, and it has been adopted for most of the developers and companies because it offers a better and concise programming syntax which makes developers more comfortable writing code, also it is preferred because its stability preventing the common errors seen in a Java program, but also, because it is easy to switch to iOS development given that Kotlin syntax is very similar to Swift.

Here is a couple of examples that compare Java vs Kotlin, you will notice that Kotlin requires much less code and it is easier to read.

Data Class

In Java, you need to declare all the getters and setters as well as the different combinations of its constructor. In the other side, Kotlin just require you to declare this with the “data” keyword and have its arguments in the constructor, and you can have this in one single line of code.

Java

public class Movie {
  private int id; 
  private String name;           
  private String synopsis;

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public String getName() {
     return name;
  }

  public void setName(String name) {
     this.name = name;
  }

  public String getSynopsis() {
     return synopsis;
  }

  public void setsynopsis(String synopsis) {
     this.synopsis = synopsis;
  }
}

Kotlin

data class Movie (
      var id: Int,
      var name: String,
      var synopsis: String)

Collections

Kotlin comes with a very useful helper method to manage and iterate over the collections. For example, what if your application is required to get the average age of employees in the company in Dallas. Let’s see how we could accomplish this in Java and Kotlin.

Java

public double getAvgAge
  (@NotNull List<Employee> employees) {
  int ageSum = 0;
  int count= 0;

  for (Employee employee : employees) {
    if (“Dallas”.equals(employee.getCity()) {
      ageSum += employee.getAge();
      count++;
    }
  }

  if (count == 0) return 0;
  return ageSum / count;
}

Kotlin

fun getAvgAge (val employees: List<Employee>):
    Double {
      return employees.filter{
        it.city == City.Dallas }
        .map{ it.age }.average()
    }

Check the official documentation for further details on Kotlin.

Photo by Marc Reichelt on Unsplash

About Us: Krasamo is a mobile app development company focused on the Internet-of-Things and Digital Transformation.

Click here to learn more about our mobile development services.

RELATED BLOG POSTS

Converting Java to Kotlin: Best Practices

Converting Java to Kotlin: Best Practices

Kotlin, a modern programming language, addresses Java’s limitations with a more concise and expressive syntax, enhanced safety features, and advanced functional programming capabilities. Interoperability with Java allows developers to seamlessly use both languages within the same project, simplifying the conversion process.

Android App Development with Krasamo

Android App Development with Krasamo

Android App Development is the process of creating native apps with Kotlin, Java, or C++ to run on Android OS platform. Native apps are built using Android Studio (IDE).

9 Tips to Help You Become a Successful Android App Developer

9 Tips to Help You Become a Successful Android App Developer

Over 60% of mobile phones worldwide run on Android. Being an Android app developer can be a profitable career if you do it right. Here are eight tips to help you land your app at the top, instead of getting lost at the bottom of the barrel and became a successful Android app developer.