Как связать .apk и .db в одном .apk, чтобы пользователь мог загрузить и запустить приложение - PullRequest
1 голос
/ 17 августа 2011

Все, что мне нужно, чтобы связать .db и .apk во время выполнения в одном .apk, чтобы пользователь мог загрузить и запустить приложение.Мне не нужно.db in assets, raw, URL path, потому что нам нужно изменить .db во время выполнения, и у нас так много пользователей, и для разных пользователей у нас разные .db.это приложение на основе ERP.заранее спасибо

1 Ответ

1 голос
/ 17 августа 2011

Вы помещаете .db в каталог / raw /.

Затем во время выполнения вы копируете его в новую базу данных, которая находится в памяти ваших приложений, которая затем модифицируется.

  //By calling this method and empty database will be created into the default system path
  //of your application so we are gonna be able to overwrite that database with our database.
  this.getReadableDatabase();

  /**
     * Copies your database from your local assets-folder to the just created empty database in the
     * system folder, from where it can be accessed and handled.
     * This is done by transfering bytestream.
     * */
    private void copyDataBase() throws IOException{

        //Open your local db as the input stream
        InputStream myInput = myContext.getAssets().open(DB_NAME);

        // Path to the just created empty db
        String outFileName = DB_PATH + DB_NAME;

        //Open the empty db as the output stream
        OutputStream myOutput = new FileOutputStream(outFileName);

        //transfer bytes from the inputfile to the outputfile
        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();

    }

Код не мой и является примером из полного учебника по адресу: Использование вашей собственной базы данных в Android

Если вы хотите поместить различные файлы базы данных в ваш / raw / youВозможно, вы захотите использовать несколько APK сейчас, когда это разрешено рынком, или создайте скрипт ant для выбора другой БД при сборке APK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...