Soru & Cevap

Netden veri çekme ...

31.12.2015 - 05:34

İyi akşamlar. Vakit var amma Yeni yılınız kutlu olsun.

Yakın zamanda bri projemde kullandım sorun yoktu. Bu gün kullanmak istedim veri boş geliyo.

    public String turboGET(String url)
    {
        String responsed = "";
        try {
	    HttpClient httpclient = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(url);
            HttpResponse httpResponse = httpclient.execute(httpGet);
            BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
            responsed = reader.readLine();
            return responsed;
        } catch (Exception e) {}
        return "";
    }

org.jbundle.util.osgi.wrapped.org.apache.http.client-4.1.2.jar kullanyorum. Eclipse ve AStudio test etdim aynı.

76 Görüntülenme

2 Cevap

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

picture-11052-1576825910.jpg
alikarakoc
01.01.2016 - 08:28

Ali tekrar merhaba,

Sorunun ne olduğunu inan bilmiyorum HttpClient sınıfını hiç kullanmadım. Android'in daha güzel ve hızlı çalışan bir sınıfı var Volley bunu kullanmanı tavsiye ederim.

Öncelikle yapman gereken şeyleri yazıyorum;

Görsel kaldırıldı.

Projende yukarıda ki gibi build.gradle içerisine girip aşağıda ki kodu ekle dependencies içerisine ekle,

    compile 'com.mcxiaoke.volley:library:1.0.19'

Örnek,

 

Görsel kaldırıldı.

Sonra,

Activity kısmında,

        RequestQueue queue = Volley.newRequestQueue(this);
        String url = "http://api.azerbox.tk";
        StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        try {
                            JSONObject o = new JSONObject(response);
                            String success = o.getString("success");
                            JSONArray values = o.getJSONArray("channels");
                            for (int i = 0; i < values.length(); i++) {
                                JSONObject sonuc = values.getJSONObject(i);
                                String stream = sonuc.getString("stream");
                                String name = sonuc.getString("name");
                                String image = sonuc.getString("image");
                                String url = sonuc.getString("url");
                            }
                        } catch (JSONException ex) {
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
        queue.add(stringRequest);

Anlaman için json içerisinden gerekli alanlarıda çektim artık kendi yolunu bulmalısın bu şekilde takıldığın yerleri sorarsın. Kolay gelsin.

Ali
02.01.2016 - 08:38
Merhaba. Teşekkürler kardeşim. HttpClient siteden veri çekmek için kullanıyorum. Fark etmiyor json, xml ya sayfa html kaynağı. Projemde sayfakaynağına ulaşmam gerek json html içinde o yüzden parseleme yapmak zorundayım. Neden çalışmadığını anlıyamıyorum. Belli bir urlden veri çekmek için?
picture-11052-1576825910.jpg
alikarakoc
31.12.2015 - 11:30

Ali,

Merhaba veri boş geliyorsa kodluk bir durum olmayabilir mi?

URL yi yazma şansın var mı birde ben get işlemi sağlayayım bakalım bende de boş mu gelecek.

Yada chrome'un postman uygulaması ile adresine bir get yap bakalım sorun mu var Api servisinde...

İyi çalışmalar.

Ali
01.01.2016 - 08:16
Merhaba. Muytlu yıllar. Url sorun yok. Test için http://api.azerbox.tk ve http://azerbox.tk kullandım aynı. Hata ayıklamada baktım BufferedReader reader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8")); şu satıra gelince otomatyikman işlemi gerçekleştirmiyo ve boş. değer geliyor.