öncelikle oluşturduğun database i Assent dosyasının içine kaydet.Daha sonra ;
public class mydatabase extends SQLiteOpenHelper{
public static SQLiteDatabase mydb;
public static Context context;
public static Cursor cursor;
public static String db_path="/data/data/package_ismini_yaz/databases/";
public static String db_name="database_ismini_yaz";
public static int db_version=1;
public static String mypath=db_path+db_name;
public mydatabase(Context c) {
super(c, db_name,null, db_version);//context e bak!
this.context=c;
try {
createdb();
opendb();
} catch (IOException e) {
e.printStackTrace();
}
}
public void createdb() throws IOException{
//database'in daha önceden olup olmadığını kontrol ediyor.
boolean dbexist=checkdb();
if (dbexist) {
// eğer varsa devam ediyor.
} else {
//database'in okunmasını sağlıyor.
this.getReadableDatabase();
try {
assent dosyasındaki database'i kopyalıyor.
copydb();
} catch (IOException e) {
throw new Error("Error copying database");
}
}
}
public boolean checkdb(){
SQLiteDatabase checkDB=null;
try{
checkDB=SQLiteDatabase.openDatabase(mypath, null,SQLiteDatabase.OPEN_READWRITE);
}catch(SQLiteException e){
// database doesn't exist yet.
}
if (checkDB != null) {
checkDB.close();
}
return checkDB != null;
}
public void copydb() throws IOException{
InputStream myInput=context.getAssets().open(db_name);
OutputStream myOutput = new FileOutputStream(mypath);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0) {
myOutput.write(buffer, 0, length);
}
// Close the streams
myOutput.flush();
myOutput.close();
myInput.close();
}
public void opendb()throws SQLException{
mydb=SQLiteDatabase.openDatabase(mypath, null, SQLiteDatabase.OPEN_READWRITE);
}
public void dbclose(){
mydb.close();
}
bu gördüğün kod bloğunu yeni oluşturduğun sınıfın içine kaydet.gerekli açıklamaları kod bloğunun içinde elşinden geldiğince yapmaya çalıştım. umarım yardımcı olur.