• Hakkımızda
  • Bize Katıl
  • Sizden Gelenler
  • İletişim
Yazılım Karavanı | Bilişim - Teknoloji - Blog
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar
No Result
View All Result
Yazılım Karavanı | Bilişim - Teknoloji - Blog
No Result
View All Result
Home Android

Activity- Intent Kavramları #Java

Ali Murat Çevik by Ali Murat Çevik
Mart 1, 2018
in Android
6 min read
0
Activity- Intent Kavramları #Java
WhatsApp'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşTelegram'da Paylaş

Merhaba bu yazıda Android programlamada sık sık karşılaşacağımız Activity ve Intent kavramlarını açıklayacağız ve örneklerle daha anlaşılır hale gelmesini sağlayacağız.

– Activity Nedir?

– Intent Nedir?

– Yeni Bir Aktivite Oluşturmak

– İki Aktivite Arasında Intent İle Geçiş Sağlamak

bu soruların cevaplarına bakalım:

Activity Nedir?

  Kısaca bir uygulamada kullanıcı ile etkileşimde bulunan sayfa diyebiliriz. Her uygulama mutlaka bir ana activity bulundurmak zorundadır. Activityler life-cycle a sahiptirler. İleride profesyonel uygulamalar geliştirebilmek adına yaşam döngüsünü iyi kavramak gerekmektedir. İlk olarak çalışacak metot onCreate() metodudur. Yaşam döngüsünü aşağıdaki grafik ile daha iyi anlayalım:

activity sematik

Örnek olarak hepimizin tanıdığı “MainActivity” verilebilir. Activityler, AndroidManifest.xml dosyası içerisinde tanımlanmazsa uygulamamız çökecektir. Arayüz ile eklenen activityler otomatik olarak AndroidManifest dosyasında tanımlanmaktadır. Genellikle uygulamalar birden fazla activity barındırır. Intent aracılığı ile activityler arası geçişi gerçekleyeceğiz.

AndroidManifest

Buradaki görselde MAIN ve LAUNCHER kelimelerine dikkatlice inceleyin 🙂

Intent Nedir? 

  Activityler arası iletişim Intent sayesinde gerçekleştirilir. Birbirleri arasında bilgi aktarımını sağlar. Intent oluşturmak için:

Intent intentinAdi = new Intent(this, ActivityAdi.class);

 

yazmamız yeterlidir. Intent sınıfını import etmeyi unutmayalım. Kısa yol olarak Alt+Enter veya el ile

import android.content.Intent;

yazarak ilgili sınıfı projenize dahil edebilirsiniz.

Aşağıdaki metodlar ile activitylerin yaşam döngüsü (life-cycle) kontrol edilmektedir. Profesyonel bir uygulama geliştirebilmek için bu metodları doğru bir şekilde kullanıyor olmamız çok önemlidir.

onCreate: Activity başlatıldığında ilk çağırılan metoddur.

onStart: onCreate metodu çalıştırıldıktan sonra, görsel ögeler (tasarım) oluştuğunda çağırılan metoddur.

onResume: Eğer activity durdurulduysa, onResume ile tekrar aktif hale getirilir.

onPause: Activity arka plana atıldığında çalışır (cihazın back tuşuna basılması vs.)

onStop: onPause gibi activity arka plana atıldığında çalışır. onStop için iki durumdan bahsedebiliriz. Bunlar kullanıcının veya uygulamanın tekrar aynı activitye dönmesi veya bir daha activitye geri gelmemesidir. Activitye geri dönüldüğü taktirde onRestart -> onStart metodları çalışır, ikinci durumda ise onDestroy metodu ile yaşam döngüsü tamamlanır.

onDestroy: Yaşam döngüsünü tamamlanır. Bir activitye ait bütün kaynaklar temizlenir.

İki Activity Arası Geçiş

  İkinci Aktivite Ekleme

    Bir Android projesi açalım. Var olan bir proje üzerinde de çalışabilirsiniz. İlk önce birinci aktivitemize gidelim. (activity_main.xml dosyası) Ben yeni bir proje oluşturduğum için varsayılan olarak Hello World mesajı bizi karşılamakta. Hello World yazılı olan metin yerine bulunduğumuz yeri yazalım. İlk Ekran diyebiliriz. Daha sonra bir buton ekleyelim, buton üzerinde görünen metine Değiştir ismini verelim. Görünüş olarak sayfamız hazır. Butonumuza bir anlam kazandırmak adına onClick metodu ekleyelim. onClick metodumuzun ismi gecisYap olsun.

onClick

Resim 1.1 onClick Metodunun Düzenlenmesi

ilkekran

Resim 1.2 Örnek Ekran

newActivity

Resim 1.3 

Sol taraftaki sekmede yer alan Java dizinine sağ tıklayıp New -> Activity -> Empty Activity diyerek Activity Name: ikinciActivity yazıyoruz. İsimlendirmenin anlaşılır olması kod okunurluğunu artıracaktır. İkinci activitye ait .java uzantılı ve .xml uzantılı dosyalarımız oluşturuldu. Şimdi ise ikinci activity için Değiştir butonu ve karşılama yazımızı ekleyelim. onClick metodumuzun adını yine gecisYap olarak belirleyelim.

ikinciekran

Sıra şimdi de iki activity arasında geçişi sağlamada.

  Intent Oluşturalım

