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.
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;
İkinci ekranımız;
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;
Program dosyasını buradan indirebilirsiniz.