Main Application class
Each Android application defines its main Application
class. The Application
class in Android is the base class within an Android application that contains all other components, such as activities
and services
. The Application
class, or any subclass of the Application
class, is instantiated before any other class when the process for your application/package is created.
We will create an Application
class for Journaler. Locate the main sources directory. Expand it, and if there is no Kotlin sources directory, create it. Then, create the package com
and subpackage journaler; to do so, right-click on the Kotlin directory and choose New | Package. Once you've created the package structure, right-click on the journaler package and choose New
| Kotlin
File
/Class
. Name it Journaler
. Journaler.kt
is created.
Each Application
class must extend the Android Application class as shown in our example:
package com.journaler import android.app.Application import android.content.Context class Journaler : Application() { companion object { var ctx: Context? = null } override fun onCreate() { super.onCreate() ctx = applicationContext } }
For now, our main Application
class will provide us with static access to application context. What this context is will be explained later. However, Android will not use this class until it's mentioned in manifest. Open the app
module android manifest
and add the following block of code:
<manifest xmlns:android="http://schemas.android.com/apk/ res/android" package="com.journaler"> <application android:name=".Journaler" android:allowBackup="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> </application> </manifest>
With android:name=".Journaler"
, we tell Android which class to use.