Soru & Cevap

Güncel tarihe göre nasıl veri çekilir ...

22.03.2017 - 09:04

Merhaba Arkadaşlar,

Bir uygulama üzerinde çalışıyorum. Uygulamam da web sitesine yüklemiş olduğum xml dosyasından tüm yemek menüsünü çekebiliyorum. Güncel tarihide alabiliyorum fakat bunun yanı sıra güncel tarihe göre listedeki uygun tarihi eşleştirip günlük(güncel tarihe uygun) yemek listesini nasıl çekebilirim. Bu konuda bana yardımcı olabilir misiniz? Gerek duyulursa kod paylaşımı yapabilirim.

* web sitesine yüklemiş olduğum yemek listesi formatı şu şekildedir.

[ { "Tarih" : "22.03.2017", 
"Yemek" : "Pilic Buke
Sahan Kofte
Bulgur Pilavi
Biberli Lahana Sote
Zy.Brokoli
Cilbir
Elmali Tart
Limonlu Kup", 
"Kalori" : "1415" },

{ "Tarih" : "23.03.2017", 
"Yemek" : "Dugun Corba
Taze Fasulye
Bezelye
Kekikli Kuskus
Sade Pirinc Pilav
Zy.Bruksel Lahana
Zy.Kereviz
Peynir Tatlisi
Tarcinli Sutlac", 
"Kalori" : "1375" } ]

2 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-111255-1490161631.jpg
onurshnby
23.03.2017 - 03:38

Arkadaşlar yardım eder misiniz?

picture-16689-1471440015.jpg
Rahmican
22.03.2017 - 03:28

Merhaba Onur, 

Sanırım yapmak istediğin json parse etmek. Sana gereken sistem tarihini alan bir sınıf yazmak ve verileri çekersen parse edip Tarih kısmını sistemden aldığın güncel tarih ile karşılaştırmak ve ekrana yazdırma işlemlerine devam etmek.

Android'de tarih işlemlerine buradan bakabilirsin:
https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/javada-tarih-islemleri
Çektiğin json'u da parse etme işlemleri için burayı kullanabilirsin:
https://www.tutorialspoint.com/android/android_json_parser.htm

İyi çalışmalar.

Onur Sahinbay
22.03.2017 - 04:37
Evet Json ile veriyi çekiyorum ve Güncel tarihide alabiliyorum fakat çekmiş olduğum verideki tarih ile güncel tarihi karşılaştıramadım bir türlü. Bu konuda nasıl bir yol izleyebilirim acaba?
Onur Sahinbay
22.03.2017 - 09:39
Merhaba Rahmican, Şu şekilde birşey denedim ama bu seferde boş dönüyor bilgi çekmiyor :-/ for (int i = 0; i < persons.size(); i++) { Timber.i("Tarih #" + i + " : > " + persons.get(i).tarih); Timber.i("Yemek #" + i + " : > " + persons.get(i).yemek); Timber.i("Kalori #" + i + " : > " + persons.get(i).kalori); if(isToday(persons.get(i).tarih)){ personList.add(persons.get(i)); break; } } } return null; } @Override protected void onPostExecute(String result) { Timber.i("onPostExecute .."); personsAdapter.notifyDataSetChanged(); } } public boolean isToday(String date) { try { SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()); Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); Date date1 = dateFormat.parse(date); c1.setTime(date1); if (c1.compareTo(c2)==0) { return true; } } catch (ParseException e) { e.printStackTrace(); } return false; } }
Rahmican Büyükyekdeli
22.03.2017 - 09:49
Merhaba, c2 nin içeriği boş görünüyor sanki. Tekrar kontrol eder misin ?
Onur Sahinbay
22.03.2017 - 11:16
Merhaba, c2.setTime(date1); kod eklemesi yaptım şimdide sadece ilk sıradaki tarihi çekiyor :-/ Kodlarda bir düzenleme fikriniz var mıdır?
Onur Sahinbay
23.03.2017 - 12:47
Güncel tarih ile listedeki tarihi nasıl doğru karşılaştırabilirim. Yardım edebilir misiniz?