AMP Analytics -->

Teknoloji Rehberi

4 Mayıs 2025 Pazar

Grid Layout ve Admob Banner İçeren Android Uygulama Arayüzü

 Aşağıda, üst kısmında Grid Layout ve alt kısmında Admob Banner reklamı bulunan bir Android uygulama arayüzü örneği bulacaksınız:

1. XML Layout Dosyası (activity_main.xml)

xml
Copy
Download
Run
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <!-- GridView (Üst Kısım) -->
    <GridView
        android:id="@+id/gridView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/adView"
        android:layout_alignParentTop="true"
        android:numColumns="3"
        android:columnWidth="100dp"
        android:stretchMode="columnWidth"
        android:gravity="center"
        android:verticalSpacing="8dp"
        android:horizontalSpacing="8dp"
        android:padding="8dp"/>

    <!-- Admob Banner (Alt Kısım) -->
    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
    </com.google.android.gms.ads.AdView>

</RelativeLayout>

2. build.gradle (Module) Bağımlılıklar

gradle
Copy
Download
dependencies {
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.9.0'
    
    // Admob için
    implementation 'com.google.android.gms:play-services-ads:22.5.0'
    
    // GridView için gerekli diğer bağımlılıklar
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
}

3. MainActivity.kt

kotlin
Copy
Download
import android.os.Bundle
import android.widget.ArrayAdapter
import android.widget.GridView
import androidx.appcompat.app.AppCompatActivity
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdView
import com.google.android.gms.ads.MobileAds

class MainActivity : AppCompatActivity() {

    private lateinit var gridView: GridView
    private lateinit var adView: AdView

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

        // GridView'i başlat ve verileri ayarla
        gridView = findViewById(R.id.gridView)
        val items = listOf(
            "Öğe 1", "Öğe 2", "Öğe 3",
            "Öğe 4", "Öğe 5", "Öğe 6",
            "Öğe 7", "Öğe 8", "Öğe 9"
        )
        
        val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, items)
        gridView.adapter = adapter

        // Admob'u başlat
        MobileAds.initialize(this) {}
        adView = findViewById(R.id.adView)
        val adRequest = AdRequest.Builder().build()
        adView.loadAd(adRequest)
    }

    override fun onResume() {
        super.onResume()
        adView.resume()
    }

    override fun onPause() {
        super.onPause()
        adView.pause()
    }

    override fun onDestroy() {
        super.onDestroy()
        adView.destroy()
    }
}

4. AndroidManifest.xml

xml
Copy
Download
Run
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- Admob için gerekli izinler -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <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.MyApplication">

        <!-- Admob App ID (Test ID kullanılmıştır, kendi ID'nizle değiştirin) -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>

        <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>

Özellikler ve Notlar:

  1. GridView Özellikleri:

    • 3 sütunlu grid yapısı

    • Dinamik olarak veri eklenebilir

    • Öğeler arasında boşluklar bulunur

  2. Admob Banner Özellikleri:

    • Uygulamanın alt kısmında sabit banner

    • Test reklam birimi kullanılmıştır (canlı yayın için kendi reklam birim ID'nizi eklemelisiniz)

    • Yaşam döngüsü yönetimi (onResume, onPause, onDestroy)

  3. Düzen:

    • RelativeLayout kullanılarak gridView ve adView doğru şekilde konumlandırılmıştır

    • GridView, adView'in üstünde olacak şekilde ayarlanmıştır

  4. Test Reklamları:

    • Uygulamayı test ederken AdRequest.Builder().build() kullanabilirsiniz

    • Canlı yayın için kendi reklam birim ID'nizi eklemelisiniz

Bu yapı, uygulamanızda reklam geliri elde etmek isterken aynı zamanda kullanıcı dostu bir grid arayüzü sunmak için idealdir. GridView yerine RecyclerView ile GridLayoutManager kullanarak daha esnek bir yapı da oluşturabilirsiniz.

Hiç yorum yok:

Yorum Gönder

Popular Posts