Android Studio HTML Tablodan Seçme İşlemi
9
●385
- 03-12-2019, 17:04:36Merhabalar, http://www.ktu.edu.tr/isbb-tumduyuru adresinden yer alan tablodan güncel duyuruları çeken bir uygulama yapmak istiyorum lakin JSOUP ile tablodan verileri çekme işlemini yapamadım. Çektiğim verileri recylerview'e aktarmak istiyorum. Bu konuda tecrübesi olan arkadaşlar yardımcı olabilir mi?
- 04-12-2019, 22:23:33Kimlik doğrulama veya yönetimden onay bekliyor.bu konuda bende araştırma yapmaktayım, bulunca birbirimize yardım edebiliriz hocam
- 05-12-2019, 02:45:08Recylerview'e veriyi ne tur bir database'den cekeceksiniz? Java ile cekecekseniz ciktiyi JSON olarak aldiktan sonra android icerisinden JSON parse kullanabilirsiniz.Php ile direk olarak hem JSON hem de firebase'ye cikti alabilirsiniz.Hangisi ?
- 07-12-2019, 01:01:40databasden değilde direkt site üzerinden çekmemiz gerek. birde benim size sorum olcak. https://sbu2.saglik.gov.tr/QR/QR.aspx?kno=1008585476 bu siteden nasıl veri çekebilirim. json ile olurmu?Breakupsong adlı üyeden alıntı: mesajı görüntüle
- 07-12-2019, 01:52:42Javascript ile olur.Aslında sayfa tam JSON formatında olduğundan PHP ile daha iyi olur.PHP ile pek aram olmadığından javascript olarak yardımcı olabilirim.yuksekgunay adlı üyeden alıntı: mesajı görüntüle
Önce verileri çekiyoruz tabloda kaç row ve kaç cell olduğunu hesaplatarak her biri için ayrı olarak değer olşuturuyoruz.
var Bizimtablo = document.getElementById('tableContent'); var hucreler; var data = []; var satirlar = Bizimtablo.rows.length; pes(); function pes(){ for (i = 0; i < satirlar; i++){ var hucreici = Bizimtablo.rows.item(i).cells; var hucreuzunluk = hucreici.length; for(var j = 0; j < hucreuzunluk; j++){ hucreler = hucreici.item(j).innerHTML; data.push(hucreler); } }Şimdi bu çektiğimiz kodu json içine yazdırarak, bilgisayarımıza indirebiliriz.Yalnız tablo çok adi olduğundan çok fazla gereksiz tırnak işartleri var onu ayrı bir string ile engelleyebilir; veya json'u çekerken kod ile hiç almaya da bilirsiniz karar size kalmış
Nihai kod
var Bizimtablo = document.getElementById('tableContent'); var hucreler; var data = []; var satirlar = Bizimtablo.rows.length; pes(); function pes(){ for (i = 0; i < satirlar; i++){ var hucreici = Bizimtablo.rows.item(i).cells; var hucreuzunluk = hucreici.length; for(var j = 0; j < hucreuzunluk; j++){ hucreler = hucreici.item(j).innerHTML; data.push(hucreler); } } var saveData = (function () { var a = document.createElement("a"); document.body.appendChild(a); a.style = "display: none"; return function (data, fileName) { var json = JSON.stringify(data), blob = new Blob([json], {type: "octet/stream"}), url = window.URL.createObjectURL(blob); a.href = url; a.download = fileName; a.click(); window.URL.revokeObjectURL(url); }; }()); fileName = "cikti.json"; saveData(data, fileName); } - 08-12-2019, 02:12:44Breakupsong adlı üyeden alıntı: mesajı görüntüle
Hocam bu işi bana 50tl ye yaparmisin. Android studioda burdaki istediğim verileri ayri ayri edittextlere cekmem lazım. Kabul ederseniz ayrinti konuşabiliriz. - 08-12-2019, 16:18:31Hocam ücretli iş almiyorum şu an.Fiyati yükselterek forumda ilan açın bulamazsaniz 3 gün (carsamba) sonra yardımcı olurum.yuksekgunay adlı üyeden alıntı: mesajı görüntüle
- 10-12-2019, 00:18:04JSOUP ile yapamamanızın nedeni büyük ihtimalle sayfayı doğru parçalayamadığınızdan dolayıdır.Ancak ben JSOUP ile çekmenizi tavsiye etmem.Çünkü JSOUP veriyi web sayfasından direk olarak çağırıyor.Sayfanın yapısı ileride değişebilir,tablo yerine başka bir yapı kullanılabilir (Tabi site'nin admin'i sizseniz değiştirmezsiniz).bypangea adlı üyeden alıntı: mesajı görüntüle
1- Bu yüzden önce bir php bot ile verileri çeken bir script hazırlanması gerek.Script'e daha sonra istediğiniz gibi müdahale edebileceğiniz için, değişsen sayfa yapılarında scripti buna göre güncelleyebilirsiniz.
2- Bu sayfayı uygulama içerisinde json olarak çağırıp verileri alırsınız.
3-(İsteğe bağlı) Hazırlanan php dosyası'nın sürekli güncellenmesini isterseniz,cron job ile belli aralıklarda düzenli olarak verileri güncelleyebilirsiniz.
huseyinrs adlı üyeden alıntı: mesajı görüntüle