Android – Splash Screen ve Shared Preferences

Merhaba arkadaşlar uzun bir ara vermiştim. Şimdi yeni bir yazı ile geri dönüyorum. Bugün splash Screen yani giriş ekranı yapımı ve shared prefrences ile veri tabanı kullanmayacak kadar küçük verileri activity’ler arası göndermeyi göreceğiz.

Kodlara geçmeden önce ön hazırlıkları yapalım;

İlk önce manifest dosyasında activity’ler için ayar yapacağız. Ben üç tane activity oluşturdum. Bunlardan biri giriş ekranı, birisi ilk ekran birisi ise veri göndereceğimiz ekran.

manifest

Ekran tasarımlarına geçersek ilk önce Splash Screen’i yapalım activity oluşturulduktan sonra sadece ;
android:background="@mipmap/ic_launcher" //şeklinde konumunu ekliyeceğiz ben androidin kendi logosunu koydum ilk ekrana
İlk ekranımız;
ilk ekran
İkinci ekranımız;
ilk ekran

Gelelim splash screen’in kod tarafına;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
Thread timerThread = new Thread() {

public void run() {
try {
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
//ilk kısıma mevcut contexti çekiyoruz.
//ikinci kısıma ise splash'tan sonra açılacak activity classını yazıyoruz.
startActivity(intent);//daha sonra çalıştırıyoruz.
finish();
}
}
};
timerThread.start();
}

Şimdi ana ekrana geliyoruz buranında kod kısmı şu şekilde;

public class MainActivity extends AppCompatActivity {
EditText editText;
Button button;
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;//sharedPrefences'e data eklemek için kullanılıyor
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText);
button = (Button) findViewById(R.id.button);

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
editor = sharedPreferences.edit();

button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
editor.putString("data",editText.getText().toString());
//putString'e ilk yazdığımız bizim anahtar 
kelimemiz gönderdiğimiz veriye bununla ulaşıcaz
editor.commit();//commit ederek işlemi kaydetmiş oluyoruz
startActivity(intent);
}
});

}
}

İkinci ekrana geldiğimizde;

public class Main2Activity extends AppCompatActivity {
SharedPreferences sharedPreferences;
TextView textView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

textView = (TextView) findViewById(R.id.textView2);

textView.setText(sharedPreferences.getString("data",""));
//veriyi çekerken işlem biraz daha değişiyor. 
İlk değişkene anahtar kelimemizi, ikincisine ise eğer veri çekemezse yani "data", null dönerse default olarak dönecek değeri yazıyoruz.
}
}

Çalışan ekran görüntülerinide vereyim;

ilkekran     ilkekran     ilkekran

 

Program dosyasını buradan indirebilirsiniz.

 

 

Yorum bırakın