Mihriban
Mihriban
Konya
12/12/2014 tarihinden beri üye
165 GY Puanı
34K GY Sırası

Kişisel Sayfaları

İlgi Alanları

1 Rozet
0 Sertifika
1 Soru Sordu
0 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Necmettin Erbakan Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

1
Tümünü Gör

Slider Menu Fragmentları İçine Json Veri Çekmek

Merhaba, sliding menu içerisindeki fragmentlara Json veri çekmek istiyorum fakat hata alıyorum. Normal de çekebiliyorum datayı fakat işin içine fragment girince aynı kodlar log da hata vermiyor ancak uygulama kendini durduruyor.

Fragment içine nasıl verileri çekebilirim? Teşekkürler

public class DahiliyeFragment extends Fragment {


    public DahiliyeFragment() {
        // Required empty public constructor
    }
    private ListView lvPersonel;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {


    new JSONTask().execute("https://api.myjson.com/bins/4hopr");

    DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).build();
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder( getActivity()).defaultDisplayImageOptions(defaultOptions)
            .build();
    ImageLoader.getInstance().init(config); // Do it on Application start

    lvPersonel = (ListView) getView().findViewById(R.id.lvPersonel);


        return inflater.inflate(R.layout.fragment_dahiliye, container, false);
    }



public class JSONTask extends AsyncTask<String,String,List<PersonelModel>>
{

    @Override
    protected List<PersonelModel> doInBackground(String... params) {


        HttpURLConnection connection = null;
        BufferedReader reader=null;
        InputStream stream;
        StringBuffer buffer;
        try {
            URL url = new URL(params[0]); //bağlantı
            connection = (HttpURLConnection) url.openConnection();
            connection.connect();

            stream = connection.getInputStream();
            reader = new BufferedReader(new InputStreamReader(stream)); //okuma yapıyor
            buffer = new StringBuffer();
            String line = "";
            while ((line = reader.readLine()) != null)
            {
                buffer.append(line);

            }

            String finalJson = buffer.toString();
            JSONObject parentObject = new JSONObject(finalJson);

            JSONArray parentArray = parentObject.getJSONArray("personeller"); // json dizisini alır
            //StringBuffer finalBufferedData = new StringBuffer();
            List<PersonelModel> personelModelList = new ArrayList<>(); //json içerisindeki ana dizinin tüm elemanlarını tutmak için

            for(int i=0; i<parentArray.length(); i++)

            {
                JSONObject finalobject = parentArray.getJSONObject(i); //dizinin elemanları için

                    /*String unvan = finalobject.getString("unvan");// json daki nesnenin adını tanıtarak yeni bi string nesnesi oluşturduk
                    String ad = finalobject.getString("ad");
                    String soyad = finalobject.getString("soyad");
                    String oda = finalobject.getString("oda");
                    finalBufferedData.append(unvan+ "-" +ad+ "-" +soyad+ "-"+oda+"\n");*/ //döngünün içinde aldığı her veriyi finalBufferedData nn içine yükleyecek

                PersonelModel personelModel = new PersonelModel();
                personelModel.setUnvan(finalobject.getString("unvan"));
                personelModel.setAd(finalobject.getString("ad"));
                personelModel.setSoyad(finalobject.getString("soyad"));
                personelModel.setOda(finalobject.getString("oda"));
                personelModel.setResim(finalobject.getString("resim"));




                personelModelList.add(personelModel);

                //finalBufferedData.append(movieName + "-" +year+ "\n");

            }
            //return buffer.toString(); //post execute yolluyor
            //return movieName + "-" + year;
            //return  finalBufferedData.toString();

            return personelModelList;


        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (JSONException e) {
            e.printStackTrace();
        } finally {
            if(connection != null)
            {connection.disconnect();}
            try {
                if(reader != null){
                    reader.close();}
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        return null;
    }



    @Override
    protected void onPostExecute(List<PersonelModel> result) {
        super.onPostExecute(result);
        // tvData.setText(result);
        // TODO need to set to the list
        PersonelAdapter adapter = new PersonelAdapter(getActivity(),R.layout.row, result);
        lvPersonel.setAdapter(adapter);

    }
}



public class PersonelAdapter extends ArrayAdapter
{
    private List<PersonelModel> personelModelList;
    private int resource;
    private LayoutInflater inflater;
    public PersonelAdapter(Context context, int resource, List<PersonelModel> objects) {
        super(context, resource, objects);
        personelModelList = objects;
        this.resource = resource;
        inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder = null;
        if(convertView == null)
        {
            holder = new ViewHolder();
            convertView = inflater.inflate(resource, null);
            holder.ivResim = (ImageView)convertView.findViewById(R.id.ivResim); // row layoutunda old için convertview den aldk
            holder.tvAd = (TextView)convertView.findViewById(R.id.tvAd);
            holder.tvSoyad = (TextView)convertView.findViewById(R.id.tvSoyad);
            holder.tvOda = (TextView)convertView.findViewById(R.id.tvOda);
            holder.tvUnvan = (TextView)convertView.findViewById(R.id.tvUnvan);

            convertView.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) convertView.getTag();
        }




        final ProgressBar progressBar = (ProgressBar)convertView.findViewById(R.id.progressBar);

        // Then later, when you want to display image
        ImageLoader.getInstance().displayImage("http://i.hizliresim.com/go7bpQ.jpg", holder.ivResim, new ImageLoadingListener() {
            @Override
            public void onLoadingStarted(String s, View view) {
                progressBar.setVisibility(View.VISIBLE);
            }

            @Override
            public void onLoadingFailed(String s, View view, FailReason failReason) {
                progressBar.setVisibility(View.GONE);
            }

            @Override
            public void onLoadingComplete(String s, View view, Bitmap bitmap) {
                progressBar.setVisibility(View.GONE);
            }

            @Override
            public void onLoadingCancelled(String s, View view) {
                progressBar.setVisibility(View.GONE);
            }
        });



        holder.tvUnvan.setText("Unvan:   " + personelModelList.get(position).getUnvan());
        holder.tvAd.setText("Ad:  " + personelModelList.get(position).getAd());
        holder.tvSoyad.setText("Soyad:   " + personelModelList.get(position).getSoyad());
        holder.tvOda.setText("Oda:    " + personelModelList.get(position).getOda());




        return convertView;
    }
}


class ViewHolder

{

    private ImageView ivResim;
    private TextView tvAd;
    private TextView tvSoyad;
    private TextView tvOda;
    private TextView tvUnvan;

}

}

 

picture-37251-1431426903.jpg
7 yıl 8 ay önce yanıtladın