база данных Android из папки активов - PullRequest
3 голосов
/ 08 июля 2011

Существует ли способ прямого доступа к базе данных sqlite из папки активов, или всегда необходимо сначала скопировать эту базу данных в каталог данных устройства в папке базы данных приложения?

(Пример - Среда.getDataDirectory () + "/ data / com.example.myapp / database / myDb.db")

Я спрашиваю, потому что у меня достаточно большая база данных (около 11 МБ), и она должна поставлятьсяприложение.После того, как база данных будет скопирована в каталог данных, приложение займет вдвое больше места.Я хочу этого избежать.

Кроме того, возможно ли удалить содержимое папки ресурсов после установки приложения?Это поможет сэкономить место.

Спасибо

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

да, вы можете удалить файлы из базы данных из папки ресурсов: вы можете использовать "android.resource://"+getPackageName() + "/" для доступа к папке и затем использовать

File f=new File(_pathToAssestFolder,databasename);
        if(f.exists())
        {f.delete();
        }

, но сделайте это в последней строке onCreate()функция;

попробуйте

0 голосов
/ 08 июля 2011
Папка

assets является папкой времени компиляции. Вы не можете получить доступ без копирования в Linux

...