Şimdi Ara

Android Sqlite -Buton Sorun bitirme proje YARDIM...

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
647
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba android'te kelime oyunu bitirme projem.Bir kısmını yaptım ama şuan büyük bir çıkmazdayım yardımınız lazım.Sorun şu veri tabanımda 4 tane soru ve 4 tane cevap var.(Resmi aşağıdadır.)Ben bunları çekebiliyorum fakat sadece 3.kayıt ekranda gösteriliyor.DO-While döngüsü girer girmez bitiyo.(Logların çıktısı aşağıda)Benim yapmak istediğim soruları sırayla çekmek ve buton ile doğruluğunu kontrol etmeden sıradaki soruya geçmemek .Birde buton ile kontrol ettiğimde döngü bitmiş oluyor ve program butonun içinde çakılıp kalıyor. Kodlamadaki sorunu bulamadım yardımlarınızı bekliyorum kod aşağıdadır isteyene tam projeyi gönderebilirim.
    package com.example.kelimeoyun; 

    import android.app.Activity;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;

    public class OynaMenu extends Activity {

    private VeriTabani v1;

    Button cevapla_butonu;
    TextView soru_alan;
    EditText cevap;
    String girilen_cevap,gelen_cevap,gelen_soru;
    Cursor cursor;
    int i=0;

    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_oyna_menu);

    v1 = new VeriTabani(this);
    cevapla_butonu = (Button)findViewById(R.id.cevapla_buton);
    soru_alan = (TextView)findViewById(R.id.soru_alani);
    cevap = (EditText)findViewById(R.id.cevap_alani);
    i=1;

    try{

    cursor = getKayit();
    showKayitlar(cursor);
    }
    finally{
    v1.close();
    }
    }

    private static String[] SELECT = {"soru"};

    private Cursor getKayit(){

    SQLiteDatabase db = v1.getReadableDatabase();
    Cursor cursor = db.rawQuery("SELECT soru,cevap FROM kelimeTablosu", null);//("kelimeTablosu", SELECT, null, null, null, null, null);
    cursor.moveToFirst();
    //Activitynin yaşam döngüsüne göre cursor'da yönetilecek
    //Activity bittiğinde tüm açık cursorlar kapatılacak
    //startManagingCursor(cursor);

    return cursor;
    }

    private void showKayitlar(final Cursor cursor){

    String[] sorular=new String[cursor.getCount()];
    final String[] cevaplar=new String[cursor.getCount()];



    if( cursor.isFirst()){

    do{
    //Veritabanından verileri çekme
    gelen_soru = cursor.getString((cursor.getColumnIndex("soru")));
    sorular[i] = gelen_soru;
    gelen_cevap =cursor.getString((cursor.getColumnIndex("cevap")));
    cevaplar[i] = gelen_cevap;
    //Bu satır veritabanımızdaki satır sayısını logcatte yazar. Log.d("TAG","Retrieved rows - " + cursor.getCount());
    soru_alan.setText(sorular[i]);
    Log.d("TAG","BURDA - 1 ");



    cevapla_butonu.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    //edittextten aldığımız cevap ile cevap sutunundaki cevapları burada karşılaştıracağız
    girilen_cevap = cevap.getText().toString();

    if(girilen_cevap.equals(cevaplar[i])){
    Toast.makeText(getApplicationContext(), "DOGRU!!", Toast.LENGTH_LONG).show();
    i++;
    Log.d("TAG","BURDA - 2 ");
    cursor.moveToNext();
    soru_alan.invalidate();
    }
    else if(girilen_cevap.equals("")){
    Toast.makeText(getApplicationContext(), "CEVAP GIRMEDINIZ!!", Toast.LENGTH_LONG).show();
    }
    else{
    Toast.makeText(getApplicationContext(), "YANLIS!!", Toast.LENGTH_LONG).show();

    }

    }

    });
    Log.d("TAG","BURDA - 4 "+cursor.moveToNext());
    Log.d("TAG","satır sayısı "+cursor.getCount());
    }while(cursor.moveToNext());
    }
    Log.d("TAG","BURDA - 3 ");
    }
    }


    LOG CIKTILARI:
    03-15 13:01:57.041: D/dalvikvm(2872): GC_CONCURRENT freed 4K, 3% free 7080K/7228K, paused 9ms+69ms, total 210ms
    03-15 13:01:59.062: D/TAG(2872): BURDA - 1
    03-15 13:01:59.062: D/TAG(2872): BURDA - 4 true
    03-15 13:01:59.062: D/TAG(2872): satır sayısı 4
    03-15 13:01:59.062: D/TAG(2872): BURDA - 1
    03-15 13:01:59.071: D/TAG(2872): BURDA - 4 true
    03-15 13:01:59.071: D/TAG(2872): satır sayısı 4
    03-15 13:01:59.083: D/TAG(2872): BURDA - 3
    03-15 13:01:59.141: I/Choreographer(2872): Skipped 725 frames! The application may be doing too much work on its main thread.
    03-15 13:07:09.972: D/TAG(2872): BURDA - 2
    03-15 13:13:52.541: I/Choreographer(2872): Skipped 30 frames! The application may be doing too much work on its main thread.

    Veri Tabani ve oyun görseli :

     Android Sqlite -Buton Sorun bitirme proje YARDIM...

     Android Sqlite -Buton Sorun bitirme proje YARDIM...







  • Arkadaşlar fikri olan yok mu yardım edin lütfen.While döngüsünü butona basılıncaya kadar nasıl durdurabilrim??
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.