Android ile SqLite Veritabani Select Islemi ve ListView

Bu dersimizde Androidde sqLite veritabanina önceden eklenmis verileri listeleme islemi yapacagiz. Yani bildigimiz select islemi. Ve bu çektigimiz verileri ListView de gösterecegiz.

Ayni zamanda listview de listelenmis olan herhangi bir satir tiklandiginda ne gibi bir islem yapilacagini da anlatacagiz. Yani listview in setOnItemClickListener (new OnItemClickListener()) metodunda baska sinifta ayrintili bir sekilde görmek gibi bir islem uygulayacagiz.

Yine ilk olarak asagidaki gibi bir ekran tasarlayacagiz. Ve bu ekranda Anasayfa butonu ile ekleme yapacagimiz ekrana ulasacagiz.

Tasarlayacagimiz ekranin xml kodlari da asagidaki gibidir.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="0.99"
        android:background="@drawable/ysl"
        android:cacheColorHint="#ff330044"
        android:divider="#ffffff"
        android:textColor="#ffffff" >

    </ListView>

    <Button
        android:id="@+id/anaekran"
        android:layout_width="match_parent"
        android:layout_height="58dp"
        android:text="@string/ana_ekran" 
        
        />

</LinearLayout>

Asagida .java sinifinin kodlari ve açiklamasi verilmistir.

Veritabani sifre;//veritabanimizin adi
	public static int idSnf;//

	private String[] SELECT = { "id", "kullanici_adi", "sifre","kullanilan_yer","hesap_no"};//select islemi için hangi alanlarin çekilecegini belirleyelim

	protected void onCreate(Bundle savedInstanceState) {//onCreate metodu
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lstvw);//View sinifinin adi
		
		Button anaekran = (Button) findViewById(R.id.anaekran);//buton nesnesi
		
		
		
		
		anaekran.setOnClickListener(new View.OnClickListener() {//butonun Click metodu
			
			@Override
			public void onClick(View v) {
				
				startActivity(new Intent("android.intent.action.ACILIS"));//butona tiklandiginda açilacak .java sinifinin adi
				
			}
		});
		
		sifre = new Veritabani(this);//  veritabani sinifinin nesnesi...(5. derste anlatilacak olan sinif)
		  SQLiteDatabase db = sifre.getReadableDatabase();//Sqlite Nesnesi 
		     
		     Cursor cursor = db.query("sifre", SELECT, null, null, null, null, null);//select islemi
		     final ListView listemiz=(ListView) findViewById(R.id.listView1);//listview nesnesi
		     startManagingCursor(cursor); 

	         final ArrayList<String> txt = new ArrayList<String>();//array list
		     final ArrayList<Integer> idtxt = new ArrayList<Integer>();//array list
		    
		         
		        int i = 1;
		         while(cursor.moveToNext()){  //döngü ile veritabanindan çekilen kolonlarin degiskenlere aktarilmasi
		             String k_adi = cursor.getString((cursor.getColumnIndex("kullanici_adi"))); 
		             long id = cursor.getLong(cursor.getColumnIndex("id"));
		             String sifre = cursor.getString((cursor.getColumnIndex("sifre")));
		             String k_yeri = cursor.getString((cursor.getColumnIndex("kullanilan_yer")));
		             int h_No = cursor.getInt((cursor.getColumnIndex("hesap_no"))); 
		             
		             
		             idtxt.add((int)id);//array liste bunlarin aktarilmasi
		             txt.add(i+"-) "+k_adi+ " , "+ sifre+ " , "+k_yeri);//arrayliste aktarim yapilmasi
		             i++;
			      
		         }
		         
				 
				 
			     ArrayAdapter<String> veriAdaptoru=new ArrayAdapter<String>
			     (this, android.R.layout.simple_list_item_1, android.R.id.text1, txt);
			 
			        listemiz.setAdapter(veriAdaptoru);// listview e gerekli bilgilerin aktarilmasi
				
			        listemiz.setOnItemClickListener(new OnItemClickListener() {//listview in click metodu
			       		@Override
						public void onItemClick(AdapterView<?> arg0, View arg1,
								int arg2, long arg3) {
			       		
			       		  idSnf = idtxt.get(arg2 );//seçilenin ID degerini integer degiskenine atariz.
			 
						    Toast.makeText(getApplicationContext(), txt.get(arg2) , Toast.LENGTH_LONG).show();
						    startActivity(new Intent("android.intent.action.LIST_MAIN"));//listede seçilenin ardindan açilacak sinif
							
			       		}
					});

	    }

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir