Android Activity Sınıfı Kullanımı

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız/yayınladığımız Android Eğitimleri yazı serimizde bu dersimizde Android Activity Kullanımı ile devam ediyoruz.

Activity Nedir ?

Activity sınıfını android uygulama geliştirirken bir çok kez kullanacağız. Uygulamamızın ön planda yer alan sayfa yapısı olarak da adlandırabiliriz. Bir Activity oluşturduğunuzda .java uzantılı bir class yapısı oluştuğunu göreceksiniz. Ayrıca, her bir Activity’nin kendine ait yaşam döngüsü vardır. Bu yaşam döngüsünün işleyişini çok iyi bilmemiz gerekiyor ki Activity yapısını düzgün bir şekilde kullanalım. Yaşam Döngüsünü incelediğimizde Activity başlatıldığında ilk çalışan method onCreate methodudur.

Android Studio da yeni bir android projesi oluşturalım ; ilgili adımları tamamladığımızda ana Activity e sahip olan bir proje oluşturduğumuzu göreceksiniz. MainActivity android uygulamamız başlatıldığında ilk çalışacak olan sınıftır. Her Activity de onCreate methodu içinde setContentView olduğunu göreceksiniz. Bu kısımda Activityimizin hangi görsel yapıya sahip olduğunu belirliyoruz. Diğer bir özellik ise oluşturulan her bir Activity sınıfının AndroidManifest.xml de referansı olmak zorundadır yani bir tanımlama yapılması gerekiyor eğer Android Studio da new->Activity kısmından bir Activity oluşturduysak otomatik olarak Activityimizin referansının AndroidManifest.xml de oluştuğunu göreceksiniz. Diğer bir yöntem ise öncelikle bir new->Java Class oluştururuz daha sonra sınıfımızı Activity den türetiriz ( extends ederiz ) otomatik olarak bir layout oluşmadığından ayrıca bir layout oluştururuz ve setContentView de tanımlarız.

Yeni bir android projesi oluşturuyoruz.

Uygulamanın min sdk yani en düşük hangi cihazlarda desteklendiğine dair bilgiyi seçiyoruz. ( daha sonra ayrıntılı olarak bu konuyu anlatacağız )

Empty Activity seçeneğini seçiyoruz.

Activity adını MainActivity olarak oluşturduk.

MainActivity sınıfımızın onCreate methodunda layout kısmıda tanımlı olan TextView i findViewById ile önce id sine eriştik ve daha sonra setText methodu ile “Hello World” olarak içerik girdik.

MainActivity.java

package com.mobilhanem.activityandroidapp;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private TextView txt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        txt = (TextView)findViewById(R.id.txtName);

        txt.setText(getString(R.string.hello_world));
    }
}

activity_main.xml

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

    <TextView
        android:id="@+id/txtName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textSize="25sp"
        android:text="" />

</RelativeLayout>

AndroidManifest.xml

Aşağıdaki kod da gördüğünüz gibi MainActivity sınıfımız tanımlı ve <intent-filter> tagleri içinde MAIN ve LAUNCHER kodları olduğunu göreceksiniz. İlk çalışacak Activity in hangisi olduğunu belirlemek için kullanıyoruz bu kodları.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mobilhanem.activityandroidapp">

    <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/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

 

Activity Yaşam Döngüsü ( Activity Lifecycle )

 

  • onCreate : Activity başlatıldığında ilk çalışan method.
  • onStart : onCreate methodu işlemini tamamladıktan sonra çalışan method.
  • onResume : Activity çalıştıktan sonra bütün ön yüzdeki işlemler bittiğinde activity devamı için çalışan kısımdır. Activity arka plana geçip tekrar ön plana geldiğinde onResume methodu tetiklenir ve Activity çalışmaya devam eder.
  • onPause : Activity arka plana alındığında bu metod tetiklenir.
  • onStop : Aktivite arkaplana atıldığında çalışan bir diğer metoddur. Kullanıcı Activitye geri döndüğünde onRestart methodu tetiklenir ve onStart methodundan itibaren yaşam döngüsü devam eder. Eğer kullanıcı geri dönmezse ilgili Activity e ( bu durumda Activity sonlandı veya sistem tarafından kapatıldıysa ) onDestroy methodu tetiklenir.
  • onDestroy : Yaşam döngüsünün en son kısmıdır. Activity sonlandığında tetiklenir.Bellekte uygulama için kullanılan tüm kaynaklarda sonlandırılmış olur.

Bu dersimizde Android Activity Kullanımı konusunu anlatmaya çalıştık. Umarım faydalı olmuştur android eğitimleri serimize de hızlı bir şekilde devam edeceğiz.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.

Mobilhanem.com üzerinden anlattığımız mobil uygulama geliştirme derslerine devam edeceğiz. Konu hakkında sorunuzu yorum alanından sorabilirsiniz. Konu dışı sorularınızı ve tüm yazılımsal sorularınızı sorucevap.mobilhanem.com sitemizden de sorabilirsiniz.

Bir dahaki dersimizde görüşmek dileğiyle..

 

2

Alper Beyler

Yüksek Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği
Lisans: Çankaya Üniversitesi / Bilgisayar Mühendisliği (4/3.30) (2010-2014)
Lisans : Viyana Teknik Üniversitesi / Bilgisayar Bilimleri (2013)

7 Yorum

  • Merhaba;

    Benim android studio’da mainactivity.kt dosyasında “public class MainActivity extends AppCompatActivity {” farklı. Şöyle ki :” class MainActivity : AppCompatActivity() { “. Bundan dolayı edittext, button gibi öğeleri tanımlayamıyorum. Yardımcı olur musunuz?

  • ilk önce main2 activity’i çalıştırmak için ne yapılması gerekir acaba
    yani demek istediğim ıntent komutuyla ilk önce main2 activity komutunu çalıştırmak istiyorum bana yardımcı olur musunuz acaba

  • ıntent komutuyla iki main activity ekranlarından ikincisini nasıl ilk çalıştırabilirim yardımcı olur musunuz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?