1. sayfa
Sharedpreferences a kaydettiğin değerler uygulamaya özel ayrılmış bir alanda saklanır. Projenin içinden göremezsin. Ayrıca iki kere tanımalmışsın ayarlar ve preferences diye |
preferences i count değerini kaydetmek için ayarları ise uygulamanın Ayarlar kısmını değiştirmek için fakat tam kafam basmadı anlayamadım doğru düzgün |
Sharedpreferences gecici hafızayı saklamak için kullanılır. Sende öyle yapmışsın. Örnek count değerini oncreate methodunda önce Sharedpreferences ile alıyosun sonra texte yazdırıyosun. Küçük verileri tutmak için geçici hafıza. Kodlarda tam olarak ne kafana yatmadı. |
hocam daha çok SharedPreferences ayarlar; olarak tanımladığım ayarlar değişkeni yatmadı.neden türü SharedPreferences ve benim ayarlar sekmesinde yaptığım değişiklik nasıl etkili oluyor bu koda göre ayarlarla bağlantı kurmamışım.(isim hep ayarlar kullandım ama hangi ayar hangi ayar umarım karışmaz ) ya da bana sadece ayarlar değişkeninin ne yaptığını neleri değiştirdiğini anlatırsanız da iyi olur zaten merak ettiğim o dolandırmadan. bir de konular ilerledikçe birsürü method ve birsürü ona göre bağlantı geldi izlerken anlıyorum fakat kapatıp kendim yazarken aklıma gelmiyor bunlar ezberlenmeli mi açıp bakınca ben yapmışım gibi hissetmiyorum |
Şimdi şöyle anlatayım. ayarlar diye değişken atamışssın. O Sharedpreferences sınıfından türemiş. Yani geçici bir hafıza tutuyorsun proje adına ayarlar diyosun. ayarlarıyükle fonksiyonunda String post değişkenine ayarlar.getString değerini almışsın. Sharedpreferences bağlantısı orda var mesela. Sanırım bir int değer veriyorsun arkaplan değişkenine. Sharedpreferences sınıfını ona göre ayarlaışsın. Sonrada o değişken kaç ise switch case ile kontrol edip arkaplanı değiştiriyosun. Altta sesDurumu = ayarlar.getBoolean("ses",false); titresimDurumu = ayarlar.getBoolean("titresim",false); ayarlar.registerOnSharedPreferenceChangeListener(MainActivity.this); Sesdurumunu titreşim durumunu kontrol edip dinliyosun. Ayar değiştirince nasıl kayıt ediyor diye aklında kaldı sanırım.Onu da public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.sifirla: count=0; btn.setText(""+count); break; case R.id.ayarlar: Intent intent = new Intent(getApplicationContext(),Ayarlar.class); startActivity(intent); break; } return super.onOptionsItemSelected(item); } Bu metotta Menu item lardan birine tıklayınca ayarlar Intentine gönderip orda değiştiriyosun. O kodlar yok ama orda ses titreşim ayarları SharedPreferences kaydediliyordur. Sende main clasında onları geri alabiliyorsun. Açıklayıcı oldu mu bilmiyorum :) takıldığın yer varsa yine yardımcı olabilirim... |
anladım hocam teşekkür ederim.Bu kodların aynısını derslerini izlediğim biri yazdı.Ben de izledikten sonra %80 ini kendim yaptım fakat sonradan kalıcı olsun diye incelerken ayarlar meselesini çözememiştim. geçen hafta perşembe proje oluşturmayı bilmezken çok hızlı ilerledim sanırım fakat son konuları anlamayınca öğrenme hevesim kaçtı |
Herşeyi birden algılamak çok zor. Bişeyler yapıp ürettikçe oturmaya başlıyacak taşlar yerine. Nacizane tavsiyem bakarakta olsa tüm kodları başkasından da alsan devamlı proje yap ufak büyük önemli değil. Yaptıkça gelişiyor insan. Derslere bakıp birilerini dinleyip mesafe kat etmek imkansız. Hata yaptığın kadar öğrenirsin yazılımı. Hata yapmak içinde devamlı proje yapmak gerek... |
dediğiniz gibi yapıyorum zaten fakat bakınca keyfim kaçıyordu bazen ütopik düşünüp hızlıca yapmak öğrenmek istiyorum fakat bu iş öyle değilmiş teşekkür ederim cevaplarınız için |
1. sayfa
kodu tamamen attım arkadaşlar burdaki SharedPrefences türü ve ayarlar değişkenini anlamadım.ayarların benim görebildiğim ayarlar.class ile bağlantısı yok veya ayarları barındıran xml dosyalarıyla fakat program düzgün çalışıyor kaçırdığım yer neresi?