• 08-09-2020, 13:34:52
    #1
    Merhaba arkadaşlar.
    Android stdio ile okul listelemek istiyorum. Yalnız 81 şehir var ve bunun için 81 empty activity açmak mantıklımı?
    Zaten açsam bile bir kente ait tüm okullar tek aktiviti içine sığmaz.
    Bunun daha basit yolu ne olabilir?
    Var mı fikriniz? TTeşekkürler.
  • 08-09-2020, 13:37:36
    #2
    Mantıksız hocam
  • 08-09-2020, 13:41:12
    #3
    Mantıksız hocam, okullara ait verileri key-value bir mapte tutarsın il plaka kodlarına göre Map<Integer,School> gibi. Tek bir Activity yaparsın açarken intent ile plaka kodunu gönderirsin daha sonra bu mapten plaka koduna göre veriyi okur ekranı oluşturursun.
  • 08-09-2020, 14:45:32
    #4
    AhmtBrK adlı üyeden alıntı: mesajı görüntüle
    Mantıksız hocam, okullara ait verileri key-value bir mapte tutarsın il plaka kodlarına göre Map<Integer,School> gibi. Tek bir Activity yaparsın açarken intent ile plaka kodunu gönderirsin daha sonra bu mapten plaka koduna göre veriyi okur ekranı oluşturursun.
    Hocam söylediğin şey çok güzel ancak ben bu konu hakkında yani key value map hakkın dahiç bilgim yok. Youtube'de bununla ilgili bir ders var mı?
    Ben aradım bulamadım. Siz biliyorsanız ve yazarsanız sevinirim. Hem öğrenmiş olurum.

    Çok teşekkürler.
  • 08-09-2020, 15:31:04
    #5
    Aslında şöyle birşey yapabilirsiniz, arkadaşların dediğide bu;
    A -> Açılış Activity'si / B-> Şehirdeki okulları listeleyen Detay Activity olsun.
    A dan B'yi açarken intent çağrıları ile başlatıyorsunuzdur. Detay activity'sini açarken şehir kodunu intentin içini koyarak B activity'sine gönderebilirsiniz. Ve bu B activity'sinde gelen şehir koduna göre lsiteleme yapabilirsiniz.

    Buda örnek olarak şöyle olur;

    A activity'si içerisinde
    Intent i= new Intent(this, DetayActivity.class);
    i.putExtra("plakaKodu", 34); //34 şehir kodu ve "plakaKodu" dediğimiz alanda bunun Tag'idir.
    startActivity(i);

    B activity'si içerisindede bu datayı onCreate methodu içerisinde şöyle alabilirsiniz;
    int plakaKodu= getIntent().getIntExtra("plakaKodu",0); //Burada A activity'sinde kullandığınız "plakaKodu" tagi ile B de intentten çekerken kullandığınızın aynı olmasına dikkat edin.

    Bu kadar aslında sonrasında plakaKodu integer değerine göre o şehirdeki okulları vs listeleyebilirsiniz.
  • 10-09-2020, 08:43:28
    #6
    Ambluden adlı üyeden alıntı: mesajı görüntüle
    Aslında şöyle birşey yapabilirsiniz, arkadaşların dediğide bu;
    A -> Açılış Activity'si / B-> Şehirdeki okulları listeleyen Detay Activity olsun.
    A dan B'yi açarken intent çağrıları ile başlatıyorsunuzdur. Detay activity'sini açarken şehir kodunu intentin içini koyarak B activity'sine gönderebilirsiniz. Ve bu B activity'sinde gelen şehir koduna göre lsiteleme yapabilirsiniz.

    Buda örnek olarak şöyle olur;

    A activity'si içerisinde
    Intent i= new Intent(this, DetayActivity.class);
    i.putExtra("plakaKodu", 34); //34 şehir kodu ve "plakaKodu" dediğimiz alanda bunun Tag'idir.
    startActivity(i);

    B activity'si içerisindede bu datayı onCreate methodu içerisinde şöyle alabilirsiniz;
    int plakaKodu= getIntent().getIntExtra("plakaKodu",0); //Burada A activity'sinde kullandığınız "plakaKodu" tagi ile B de intentten çekerken kullandığınızın aynı olmasına dikkat edin.

    Bu kadar aslında sonrasında plakaKodu integer değerine göre o şehirdeki okulları vs listeleyebilirsiniz.
    Hocam Allah senden razı olsun. Dediğin gibi yaptım ve çok güzel oldu. Rabbim seninde gönlüne göre versin.
    Çok teşekkürler.
  • 10-09-2020, 13:51:47
    #7
    Hygge adlı üyeden alıntı: mesajı görüntüle
    Hocam Allah senden razı olsun. Dediğin gibi yaptım ve çok güzel oldu. Rabbim seninde gönlüne göre versin.
    Çok teşekkürler.
    İşe yaramasına sevindim, kolay gelsin