Thì việc tạo cơ sở dữ liệu theo cách thông thường sẽ làm ứng dụng chạy rất lâu khi nạp dữ liệu. Có một giải pháp khá đơn giản đó là chúng ta tạo sẵn file SQLite từ trước và chỉ cần copy/download vào SDCard là dùng ngay được.
Nếu bạn tự tạo file SQLite thì phải tạo một bảng có tên là "android_metadata" và chèn một dòng dữ liệu bằng đinh vào như sau:
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US')
INSERT INTO "android_metadata" VALUES ('en_US')
Tiếp theo, Khi trong phương thức khởi tạo của lớp kế thừa SQLiteOpenHelper, chúng ta chỉ cần chỉ rõ đường dẫn đến nơi lưu trữ file SQLite là được.
public DatabaseHelper(final Context context) { super(context, Environment.getExternalStorageDirectory() + File.separator + FILE_DIR + File.separator + DATABASE_NAME, null, DATABASE_VERSION); }
Cần lưu ý là vì file lưu trên SDCard rất dễ bị xóa cho nên cần kiểm tra trước mỗi khi sử dụng.