[]

Android Java localhost url hatası / json dosya çekme / https ve http farkı

Merhaba benim bir json dosyam var onu githup hasabıma yükledim ve oradan bir url aldım o url ile http kütüphanelerini kullanarak uygulamamın içinde gösteriyorum şu şekilde

codeshare.io

ama githup yüklediğim json dosyamı xampp kullanarak local hostumdan çekmeye çalıştığımda hata alıyorum

192.168.1.136

yukarıdaki bu url ile bilgisayarımda ki tarayıcıdan girebiliyorum ama kodlarımın içine yazdığımda hata alıyorum neden sizce ne yapmam gerekiyor.

githupdaki json dosyamın urlsi https
local hostumdaki json dosyam da http

bu yüzden mi olmuyor acaba

githup da yüklediğim json dosyam

raw.githubusercontent.com

xampp localhost daki json dosyam

githupdaki json dosyamı çağırdığımda geliyor.

192.168.1.136

 
oncelikle birinci problem 192.168.1.136 bir "private" network adresi, yani bu adrese sadece seni networkune bagli bir kaynaktan erisilebilir. ornegin bu duyuruda bu linke tiklayan kimse bu adrese erisemedi. Android telefon ayni networke bagli ise erisir, ama bagli degil ise erisemez. github linkine erisebiliyorsun cunku github acik bir ip ve domaine sahip.

ikinci problemise bu json dosyanin oldugu sever disaridan bir kaynaga erisim sagliyor mu. Buna CORS yani cross origin resource sharing deniliyor. yani serverde disaridan, senin durumunda android uygulamasindan bu icerige erismesi engellenmis ise bunu erisime acmalisin. tabi bu server ayarlarindan veya orda kullanilan programlama dili ile yapilabilir.

Nasil bir hata mesahi aldigini da yazarsan belki daha somut cevaplar verilebilir.
  • emrahday  (25.01.19 13:49:58 ~ 13:51:03) 
@emrahday hocam merhaba
Android telefon ayni networke bagli ise erisir
sözünüzden anladığım şu uygulamam amilatörde çalışıyor ve bilgisayarla aynı internet ağını kullanıyor burada sorun yok zaten ben bilgisayarımdan girebildiğim url ile emilatörümün tarayıcısından da girmeyi denedim oluyor.

2. şık ise cross origin resource sharing konusu bunu da şöyle açıklayayım ben xmapp serverımdaki php dosyalarıma erişebiliyorum buda dışarıdan erişimi açık olduğunu göstermiyormu.

cross origin resource sharing konusu hakkında bir bilgim yok.
hata mesajıda eğer benim return etmek istediğim değişkeni return etmessediye altına bir return daha koydum onun içinede settext"hata" yazdım bu dönüyor.

sorun zaten url de ama ne yapmam gerekiyor bu sorun için

birde ben google playda bir webview uygulama yayınlamıştım sitem http idi ve açılmıyordu onu https yaptım ve oldu sorun galiba bu ama local host url mi de https yapamamya bunu için bir kod falan yok mudur.
  • aristotelesin berberi  (25.01.19 14:10:13 ~ 14:10:23) 
koda baktigimda su kisimda aldigin hata yazdiriliyor. buradaki hata (Exception) problemin ne oldugunu mutlaka soyler.

} catch (Exception e) {
e.printStackTrace();
}

http veya https olmasi da muhtemel bir durum, server sadece https kabul ediyor da olabilir. bunun kesin nedeni ancak bu Exception neyi ifade ediyor ona bakarak cozulebilir.
  • emrahday  (25.01.19 14:17:34) 
xampp root path üzerinden jsonhttp.json istiyorsun, bu biraz garip geldi.

genelde xampp altında site dizinleri (domain gibi davranan) olur ve dosya isminin önüne bu dizin ismi yazılır.

örnek: 192.168.1.136/site_ismi/dosya_ismi

Senin dosyan xampp'ın altında tam olarak nerede, hangi dizinlerin içerisinde duruyor?
Bir de "192.168.1.136" adresini browser'dan çağırdığında karşına ne geliyor?
  • velhasilkelam  (25.01.19 14:23:01 ~ 14:23:24) 
emrahday hocam merhaba

} catch (Exception e) {
e.printStackTrace();


}
return "hata"; burası dönüyor

uygulama ilk açıldığındaki ekran görüntüsü

ibb.co

uygulama local host linki ile çalıştığında ve butona basıldığındaki ekran görüntüsü
ibb.co

uygulama githup linki ile çalıştığnda ve butona basıldığındaki ekran görüntüsü

ibb.co
  • aristotelesin berberi  (25.01.19 14:49:19) 
@velhasilkelam hocam merhaba



192.168.1.136

bu adrese tıkladığımdaki ekran görüntüsü

ibb.co

yani json dosyam açılıyor
  • aristotelesin berberi  (25.01.19 14:52:52) 
@emrahday
@velhasilkelam

hocalarım sorun galiba çözüldü

stackoverflow.com

sorun emilatörden kaynaklanıyormus kendi android telefonumu devoleper modunda usp ile bağlayıp çalıştırdım oldu çok teşekkür ediyorum.
  • aristotelesin berberi  (25.01.19 15:23:31) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.