2012-04-06 3 views
1

Я создаю приложение для Android, и я хочу напрямую обращаться к файлу базы данных другого приложения (считая его). Каков наилучший способ сделать это, поскольку приложения изолированы друг от друга. Я согласен с тем, что приложение требует корневых разрешений, я просто не уверен, что лучший способ сделать это.Android Access Другая база приложений

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

ответ

3

Вы разрабатываете оба приложения? Если это так, то исправить способ сделать это - использовать ContentProviders. Если вы не разрабатываете приложение с базой данных, обратитесь к его разработчику, чтобы узнать, содержит ли он ContentProvider.

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

+0

К сожалению, я не разрабатываю оба приложения. Чтобы быть более конкретным, я пытаюсь использовать базу данных, включенную в приложение Google Voice, которое имеет сопоставления номеров, используемые для прямого вызова или отправки текста через Google Voice. – xur17

+0

Согласно [this] (http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/), мне нужно использовать команду «Process p = Runtime .getRuntime(). exec ("su"); ", но я предполагаю, что только увеличивает свои права на запуск команд в оболочке, и в этом случае мне, скорее всего, придется скопировать файл при запуске приложения. Есть ли способ прямого доступа к файлу? – xur17