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();        }    }}