Anasayfa / Android Dersleri / Android Dersleri 18 : Thread Kullanarak Splash Ekranı Oluşturma

Android Dersleri 18 : Thread Kullanarak Splash Ekranı Oluşturma

Merhaba arkadaşlar. Bu derste splash ekranı oluşturmadan bahsedeceğim. Splash ekranını şu şekilde açıklayalım. Bir uygulamayı açtığınızda birkaç saniyelik bir tanıtım sayfası çıkar daha sonra uygulamanız açılır. Bir nevi reklam amaçlı yapılır. Ben de bu derste, uygulamamız açılmadan önce nasıl bir splash ekranı yapılır onu anlatacağım.

“Splash” adında bir Android projesi oluşturduğunuzu varsayarak devam ediyorum. Uygulamamızda hazır gelen src altındaki java dosyasını kopyalayarak ya da sürükleyip bırakarak, aynı dizin altında bir tane daha oluşturuyoruz. Aynı şekilde xml dosyasında da bunu yapıyoruz. Dosyamızın isimlerini de aşağıdaki gibi yapın.

splash ekranı

Burada görünen sayfa ana sayfamızdır. Sol tarafta da dosyalara verdiğimiz yeni isimler var. 2.oluşturduğumuz splashekrani.java dosyasını, karşılığındaki xml sayfasına bağlamayı unutmayalım.

Bu işlemlerden sonra yeni eklediğimiz sayfa için manifest dosyasına bildirimde bulunalım. Bunun için eklememiz gereken kod aşağıdaki gibi olacaktır.

splash ekranı

Şimdi splash ekranı için bir arka plan resmi oluşturun. Daha sonra bunu soldaki drawable-hdpi klasörüne sürükleyip bırakın. Sonra da splash ekranına ait xml sayfasına gelerek aşağıdaki kodu ekleyin.

splash ekranı

Burada sadece background etiketini ekledik ve resmimizin yolunu gösterdik. Resmimizin adı da splash‘tır. Küçük harflerle yazılması gerekir.Bunu yaptıktan sonra splash sayfamızın görüntüsü aşağıdaki gibi olacaktır.

splash ekranı

Şimdi ana ekrana ait olan java dosyasına gelelim ve kodlamaya başlayalım. Dikkat edin splash ekranına kodlamıyoruz. Burada thread kullanmamız gerekiyor. Çünkü thread, aynı anda iki işlemi yapmaya yarar ve biz de burada aynı anda 2 işlem yapacağız. Daha doğrusu bir sayfayı gösterdikten sonra onu bekletip diğer sayfayı göstereceğiz. Şimdi aşağıdaki gibi kodlamasını yapalım ve anlatalım.

splash ekranı

Burada bir Thread nesnesi oluşturduk ve içerisinde de bir run() metodu yazdık. Bu run() metoduna, thread başlatıldığında yapılmak istenenler yazılır. Biz de içerisine sleep(3000) metodunu yazdık. Yani ilk olarak 3000 milisaniye (3 sn) bekleme yapılsın. Daha sonra splash ekranına geçilmesini sağlayan intent oluşturduk ve başlattık. Finally() kısmında ise finish diyerek threadi bitirdik. Thread dışında da bu threadi, start() metoduyla başlattık.

En üstte xml sayfasına bağlama yaparken de splash ekranına bağladık. Buna da dikkat edelim. Şimdi de splashekrani.java dosyasının kodlamasına bakalım. Burada tek farklı olan bağladığımız sayfa. Herhangi bir kodlama yapmıyoruz.

splash ekranı

 

Burada da splash yani açılış ekranımızı, anasayfamıza bağladık. Diğer türlü yapıldığı zaman hata veriyor. Manifest dosyasında da main sayfasını LAUNCHER değil DEFAULT yapmamız gerekiyor fakat bunu yaptığımızda hata alabiliyoruz.

Ekran Görüntüleri

splash ekranı splash ekranı

Bu derste splash ekranı oluşturmayı anlattım ve basit de olsa thread konusuna değindim. Bir sonraki derste görüşmek üzere.

Hakkında Mehmet Kirazlı

İstanbul Eyüp'te ikamet ediyorum. Giresun Alucra'lıyım. Bilgisayar Mühendisi bölümünden 2013 yılında mezun oldum. "Yeni Başlayanlar için Java 8" kitabının yazarıyım. Şuanda özel bir firmada Mobil Yazılım Geliştirme Uzmanı olarak çalışıyorum.

İlginizi Çekebilir

android dersleri

Android Dersleri 26 : Veritabanı İşlemleri-3 ve SQLite Arayüzü Kullanımı

Merhaba. Bu yazımda, deneyenlerin bazılarının hata aldığını söylediği veritabanı kullanımını tekrar anlatacağım ve SQLite kullanımına …

One comment

  1. Merhabalar.
    Galiba sınıf isimlerini yanlış yazmışsınız. AnaEkran ve SplashEkranı sınıfının isimlerinin yer değiştirmesi gerekir. Android’i veya kodlamayı yeni öğrenen arkadaşların kafası karışabilir. Bir de sınıf isimleri büyük harf ile başlar, genç arkadaşların şimdiden bu şelikde alışmalarında fayda var diye düşünüyorum.
    Güzel anlatımlarınız için teşekkür ederim.

Bir Cevap Yazın

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