• 12-11-2019, 23:12:34
    #1
    Merhaba, veri çekeceğim sitede json yok o yüzden android studio üzerinden nasıl veri çekebilirim. Yardımlarınızı bekliyorum.

    Veri çekmeye çalıştığım site:
    https://sbu2.saglik.gov.tr/QR/QR.aspx?kno=1008585476
  • 12-11-2019, 23:23:23
    #2
    Selamlar, gerçekleştirmeniz gereken 2 işlem var

    1- Önce retrofit yardımıyla network çağrısı yaparak verinin html halini elde edin
    2- Jsoup yardımı ile html table i parse edin

    Burada html table parse örneği mevcut.

    Başarılar
  • 12-11-2019, 23:30:05
    #3
    Üyeliği durduruldu
    Volley kütüphanesi ile yapabilirsiniz
    .

    https://developer.android.com/training/volley/simple
  • 03-12-2019, 01:21:16
    #4
    TayfunCesur35 adlı üyeden alıntı: mesajı görüntüle
    Selamlar, gerçekleştirmeniz gereken 2 işlem var

    1- Önce retrofit yardımıyla network çağrısı yaparak verinin html halini elde edin
    2- Jsoup yardımı ile html table i parse edin

    Burada html table parse örneği mevcut.

    Başarılar

    Sorun neyde olabilir. Butona tıkladığımda hata program kendini kapatıyor. Sorun göremedim normalde çekmesi lazım değil mi?

    Kodlarım:

    import android.app.ProgressDialog;import android.os.AsyncTask;import android.support.annotation.NonNull;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MenuItem;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;import java.net.URL;import java.util.ArrayList;public class RetroClient extends AppCompatActivity {    private ListView lv;    public ArrayList liste= new ArrayList();    private ArrayAdapter<String> adapter;    private ProgressDialog progressDialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.retroclient);        lv=(ListView)findViewById(R.id.list);        adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,liste);        Button btn=(Button)findViewById(R.id.button);        btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                new VeriGetir().execute();            }        });    }    private class VeriGetir extends AsyncTask<Void, Void, Void> {        @Override        protected void onPreExecute() {            super.onPreExecute();            progressDialog= new ProgressDialog(RetroClient.this);            progressDialog.setTitle("VERİ");            progressDialog.setMessage("Lütfen bekleyiniz..");            progressDialog.setIndeterminate(false);            progressDialog.show();        }        @Override        protected Void doInBackground(Void... voids) {            try {                URL url = new URL("https://sbu2.saglik.gov.tr/QR/QR.aspx?kno=1008585476");                Document doc = Jsoup.parse(url, 3000);                Element table = doc.select("table").get(0); //select the first table.                Elements rows = table.select("tr");                for (int i = 1; i < rows.size(); i++) { //first row is the col names so skip it.                    Element row = rows.get(i);                    Elements cols = row.select("td");                    if (cols.get(7).text().equals("SİCİL NO")) {                        adapter.add(cols.get(7).text());                    }                }            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Void aVoid) {            super.onPostExecute(aVoid);            lv.setAdapter(adapter);            progressDialog.dismiss();        }    }}




    Widex adlı üyeden alıntı: mesajı görüntüle
    Volley kütüphanesi ile yapabilirsiniz
    .

    https://developer.android.com/training/volley/simple

    Jsoup denedim ama başarılı olamadım yardım edebilirmisiniz?

    Kodlarım:

    import android.app.ProgressDialog;import android.os.AsyncTask;import android.support.annotation.NonNull;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MenuItem;import android.view.View;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.ListView;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.IOException;import java.net.URL;import java.util.ArrayList;public class RetroClient extends AppCompatActivity {    private ListView lv;    public ArrayList liste= new ArrayList();    private ArrayAdapter<String> adapter;    private ProgressDialog progressDialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.retroclient);        lv=(ListView)findViewById(R.id.list);        adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,liste);        Button btn=(Button)findViewById(R.id.button);        btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                new VeriGetir().execute();            }        });    }    private class VeriGetir extends AsyncTask<Void, Void, Void> {        @Override        protected void onPreExecute() {            super.onPreExecute();            progressDialog= new ProgressDialog(RetroClient.this);            progressDialog.setTitle("VERİ");            progressDialog.setMessage("Lütfen bekleyiniz..");            progressDialog.setIndeterminate(false);            progressDialog.show();        }        @Override        protected Void doInBackground(Void... voids) {            try {                URL url = new URL("https://sbu2.saglik.gov.tr/QR/QR.aspx?kno=1008585476");                Document doc = Jsoup.parse(url, 3000);                Element table = doc.select("table").get(0); //select the first table.                Elements rows = table.select("tr");                for (int i = 1; i < rows.size(); i++) { //first row is the col names so skip it.                    Element row = rows.get(i);                    Elements cols = row.select("td");                    if (cols.get(7).text().equals("SİCİL NO")) {                        adapter.add(cols.get(7).text());                    }                }            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Void aVoid) {            super.onPostExecute(aVoid);            lv.setAdapter(adapter);            progressDialog.dismiss();        }    }}