Android Studioda Mysqlden Spinner’a Veri Çekme İşlemi

RichardJackson

Katılımcı Üye
y3c3Dn.jpg


Arkadaşlar Merhaba Android de Spinner’a veri çekmemiz için öncelikle sunucu tarafında
yayında olan hesabımızın bulunması gereklidir.Dosya yöneticisini açarak public_html’i açalım.Filezilla yardımı ile buraya yazdığımız php dosyamızı aktaracağız.Getir.php dosyamıza aşağıdaki kodları yazalım.

Bağlantı bilgilerinin ardından ,spinera veri çekmemiz için bir tane sorgu cümlesi yazalım.


Kod:
<?php
		$DB_USER='kendiadınız'; 
		$DB_PASS='kendişifreniz'; 
		$DB_HOST='localhost';
		$DB_NAME='ewxdella_kullanicilar';
		$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
		if (mysqli_connect_errno()) {
		printf("Connect failed: %s\n", mysqli_connect_error());
		exit();
		}		

		$mysqli->query("SET NAMES 'utf8'");
		$sql="SELECT Ad FROM kullanici";
		$result=$mysqli->query($sql);
		while($e=mysqli_fetch_assoc($result)){
		$output[]=$e; 
		}	

		print(json_encode($output)); 
		$mysqli->close();	

		?>

Şimdi ise sıra veritabanı oluşturmakta.Gerçi php sayfasını oluşturmadan önce veritabanı oluşturmamız gerekliydi ama süreç böyle ilerledi.Neyse Veritabanları bölümünde phpMyAdmin segmesini tıklayalım .

y3cFgo.png


Kullanıcılar adında bir veritabanı, kulanıcı adında da bir tablo oluşturalım.

y3c6K1.png


Tablo da Id,Ad,Soyad ve Yas alanlarını oluşturalım.Ve sonrasında veri girişinde bulunalım.

y3gEot.png


Şimdi sıra android kısmına geldi.Layout bölümünden activity_main.xml bölümüne bir tane spinner ekleyelim.Bunun dışında layout bölümüne 1 tane xml sayfası
ekleyelim ben adını spin verdim.Spin.xml dosyamıza bir tane Textview ekleyelim.
Sıra MainActivity.java , yani kodlarımızı yazacağımız bölüme geldi.


Kod:
public class activity_main extends AppCompatActivity {
    ArrayList<String> listItems=new ArrayList<>();
    ArrayAdapter<String> adapter;
    Spinner spinner;

    [USER=277185]over[/USER]ride
    protected **** onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_spn);
        spinner=(Spinner)findViewById(R.id.spinner);
        adapter=new ArrayAdapter<String>(this,R.layout.spin,R.id.textview,listItems);
        spinner.setAdapter(adapter);
  }
 public **** onStart(){
        super.onStart();
        BackTask bt=new BackTask();
        bt.execute();
    }
    private class BackTask extends AsyncTask<****,****,****> {
        ArrayList<String> list;
        protected **** onPreExecute(){
            super.onPreExecute();
            list=new ArrayList<>();
        }
        protected **** doInBackground(****...params){
            InputStream is=null;
            String result="";
            try{
                HttpClient httpclient=new DefaultHttpClient();
                HttpPost httppost= new HttpPost("http://www.sitenizinadı/Getir.php");
                HttpResponse response=httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
            }catch(IOException e){
                e.printStackTrace();
            } try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"));
                String line = null;
                while ((line = reader.readLine()) != null) {
                    result+=line;
                }
                is.close();
            }catch(Exception e){
                e.printStackTrace();
            }
            try{
               JSONArray jArray =new JSONArray(result);
                for(int i=0;i<jArray.length();i++){
                    JSONObject jsonObject=jArray.getJSONObject(i);
                    list.add(jsonObject.getString("Ad"));
                }
            }
            catch(JSONException e){
                e.printStackTrace();
            }
            return null;}
 protected **** onPostExecute(**** result){
            listItems.addAll(list);
            adapter.notifyDataSetChanged();
        }
    }

}

Kodlarımızı tamamladıktan sonra işlemimiz tamamlanıyor,sonuç ise aşağıdaki gibi :).


y3gYqp.png


İyi çalışmalar dilerim.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.