@cayla
Для подключения готовой и заполненной базы данных SQLite в Android необходимо выполнить следующие шаги:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
public class DatabaseHelper extends SQLiteOpenHelper { private static String DB_NAME = "mydatabase.sqlite"; private static String DB_PATH = ""; private SQLiteDatabase mDataBase; private final Context mContext; public DatabaseHelper(Context context) { super(context, DB_NAME, null, 1); DB_PATH = context.getApplicationInfo().dataDir + "/databases/"; this.mContext = context; } public void createDataBase() throws IOException { boolean mDataBaseExist = checkDataBase(); if (!mDataBaseExist) { this.getReadableDatabase(); this.close(); try { copyDataBase(); } catch (IOException e) { throw new Error("Error copying database"); } } } private boolean checkDataBase() { File dbFile = new File(DB_PATH + DB_NAME); return dbFile.exists(); } private void copyDataBase() throws IOException { InputStream mInput = mContext.getAssets().open(DB_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream mOutput = new FileOutputStream(outFileName); byte[] mBuffer = new byte[1024]; int mLength; while ((mLength = mInput.read(mBuffer)) > 0) { mOutput.write(mBuffer, 0, mLength); } mOutput.flush(); mOutput.close(); mInput.close(); } public boolean openDataBase() throws SQLException { String mPath = DB_PATH + DB_NAME; mDataBase = SQLiteDatabase.openDatabase(mPath, null, SQLiteDatabase.CREATE_IF_NECESSARY); return mDataBase != null; } @Override public synchronized void close() { if (mDataBase != null) mDataBase.close(); super.close(); } // Добавьте здесь методы для работы с базой данных } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
public class MainActivity extends AppCompatActivity { private DatabaseHelper mDBHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDBHelper = new DatabaseHelper(this); try { mDBHelper.createDataBase(); } catch (IOException e) { e.printStackTrace(); } } // Добавьте здесь обработчики событий и другой код для вашей активности } |
1
|
mDBHelper.openDataBase(); |
@cayla
После выполнения этих шагов вы сможете подключить и использовать уже готовую и заполненную базу данных SQLite в вашем приложении Android. Теперь вы можете выполнять запросы к базе данных, добавлять, удалять или обновлять записи, работать с таблицами и т. д., используя объект DatabaseHelper. Не забудьте закрывать базу данных после работы с ней вызовом метода mDataBase.close().