Instruction 3
The Main Function
In Kotlin, the main
function is the entry point to every JVM-based program. This means that the Kotlin compiler will look for this function when your program starts to execute. The main function, fun main()
has a specific format. It must be named ‘main’ and shouldn’t take any arguments like this:
fun main() {
println("main function without arguments.")
}
Or, pass in an array of strings as its argument, like this:
fun main(args: Array<String>) {
println("main function without arguments.")
}
Anything else won’t be recognized, and your program will result in an error if you run it without the main function. Change the name of the function from main
to mains
and click the Run
button to run the program. You’ll see an error in the console output:
You can have other functions in your program, but there should be only one main function. You did notice that, right? Kotlin main
and any other functions are fun
. Get it? Arguably, many developers do consider Kotlin fun. :]
Main Function Arguments
The argument for the main function, if available, is an array of strings. An array is a simple data structure that comprises data of the same type, in this particular case, strings. A string is computer science speak for a word or even a sentence, so an array of strings is a list of words or sentences. An array of strings means that any characters you pass to the program through the program arguments will be seen as a string. No other function will receive these arguments except the main function.
One other note about the array of strings argument - since every character is converted into a string, you’ll have to convert them into other data types if that’s what you expect to work with. For instance, “5” is still a word but can be converted to the number 5 if needed.
Finally, if you omit the arguments when defining the main function, it simply means you can’t access whatever arguments you pass into the program.
Learning the Difference Between Kotlin Programs and Android Projects
When creating Android applications, you have the option to write the entire program in Kotlin. Writing a program in Kotlin and targeting the Android platform is building a Kotlin Android project. Although other programming languages, such as Java and Dart, can be used to build Android projects, Kotlin is the preferred language for developing Android applications.
However, there’s a key difference between a purely Kotlin program and an Android project. In a purely Kotlin program, the entry point is the main
function. But in an Android project, the starting point is determined by the AndroidManifest.xml
file. The Android Manifest is a configuration file that describes the Android project, including its name, version, starting point, and allowed permissions.
Therefore, even though an Android application is written in Kotlin, it doesn’t have a main
function. Instead, the AndroidManifest.xml
file specifies which class or file will become the starting point for the application. Below is an example of how an Android Manifest file looks:
In the image above, for instance, the entry point to the Android application is the MainActivity
class.
For Android development, the official Integrated Development Environment (IDE) is called Android Studio. Android Studio is based on IntelliJ IDEA, which is software created by JetBrains. It is possible to create Android apps without utilizing Android Studio, though. Android provides a command-line interface (CLI). The CLI can be used by any program to debug Android application development.
Finally, Kotlin programs use the Kotlin Standard Library, stdlib. In contrast, Android projects use Android-specific libraries and resources. The Kotlin stdlib is a collection of classes and functions. These classes and functions help with common programming tasks. It alos includes other tools and data types to help build programs. The stdlib is designed to work with Java libraries and frameworks. You can even use small portions of the stdlib, adding more parts to your project over time.