Android Dev arkadaşlar yardımınıza ihtiyacım var.
Görseldeki kodda en aşağıda yeşil yazı içinde "tcp://broker.mqttdashboard.com:1883" yazıyor.
Bu MQTT server'ın urlsi. Şimdi, benimTextInput ile kullanıcının girdiği yazıyı buraya atmam lazım.
Aslında basitçe, hostInput.getEditText().getText().toString(); ile almam gerekiyor. Bu da okey, yalnız tek sorun, görseldeki kodda yazmam gereken yer string içinde. Yani benim bu hostInput.getEditText().getText().toString(); kodunu o bölgeye yazmam şu an imkansız çünkü string girilmesi gerekiyor, yoksa hata veriyor.
Nasıl yapabilirim, string girilecek kısıma bu fonksiyonu yazıp string göstermem lazım.
@m-ahmet

Direk string concatenation yap. "tcp://broker.mqttdashboard.com:1883" + hostInput.getEditText().getText().toString() şeklinde
Böyle dediniz sanırım, bu sefer de aşağıdaki kırmızı hatayı veriyor butona basınca.
@rdr O hosting url kısmını kullanıcıdan girdi olarak alıyorum işte. Yanlış mı yapıyorum yöntemi
@agab mqttAndroidClient classının constructorını gösterir misiniz?
@okuyanf61 Bunu mu kast ettiniz anlamadım
@agab Hocam şunun için istedim; bu class URL'i string olarak değil uri olarak istiyor olabilir. URL'yi tek başına yazdığınızda otomatik olarak uri cinsine çeviriyor fakat kullanıcıdan aldığınız text ile birleştirince uri'a dönüştüremiyor olabilir.
"tcp://"+hostInput.getEditText().getText().toString()+":1883" yerine
Uri.parse("tcp://"+hostInput.getEditText().getText().toString()+":1883") şeklinde dener misiniz?
@okuyanf61 Bakayım hocam teşekkür ederim. Evet biri text bir uri imiş
@okuyanf61 Böyle de yemedi 🙁
@agab Aklıma başka bir şey gelmiyor şu aşamada. Ancak debugging yaparak çözebilirsiniz bu hatayı
@okuyanf61 Teşekkür ederim 🙂
@okuyanf61 https://stackoverflow.com/questions/68378192/how-to-parse-json-from-paho-mqtt-messages bu konu hakkında bir fikriniz var mıdır hocam
@agab JSON dosyasını parse etmekten bahsediyorsanız evet daha önce parse ettim. Attığınız linkteki ilk cevapta da çok güzel anlatılmış nasıl parse edileceği
@okuyanf61 Stackoverflow benim açtığım topici sildi ya o link benim açtığım sorun değil şu an. Yönlendirdiği link ise benle alakalı olmayan bir link. Eve geçince atayım asıl sorunumu.
String myString =" " ;
myString += edittext. Gettext(). To String() ;
Diye yazsan olmaz mı?
Telefondan yazdım pek düzgün olmadı ama sen anladın olayı.
Şöyle bir şey yaptım, aşağıdaki txt kodu ile ekrana yazdırdım gerçekten çalışıyor mu diye, evet çalışıyor ama basınca hemen app çöküyor
@rdr Yok doğrudan koda gömünce çalışıyor, tcp://broker.mqttdashboard.com:1883 şeklinde yazıyorum tırnak içinde çalışıyor
@rdr İşte 3 yorum yukarıda ahmet’e attığım görselde kontrol ettim, her şey doğru gözüküyor. Ama error şekli değişik.
@m-ahmet json parse ile aran var mı?
@agab denedim bikaç sefer ama çözmem 2-3 günümü aldı
@m-ahmet https://stackoverflow.com/questions/68378192/how-to-parse-json-from-paho-mqtt-messages bunun hakkında bir fikrin var mıdır peki 🙁
@agab mqtt ile çalışmaya müsait bir şey mi bu json? Ben bu mqtt yi çözemedim ya. Benim yazdığım kod çalışmadı. Sen düzgün çalıştırabildin mi mqtt kodunu?
@m-ahmet Evet şu an sorunsuz connect ve sub oluyor yukarıdaki stackoverflow'daki kod. sub olduğum yerden mesajları textView içinde gösterebiliyorum, ama textview içinde nasıl parse edeceğim acaba.
@agab https://youtu.be/y2xtLqP8dSQ
Burdan bakarak yaptım ben. Bir de android developer'in sitesinden bak. Orada da açıklayıcı bir anlatım var şimdi telefonda bulamadım.
@m-ahmet Pampa buradan baktım ama beceremedim ya. Kafam allak bullak ondan mı acaba bilemedim. Bir de buralar URL çekiyor. Ben url değil string gelen bir diziyi parse etmem gerek.
@agab list şeklinde alsan olmaz mı?
Veri zaten gelmiş sana bi listeye ata textview'in içine yazdır
@m-ahmet Böyle mi? Nasıl?
Bir de böyle yapınca "şu işaretli kısımı" new Response.Listener kısmı görünmez oldu bak. Ondan dolayı mı olmuyor acaba şu an
edit: ulan stackoverflow konumu sildi benzeri var diye. Aga benzeri var da aynısı yok işte 😀
@agab şuan hiç bilmiyorum ya düğündeyim bakmam lazım nasıl yaptım ben kendi projemi ama şimdi o imkanım yok.
@okuyanf61 Şimdi sorun şu, tüm json parse işlemleri ya urlden çekiyor ya da .json dosyasından çekiyor. Ben MQTT'den çekeceğim için belirli bir url yazamıyorum göseldeki seçili olan yere.
Amaa, benim textView içine MQTT'den çektiğim json verileri geliyor ekranda gösterebiliyorum. Bu yüzden ben de düşündüm ki sabit bir json parse fonksiyonu içine url yerine, gelen text içinden çekeyim (textView sayesinde)
Bunun için de görseldeki işaretli olan yer gibi yaptım. Ama çalışmıyor işte.
Sence nasıl çekebilirim, yapabilirim bu parse işlemini?
parse fonksiyonu kodu burada: https://paste.ubuntu.com/p/MBhfSwcVrg/
edit: Şimdi fark ettim de textView içine gelmesi lazım önce ki çekebilsin parse için. Ama nasıl olacak acaba
Şöyle bir şey gelmesi lazım yani bu url çekeceği kısmına, MQTTMessage gibi bir şey.
Textview dolu mu boş mu diye kontrol etmesi için bir thread yazabilirsiniz.
@okuyanf61 TextView'e pushladığım data geliyor hocam onluk sorun yok bence;
https://paste.ubuntu.com/p/kNqRrVgpJN/ şöyle tüm kodları atsam daha iyi anlayabilirsiniz sanırım.
@agab Bu şekilde bir hata veriyor mu?
@okuyanf61 Hata vermiyor, çalışmıyor. JSON bilgilerini çekip parse edemiyor, veya ediyorsa da ettikten sonra ekrana (txt içine) bir şey gelmiyor.
@okuyanf61 Şimdi acaba url versem çalışır mı diye baktım, evet sorunsuz çalışıyor. Sadece textView içinden çekemiyor parse etmek için gerekli stringi.
@agab Bir breakpoint koyup debug etmek lazım. Diğer türlü anlamak zor