İlk aktivitemizin java dosyalarını düzenlediğimiz MainActivity.java dosyasına girelim. Intent oluşturmak için gerekli anahtar kelime “new” dir. Biz bu işlemleri onClick içine yazdığımız gecisYap metodu içinde gerçekleştireceğiz. Metodumuz public  ve geri dönüş değeri içermeyen (void) bir metod olmalıdır.

Metot içerisinde intentimizi oluşturuyoruz:

Intent intent = new Intent(getApplicationContext(), ikinciActivity.class);

daha sonrasında ise startActivity metoduna intent nesnesini parametre olarak göndererek kodumuzu tamamlıyoruz.

startActivity(intent);

MainActivity.java dosyamızın son hali bu şekilde olacaktır.

Aynı işlemleri ikinci activity e ait java dosyasında da yapacağız. Bu sefer intent yaratırken yazdığımız ikinciActivity.class yerine geçmek istediğimiz MainActivity.class adını yazacağız. Run ederek uygulamamızın çalışmasını gözlemleyebilirsiniz 🙂

alim cevik
SendTweet5Share1Share
Önceki Gönderi

Java ile Android’e Giriş – Kurulumlar

Sonraki Gönderi

Tersine Mühendislik (Reverse Engineering)

İlgili Yazılar

Google Play App Bundle Uygulama İmzalama

Google Play App Bundle Uygulama İmzalama

by Ali Murat Çevik
Eylül 10, 2021
1

Merhabalar, bildiğiniz üzere Google Play Store Ağustos 2021 tarihi itibariyle mobil uygulamaları APK uzantısı yerine daha büyük sıkıştırma oranına sahip Android...

google firebase

Google’ın Dev Hizmeti: Firebase

by İrem Türkü ÇINAR
Mart 10, 2020
0

Nedir Bu Firebase? Merhaba arkadaşlar,Mobil uygulama geliştiren her yazılımcının çok fazla işine yarayacağını düşündüğüm Google tarafından satın alınarak geliştirilen Firebase platformundan...

Activity- Intent Kavramları #Java

Android Manifest Dosyası Nedir ?

by Ali Murat Çevik
Mayıs 27, 2018
0

Merhaba bu yazımızda her projemizde mutlaka bulunması gereken Manifest dosyasından bahsedeceğiz. Manifest dosyası bir uygulamanın en temel bilgilerini içinde bulundurur....

Java ile Android’e Giriş – Kurulumlar

Java ile Android’e Giriş – Kurulumlar

by Ali Murat Çevik
Şubat 23, 2018
0

Dünya arama motoru devi, kullandığımız birçok uygulama ve platformun üreticisi Google tarafından geliştirilen Android işletim sistemi mobil cihazlar için Linux...

Java ile Splash Screen Yapımı

Java ile Splash Screen Yapımı

by Ali Murat Çevik
Mayıs 23, 2017
0

Merhaba arkadaşlar bu yazımızda sizlere mobil uygulamaların giriş ekranı olan “Splash Screen” nasıl yapılır ondan bahsedeceğim. Konu ile ilgili sorularınızı...

Next Post
Tersine Mühendislik (Reverse Engineering)

Tersine Mühendislik (Reverse Engineering)

Ruby Veri Tipleri (Data Types)

Ruby Veri Tipleri (Data Types)

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

  • Popüler
  • Yorumlar
  • En Yeniler
Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Sıfırdan Yolo v4 Tiny Özelleşmiş Nesne Tespiti (Custom Object Detection)

Temmuz 26, 2021
B Ağaçları (B Trees)

B Ağaçları (B Trees)

Ağustos 24, 2020
Splash Screen Yapımı #Flutter

Splash Screen Yapımı #Flutter

Mayıs 25, 2020
Gini Index Kullanılarak Karar Ağacının (Decision Tree)  Oluşturulması

Gini Index Kullanılarak Karar Ağacının (Decision Tree) Oluşturulması

Ağustos 20, 2020
2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

2020 ‘nin En Güncel ve Tehlikeli Zararlı Yazılımları

6
Magento 2 Detaylı Kurulum & Hatalar

Magento 2 Detaylı Kurulum & Hatalar

5
Flutter’da TFLite Kullanımı

Flutter’da TFLite Kullanımı

4
Bubble Sort (Kabarcık Sıralama) Algoritması

Bubble Sort (Kabarcık Sıralama) Algoritması

2
VGG-19 Transfer Learning ile Görüntü Sınıflandırma

VGG-19 Transfer Learning ile Görüntü Sınıflandırma

Eylül 12, 2022
SOC Sistemler Üzerine Faydalı Notlar

SOC Sistemler Üzerine Faydalı Notlar

Eylül 2, 2022
Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Python NLTK Kütüphanesi İle Basit Bir Chatbot Yapımı

Ağustos 23, 2022
Makine Öğrenimi Nedir?

Makine Öğrenimi Nedir?

Ağustos 4, 2022

Reklam

Yazılım Karavanı | Bilişim – Teknoloji – Blog

Bilgi Teknolojileri alanına meraklı herkesin buluşma noktası!

No Result
View All Result
  • Anasayfa
  • Genel
  • Programlama
    • Ruby
    • Flutter
    • Android
    • Java
    • MySQL
    • Oracle SQL
  • Yaşamdan
  • Algoritmalar
  • Yapay Zeka
  • Topluluklar

© 2020 Yazılım Karavanı Kaynak gösterilmesini rica ederiz.