Android Splash Screen (Giriş Ekranı) Yapımı(Thread veya HttpPost)

Merhaba Arkadaşlar bu dersimizde Androidde Splash Screen nasıl yapılır nerede  ve ne için kullanılır bundan bahsedeceğim.Splash Screen uygulama açıldığında ilk açılacak sayfadır(activity) ve genelde bir image den oluşur.Kullanıcını herhangi bir işlem yapmasına gerek kalmadan anasayfaya kendisi geçiş yapar.

Kullanılmasının iki ana amacı vardır.Ben bu iki örneğide yazdığım uygulamalarla anlatmaya çalışacağım.İkisi içinde farklı uygulamalar yazıp kaynak kodlarını paylaşacağım. 1.sinde uygulama açılır açılmaz Splash Screen açılacak ve 4 saniye sonra Ana Sayfaya(Activity)e yönlenecek 2.sinde ise kullanıcının ruhu duymadan sunucuyla bağlantı kurup gelen cevaba göre Ana Sayfaya yönleneceğiz.
[wpdm_file id=4]

1-Firmanın ismi uygulamanın ismi gibi bilgilere yer verilip bir image ve ya slaytla uygulamaya renk katmak ve belli bir zaman boyunca gösterip ana activity e geçiş yapmak.(Thread)

import android.app.*;
import android.os.*;
import android.content.Intent;

public class SplashScreen extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
	{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
		Thread mSplashThread;//thread classdan obje olustrduk uygulamann 4 saniye uyutulmasi icin
		mSplashThread = new Thread(){
			@Override public void run(){ 
				try { 
					
					synchronized(this){ 
						wait(4000); 
					} 
				}catch(InterruptedException ex){ 

				}
				finally{
					
					Intent i=new Intent(getApplicationContext(),MainActivity.class);
					startActivity(i);
					finish();
				}
				
			} 
		};//thread objesini olustrduk ve istedmz sekilde sekillendrdik
		mSplashThread.start();// thread objesini calistriyoruz
		
    }
}

2-Uygulamayla sunucu arasında bağlantı kurup gerekli bilgi alışverişini sağlamak ve uygulamayı posttan cevap gelip gerekli işlemlerden sonra açmak.Burdaki gerekli bilgi alışverişi ne olabilirki derseniz uygulamanın güncellemesinin olup olmadığını kontrol etmek diyebilirim. Tabi bu sadece bir örneği daha yüzlerce gerekli işlem olabilir.(HttpPost)

import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import android.app.*;
import android.os.*;
import android.util.Log;
import android.content.Intent;

public class SplashScreen extends Activity
{
	String url = "http://www.mobilhanem.com/test/splashscreen.php";
	String veri_string;
	PostClass post = new PostClass();  //Post Class dan post adında nesne olusturduk.Post classın içindeki methodu kullanabilmek için

    @Override
    public void onCreate(Bundle savedInstanceState)
	{
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
        new Post().execute(); //Asynctask Classı Çağırıyoruz
    }
    
    class Post extends AsyncTask<Void, Void, Void> {

		protected void onPreExecute() { // Post tan önce yapılacak işlemler. 
 	       
	    }
	 
	    protected Void doInBackground(Void... unused) { // Arka Planda yapılacaklar. Yani Post işlemi  
	    	
            List<NameValuePair> params = new ArrayList<NameValuePair>(); //Post edilecek değişkenleri ayarliyoruz.
            //Bu değişkenler bu uygulamada hiçbir işe yaramıyor.Sadece göstermek amaçlı
            params.add(new BasicNameValuePair("isim", "taha"));
    		params.add(new BasicNameValuePair("mail", "[email protected]"));
    		
            veri_string = post.httpPost(url,"POST",params,20000); //PostClass daki httpPost metodunu çağırdık.Gelen string değerini aldık
            
            Log.d("Gelen Veri",""+veri_string);
            return null;     	
	    }       
	 
	    protected void onPostExecute(Void unused) { //Posttan sonra
	    	Intent i=new Intent(getApplicationContext(),MainActivity.class);
			startActivity(i);
			finish();

	    }
	}
}

İkinci örnek de Post u nasıl yaptığımızı anlamayan arkadaşlar Android Http Post ve AsyncTask Kullanımı dersimizi incelemesini tavsiye ederim.
Arkadaşlar bu derste anlatmak istediklerim bu kadar. Destek için lütfen yazımızı aşağıdaki linklerden paylaşın.

Tüm Android Ders, Proje ve Kaynak Kodlar için tıklayınız.
[wpdm_file id=4] 0

Taha Kırca

iOS & Android & Apple Watch Developer, Mobilhanem.com yazarı, Karadeniz Uşağu, Ordu Sevdalısı

15 Yorum

  • Kardeşim nerdeyse 3 4 gündür sitende eğitimlerine bakıyorum sağolasın büyük emek vermişsin şayet ben buradan aldığım kodlarda hatalar alıyorum belki ben beceremiyorum yeni kendimce brşeyler öğrenmeye çalışıyorum. Bazı kodları kütüphanede bulamıyor hata veriyor

  • Yeni yeni mobil uygulamaya başladım sayılır ve yazılarının çok yararını görüyorum. Teşekkür ederim.

  • Hocam bir webview uygulaması tasarladım splash screen de internete bağlı olup olmadığını kontrol etsin bağlı değilse girmesine izin vermesin bunu nasıl ayarlayabilirim bununla ilgili bir konu varmı ?

  • androidmanifest içinde de değişiklik yapmadan çalışıcak mı ? sanırım orda da bir şeyler yapmak zorundayız

  • Bakıyorum hocam nekadar anlatımınıza baktıysam hep eksiklikler var önemli detaylar eksik ve o detaylar olmadan bu iş yapılamaz çalışmaz yani olmaz neden öyle anlatımlar.. Arka planın gerekli klasöre atılması eni bir layout oluşturulması sonra manifestte gerekli ayarlar bunların hiçbiri anlatımda yok neden ?

    • Kaynak kodu boş yere eklemiyoruz. Kaynak kodu indirip inceleyebilirsin. Kaynak kodu indirip inceleyemiyecek kadar Android bilgin yoksa sana tavsiyem Android Giriş Derslerimizi takip etmen:
      https://www.mobilhanem.com/android-egitimleri/

      Ayrıca bu yazıların eksik olması sana bir fırsat , sen bir blog açıp bizdeki eksik gördüğün yerleri tamamlayıp yazıya dökebilirsin. Bizde senin sitenden faydalanırız.
      Sitede gördüğün üzere kimseden bir ücret talep etmiyoruz ve ya reklamlarla siteyi boğmuyoruz. Yani burdaki hizmet ücret ödeyip aldığın bir hizmet değil , başka siteleride değerlendirebilirsin.

      Eleştiriye açık olmadığımızı düşünme fakat yapılan tüm işlere eksik deyip kötülemen hoş değil.

  • hocam merhaba benim sorunum başka ben bir uygulama yapıyorum hangi linke tıklasam yeni sayfada cromede açtırıyor bunu nasıl engellerim uygulama içi açılmasını sağlarım

  • Hocam benim bir sorum olacak. Arkadaşım bir apk içine uygulama girişinde görünecek şekilde bir banner yada toast koymuş. Yani kısaca adı yazıyor. Belli bir süre görünüp sonra silinerek kayboluyor. Ben bu mesajı apk içinde her yerde aradım ama bulamadım. Bunu böyle gizleme şansı var mı? Varsa nereye gizlemiş olabilir?

Haftalık Bülten

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