Step-by-Step Guide: Building a Simple Android App with Kotlin
Step-by-Step Instructions for Building a Basic Android App Using Kotlin

Started my career as a mobile app intern in 2017 at a dynamic startup. Specialized in Android Kotlin app development, later expanded skills to Swift and React Native. π±π» Passionate about creating seamless user experiences and staying at the forefront of mobile technology trends.
I thrive on challenges and love turning innovative ideas into reality through code. Experienced in collaborating with cross-functional teams and translating complex requirements into elegant solutions. Excited about the potential of technology to make a positive impact on people's lives.
Always up for a coding challenge or exploring the next big thing in tech. When I'm not coding, you can find me immersed in a good book, capturing moments through my lens, or conquering new trails. Let's embark on this coding journey together! β¨π
π Step 1: Set Up Your Android Project
Open Android Studio (latest stable version recommended).
Click on File β New β New Project.
Choose Empty Activity.
Name your project (e.g.,
HelloWorld).Select Kotlin as the language.
Finish and wait for Gradle to set up your project.
π Step 2: Design the UI
Open the layout file:
app/src/main/res/layout/activity_main.xml
Replace its content with:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/btn_test_button"
android:text="@string/test_message"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
π Step 3: Add a String Resource
Open:
app/src/main/res/values/strings.xml
Add:
<string name="test_message">Click Me!</string>
π§© Step 4: Add Logic with Kotlin
Open:
app/src/main/java/com/helloworld/MainActivity.kt
Replace with:
package com.helloworld
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class MainActivity : AppCompatActivity() {
val mTestButton by lazy { findViewById<Button>(R.id.btn_test_button) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.activity_main)
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
insets
}
mTestButton.setOnClickListener {
Toast.makeText(this, "Hello world", Toast.LENGTH_SHORT).show()
}
}
}
βοΈ Step 5: Check AndroidManifest.xml
Open:
app/src/main/AndroidManifest.xml
Make sure it includes your launcher activity:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.HelloWorld"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
βΆοΈ Step 6: Build & Run
Connect an Android device or use an emulator.
Click Run (green βΆ button) in Android Studio.
Tap the button and see the toast: Hello world.
π What is RelativeLayout and why use it?
RelativeLayout is a view group that lets you place child views relative to each other or to the parent.
Common attributes:
android:layout_centerInParent="true": centers the view in parent.android:layout_below="@id/otherView": places below another view.android:layout_alignParentTop="true": aligns to parent top.
It helps simplify layouts instead of nesting multiple LinearLayouts.
π Congratulations!
You've built your first Kotlin Android app!
Feel free to explore further, and follow for more tutorials!

