Merhabalar,
Söylediğiniz SharedPreferences'te mümkündür, şöyle ki kendinizce bir string patternı belirlemeniz gerekmektedir. Örneğin;
Sayilar değişkeninde uygulama açıldığında oluşturduğunuz sayı olsun. Yalnız int(Integer) veri tipinde değer tutamazsınız bu yöntemde.
Aşağıda verdiğimiz örnekte normalde String değişkenine nasıl normal bir değer tanımlıyorsak, öylesine yazıyorum.
String Sayilar = "1";
Şimdi sizin istediğiniz oluşturduğunuz iki farklı rakamı da Sayilar değişkenine tanımlıyoruz.
String Sayilar = "1,2";
Burada yaşayacağınız problem ve çözmeniz gereken durum şunlardır.
- Sayilar değişkenine bir veri kayıt etmeden önce string düzenleme işlemi yaparak(Split ya da Contains işlemi), kayıt edeceğiniz veri değişkenin içinde var mı yok mu kontrol etmek.
- Eğer Sayilar değişkeni içerisinde kayıt edeceğiniz yeni rakam yok ise ve kayıt etmek istiyorsanız;
String Sayilar += ",4";
Gibi bir String birleştirme ifadesi ile String'inizin son hali şöyle olacaktır.
String Sayilar = "1,2,4";
Stringde "Contains" ("Contains, Türkçe'de 'İçeriyor mu?' anlamına gelmektedir.") methodu vardır, bu şu işe yarar, "sana arattıracağım veri, şu değişkenin içinde var mı?".
Kullanımı şu şekildedir;
Sayilar.contains("4");
Yukarıda şunu demek istedik, Sayilar değişkenin içinde "4" var mı? Var ise True yok ise False döndürecektir. Method boolean değer döndürüyor bu arada, şu şekilde kullanabilirsiniz;
if(Sayilar.contains("4")){
//True döneceği için buraya girecek, gerekli işlemleri yapın.
}else{
//4 içermiyorsa buraya girecektir, gereken işlemleri yapın.
}
İstediğiniz cevabı tam olarak vermiyorum çünkü String birleştirme, String çözme gibi işlemleri kendiniz araştırmanız, anlamanız ve kavramanız gerekiyor sizin gelişiminiz açısından.
Sorunuz olursa iletişime geçmekten çekinmeyin lütfen.
İyi çalışmalar.
Düzeltme: Yukarıda verdiğim örnekte sadece 0'dan 9'a kadar olan sayıları kullanarak uygulayabilirsiniz çünkü Sayilar değişkeninde "0,1,34" olsaydı, yani 4 olmasaydı ama siz Sayilar.contains("4") olarak sorgu yapsaydınız gene True dönecekti çünkü 34 sayısının içinde de 4 rakamı geçiyor. Eğer 9'dan büyük sayıları da içerecekse "Split" işlemi tam size göre, yukarıda biraz mantık kavramış olursunuz, "Split" işlemini aratarak ve denemeler yaparak sorununuzu çözebilirsiniz.