An introduction to Kotlin for Android development

Jul 7th, 2017

An introduction to Kotlin for Android development

Google announced that it is making Kotlin, a statically typed programming language for the Java Virtual Machine, a first-class language for writing Android apps. Kotlin’s primary sponsor is JetBrains, the company behind tools like IntelliJ.

It’s 100 percent interoperable with Java, which until now was Google’s primary language for writing Android apps (besides C++).

What is Kotlin ?

Kotlin is a great fit for developing Android applications, bringing all of the advantages of a modern language to the Android platform without introducing any new restrictions:

Compatibility: Kotlin is fully compatible with JDK 6, ensuring that Kotlin applications can run on older Android devices with no issues. The Kotlin tooling is fully supported in Android Studio and compatible with the Android build system.

Performance: A Kotlin application runs as fast as an equivalent Java one, thanks to very similar bytecode structure. With Kotlin’s support for inline functions, code using lambdas often runs even faster than the same code written in Java.

Interoperability: Kotlin is 100% interoperable with Java, allowing to use all existing Android libraries in a Kotlin application. This includes annotation processing, so data binding and Dagger work too.

Footprint – Kotlin has a very compact runtime library, which can be further reduced through the use of

ProGuard – In a real application, the Kotlin runtime adds only a few hundred methods and less than 100K to the size of the .apk file.

Compilation Time: Kotlin supports efficient incremental compilation, so while there’s some additional overhead for clean builds, incremental builds are usually as fast or faster than with Java.

Learning Curve: For a Java developer, getting started with Kotlin is very easy. The automated Java to Kotlin converter included in the Kotlin plugin helps with the first steps. Kotlin Koans offer a guide through the key features of the language with a series of interactive exercises.

Use Android APIs with Kotlin

Kotlin provides complete interoperability with the Java language, so calling the Android APIs often looks exactly like the matching Java code. Except now you can combine those method calls with Kotlin’s syntax features.

Here are a few examples of what it looks like to call Android APIs in Kotlin, compared to the same code in Java language:

Syntax differences with KOTLIN and JAVA.

  • Declare Activity in Kotlin
class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
  }
}
  • Declare Activity in Java
public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}
  • On-click listener in Kotlin
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
  ...
}
  • On-click listener in Java
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    ...
  }
});

Kotlin is like Swift.

BASIC

Hello Android Programme

  • Swift
print("Hello, Android!")
  • Kotlin
println("Hello, Android!")

Variables And Constants

  • Swift
var age = 42
age = 50
let mConstant = 42
  • Kotlin
var age = 42
age = 50
val mConstant = 42

COLLECTIONS

Arrays

  • Swift
var deviceList = ["Android", "iOS", "Window"]
	deviceList[1] = "iOS"
  • Kotlin
val deviceList = arrayOf("Android", "iOS", "Window")
deviceList[1] = "iOS"

Maps

  • Swift
var job = [
  	 	 "KP": "CEO",
   		 "MS": "Sr. Android Developer",
	]
	job["HM"] = "Public Relations"
  • Kotlin
val job = mutableMapOf(
    		"KP" to "CEO",
  		  "MS" to "Sr. Android Developer"
	)
	job["Jayne"] = "Public Relations"

REFERENCES :

https://kotlinlang.org/docs/reference/android-overview.html
http://nilhcem.com/swift-is-like-kotlin/
https://developer.android.com/kotlin/get-started.html#use-android-apis-with-kotlin

 

Comments are closed.

Let's Discuss Your Project

Get free consultation and let us know your project idea to turn
it into an amazing digital product.

Let’s talk

NEWS & BLOG

Related Blogs

Android vs iOS Development : Which Is Best For Your App?

Android Apps Nov 15th, 2024

Android vs iOS Development : Which Is Best For Your App...

Read more
Benefits of Android App Development Company for Your Business

Android Apps Nov 11th, 2024

Benefits of Android App Development Company for Your Bu...

Read more
How to Choose the Best Node.js Development Company? A Complete Guide 2024

Android Apps Oct 23rd, 2024

How to Choose the Best Node.js Development Company? A C...

Read more

INQUIRY

Let's get in touch

UNITED STATES

4411 Suwanee Dam road,
Bld. 300 Ste. 350
Suwanee GA, 30024

Sales: +1 (415) 230 0051

UNITED KINGDOM

Kemp House 160 City Road, London,United Kingdom EC1V 2NX

Sales: +44 7404 607567

INDIA

2nd Floor, Sun Avenue One, Bhudarpura, Ayojan Nagar, Nr. Shyamal Cross Road, Ahmedabad, Gujarat-380006

Sales: +91 635-261-6164

For Project Inquiries

emailsales@solutionanalysts.com emailcareer@solutionanalysts.com skypebiz.solutionanalysts