Android Sqlite onUpgrade не копирует новый столбец - PullRequest
0 голосов
/ 01 апреля 2012

Мое приложение использует базу данных sqlite, которая предварительно создается и копируется во время выполнения из папки ресурсов.Обычно это работает просто отлично.Я недавно добавил новый столбец в БД и увеличил версию БД, чтобы запустить метод onUpgrade.все это работает хорошо, но новая БД копируется без вновь добавленного столбца.Это код onUpgrade:

//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();

Есть идеи, как его решить?

10X!

1 Ответ

0 голосов
/ 01 апреля 2012

Иногда нужно спросить об очевидном.:)

Вы уверены, что скопировали новую базу данных в свою папку ресурсов, чтобы она снова могла быть перемещена в каталог базы данных?

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