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