نوشته شده توسط
mehdidanesh
یعنی ما در apk می تونیم دسترسی به asset داشته باشیم؟!
توجه داشته باشید که من می خواهم کلا دیتابیس رو بردارم و یک دیتابیس دیگر بذارم!
اگه کد مربوطشم دارید بذارید.
ممنون از لطفتون
آره دیگه دسترسی داریم. assets تو خود پکیج برنامهست. وقتی نسخه دیتابیس رو اضافه میکنید خودش خودکار تشخیص میده و نسخه جدید رو از assets میگیره و جایگزین دیتابیس تو گوشی کاربر میکنه.
اگر شما نگرانی بابت دیتای کاربر ندارید که مشکلی نیست. DATABASE_VERSION رو یه شماره اضافه کن و فایل دیتابیس رو جایگزین قبلی کن.
البته اینم بگم این یه تیکه کد به تنهایی فایده نداره شما باید کار با SQLiteOpenHelper رو بلد باشی. اینم کد:
public class NoteDbOpenHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "database.db";
private static final int DATABASE_VERSION = 1;
public static final String TABLE_NOTE = "note";
public static final String NOTE_ID = "id";
public static final String NOTE_TITLE = "title";
public static final String NOTE_TEXT = "text";
public static final String NOTE_DATE = "date";
private static final String TABLE_CREATE =
"CREATE TABLE " + TABLE_NOTE + " (" +
NOTE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
NOTE_TITLE + " VARCHAR, " +
NOTE_TEXT + " TEXT, " +
NOTE_DATE + " TEXT " +
")";
public NoteDbOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + TABLE_NOTE);
onCreate(db);
}
}