26 Şubat 2025 Çarşamba

Kotlinde Android Sistem Launcher Programı Örneği

 Kotlinde Android Sistem Launcher Programı Örneği

Kotlin ile basit bir Android sistem launcher uygulaması oluşturabilirsiniz. Bu örnekte, uygulamaları listeleyen ve bir uygulamayı başlatan basit bir launcher yapacağız.

1. Adım: Yeni Bir Proje Oluşturma

Android Studio'yu açın ve yeni bir proje oluşturun. Proje şablonu olarak "Empty Activity" seçin ve dil olarak Kotlin'i seçin.

2. Adım: AndroidManifest.xml Dosyasını Güncelleme

Launcher uygulaması olarak çalışması için AndroidManifest.xml dosyasını aşağıdaki gibi güncelleyin:

xml
Copy
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.simplelauncher">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.SimpleLauncher">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Burada android.intent.category.HOME ve android.intent.category.DEFAULT kategorileri, uygulamamızın bir launcher olarak tanınmasını sağlar.

3. Adım: MainActivity.kt Dosyasını Oluşturma

MainActivity.kt dosyasında, cihazda yüklü olan uygulamaları listeleyen ve bir uygulamayı başlatan kodu yazacağız.

kotlin
Copy
package com.example.simplelauncher

import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.ListView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val listView = findViewById<ListView>(R.id.app_list)
        val packageManager = packageManager
        val mainIntent = Intent(Intent.ACTION_MAIN, null)
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER)

        val appList = packageManager.queryIntentActivities(mainIntent, 0)
        val appNames = ArrayList<String>()

        for (info in appList) {
            appNames.add(info.loadLabel(packageManager).toString())
        }

        val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, appNames)
        listView.adapter = adapter

        listView.setOnItemClickListener { _, _, position, _ ->
            val launchIntent = packageManager.getLaunchIntentForPackage(appList[position].activityInfo.packageName)
            startActivity(launchIntent)
        }
    }
}

4. Adım: activity_main.xml Dosyasını Oluşturma

activity_main.xml dosyasında, uygulamaları listeleyecek bir ListView ekleyin:

xml
Copy
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@+id/app_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

5. Adım: Uygulamayı Çalıştırma

Uygulamayı bir Android cihazda veya emülatörde çalıştırın. Uygulama başlatıldığında, cihazda yüklü olan uygulamaların bir listesini göreceksiniz. Listeden bir uygulamaya tıkladığınızda, o uygulama başlatılacaktır.

6. Adım: Launcher Olarak Ayarlama

Uygulamayı çalıştırdıktan sonra, cihazınızın ayarlarına giderek bu uygulamayı varsayılan launcher olarak ayarlayabilirsiniz. Bu, genellikle "Ana ekran uygulaması" veya "Launcher" seçenekleri altında bulunur.

Sonuç

Bu basit örnek, Kotlin kullanarak bir Android sistem launcher uygulaması oluşturmanın temellerini gösterir. Bu örneği geliştirerek daha karmaşık özellikler ekleyebilirsiniz, örneğin uygulamaları kategorilere ayırmak, arama özelliği eklemek veya özelleştirilebilir bir ana ekran oluşturmak gibi.

Hiç yorum yok:

Yorum Gönder