Как прикрепить файл .db с другим .apk андроидом

я делаю словарь, и у меня так много данных для загрузки. Я хочу, чтобы я создал проект, который сначала загружает слова словаря в базу данных, а затем я использую этот файл .db в своем втором проекте, который является проектом словаря.

Но я не знаю, как получить файл .db, скопировать его и вставить в папку с активами.


person User42590    schedule 17.01.2013    source источник
comment
Вы хотите сделать это во время выполнения?   -  person Evos    schedule 17.01.2013
comment
нет после копирования данных и создания файла .db   -  person User42590    schedule 17.01.2013


Ответы (3)


Ну, вы не можете просто скопировать любые файлы из одного частного хранилища в другое. Я полагаю, вы можете заархивировать это разными способами, например:

1) Скопируйте файл .db на SD-карту с помощью первого приложения и скопируйте его обратно в личное хранилище с помощью второго приложения.

2) Вы можете использовать ContentProvider для обмена личными данными между двумя разными приложений, не перемещая их на SD-карту.

Вы не можете получить прямой доступ к активу или любой другой папке данных другого приложения. Удачи!

person Evos    schedule 17.01.2013
comment
по умолчанию база данных хранится в data/data/packagename/dbname. но как я могу получить это или скопировать эту базу данных ?? я хочу увидеть этот файл - person User42590; 17.01.2013
comment
О, вам нужно рутированное устройство, чтобы скопировать его, или вы можете запустить его, например, на эмуляторе и использовать вкладку FileExplorer. В эмуляторе вы можете получить доступ к папке data вашего приложения. - person Evos; 17.01.2013
comment
ок, откройте проводник, но теперь папка с данными не открывается - person User42590; 17.01.2013
comment
Он должен открываться только на эмуляторе только на корневом устройстве. Вы используете эмулятор? - person Evos; 17.01.2013
comment
да, я использую eclipse, и когда я подключаю свое устройство, я вижу список папок и проводник файлов, но третья папка, которая является папкой данных, не открывается - person User42590; 17.01.2013
comment
на ВАШЕМ устройстве это не сработает. БЕГИТЕ вы загружаете приложение на эмуляторе Android. Если у вас нет эмулятора - создайте его. Загрузите свою БД на эмулятор, а затем скопируйте ее из эмулятора. Если у вас нет ROOT-доступа к вашему устройству, это не сработает. - person Evos; 17.01.2013
comment
Большое спасибо, ваше предложение мне очень помогло ... еще раз спасибо .. :) - person User42590; 17.01.2013

Вы можете получить ресурсы из другого пакета с помощью метода PackageManager.getResourcesForApplication(). Также вы можете обмениваться идентификаторами пользователей между вашими приложениями и подписывать их сертификатом общего доступа. В этом случае вы даже можете поделиться кодовой базой. Предложения +@Evos.

Я думаю, что общий идентификатор пользователя - ваш выбор.

Вы можете найти примеры и дополнительную информацию в этом сообщении и здесь.

person Leonidos    schedule 17.01.2013
comment
я только хочу скопировать ранее созданный файл .db и вставить его в свой другой проект, потому что я должен предоставить только один проект. в вашем данном решении я должен дать два проекта - person User42590; 17.01.2013
comment
Самый простой способ — поделиться идентификатором пользователя между вашими apks. Затем вы можете получить доступ к другим ресурсам проекта как к своим собственным. Вам не нужно ничего кодировать (ContentProviders или копировать db в какое-либо место на SD-карте). - person Leonidos; 17.01.2013
comment
но когда я загружаю свой .apk, я загружаю другой, также в магазин, чтобы получить доступ к идентификаторам - person User42590; 17.01.2013

Откройте свой предыдущий проект, откройте вкладку DDMS, затем перейдите по пути data--->data---->ваш проект---->databases--->.db файл, теперь выберите этот файл и щелкните в правом верхнем углу На экране есть кнопка для перетаскивания файла с устройства на ПК, поэтому нажмите на нее, теперь появится диалоговое окно файла, выберите место для сохранения файла, теперь все в порядке .... это действие сохранит ваш файл .db в выбранном месте, теперь вы можете скопировать этот файл и поместите этот файл в папку ресурсов вашего нового проекта, а затем используйте его.

person GOLDEE    schedule 17.01.2013
comment
Теперь, чтобы открыть файл .db, вам нужен браузер для sqlite, который можно легко загрузить из сети, например. sqliteManager для Mozzila Firefox, браузера sqlite и т. д. - person GOLDEE; 17.01.2013
comment
Большое спасибо, ваше предложение мне очень помогло ... еще раз спасибо .. :) - person User42590; 17.01.2013