android uygulama için kendi hazırladığım veritabanımdan veri çekmeyi istiyorum sadece. çekilen textleri ekranda göstermeyi istiyorum.

veritabanı oluşturmak ya da güncelleme yapmak istemiyorum. yardım alarak oluşturduğum "databasehelper" java sınıfını oluşturdum. aşağıda yazacağım kodlamada hata var mıdır?


package net.tukusozu.turku_sozu;

import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;

import android.content.Context; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHandler extends SQLiteOpenHelper {

// veritabanı YER BELİRTİLMESİ
private static String DB_PATH = "/data/data/net.tukusozu.turku_sozu/databases/";

// VERİTABANI ADI
private static String DB_NAME = "turku";

private SQLiteDatabase myDataBase;

private final Context myContext;

public DatabaseHandler(Context context) {
    super(context, DB_NAME, null, 1);
    this.myContext = context;
}

public void createDataBase() throws IOException {
    boolean dbExist = checkDataBase();

    if (dbExist) {
    } else {

        this.getReadableDatabase();
        try {
            copyDataBase();
        } catch (IOException e) {
            throw new Error("Kopyalamada hata oldu");
        }
    }

}
private boolean checkDataBase() {
    SQLiteDatabase checkDB = null;

    try {
        String myPath = DB_PATH + DB_NAME;
        checkDB = SQLiteDatabase.openDatabase(myPath, null,
                SQLiteDatabase.OPEN_READONLY);

    } catch (SQLiteException e) {

    }
    if (checkDB != null) {

        checkDB.close();
    }

    return checkDB != null ? true : false;
}

private void copyDataBase() throws IOException {
    InputStream myInput = myContext.getAssets().open(DB_NAME);

    String outFileName = DB_PATH + DB_NAME;

    OutputStream myOutput = new FileOutputStream(outFileName);

    byte[] buffer = new byte[1024];
    int lenght;
    while ((lenght = myInput.read(buffer)) > 0) {
        myOutput.write(buffer, 0, lenght);
    }

    myOutput.flush();
    myOutput.close();
    myInput.close();

}

public void openDatabase() throws SQLException {

    String myPath = DB_PATH + DB_NAME;
    myDataBase = SQLiteDatabase.openDatabase(myPath, null,
            SQLiteDatabase.OPEN_READONLY);
}

public synchronized void close() {

    if (myDataBase != null)
        myDataBase.close();
    super.close();
}

@Override
public void onCreate(SQLiteDatabase db) {

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}


daha sonrasında nasıl bir yol seyretmeliyim. veritabanından çekmek iştediğim veriler text formatlı türkü şarkı sözleri gibi olacaktır.

"assets" klasörüne eklediğim veritabanından verileri nasıl çekebilirim?

soruldu: 21 Oca '15, 06:38

denizkoc1982's gravatar image

denizkoc1982
26111
cevap kabul oranı: 0%

değiştirildi: 21 Oca '15, 07:00

Bu soruya ilk cevap veren sen ol!
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×77
×66
×10
×1
×1

Soruldu: 21 Oca '15, 06:38

Görüntüleme: 544 kez

Son güncelleme: 21 Oca '15, 08:23

powered by BitNami OSQA