(Android)如何将我的数据库从PC下载到手机

(Android)如何将我的数据库从PC下载到手机,android,connection,Android,Connection,我写了一个android应用程序,它需要使用数据库 数据库保存在“data/data/packegename/database”中 我想将.db文件下载到“data/data/packegename/database/” 但我不想在我的手机上插根 有什么简单的方法可以将其下载到文件夹中吗?(我需要经常复制)如果您不想在手机上设置根目录,则除了应用程序本身之外,您无法访问自己的应用程序数据目录 OptionOne-在您自己的应用程序中编写一些后门代码,这将从您的PC下载db(设置Web服务) Op

我写了一个android应用程序,它需要使用数据库

数据库保存在“data/data/packegename/database”中

我想将.db文件下载到“data/data/packegename/database/”

但我不想在我的手机上插根


有什么简单的方法可以将其下载到文件夹中吗?(我需要经常复制)

如果您不想在手机上设置根目录,则除了应用程序本身之外,您无法访问自己的应用程序数据目录

OptionOne-在您自己的应用程序中编写一些后门代码,这将从您的PC下载db(设置Web服务)


OptionTwo-在您自己的应用程序中设置一个小型web服务(就像google away一样简单),然后从PC上传db

您可以使用
run as
命令通过adb模拟您的应用程序。请参阅博客帖子。您的应用程序必须使用调试标志生成才能使用此方法。然后你可以做类似的事情

adb shell "stty raw; run-as your.application.package.name cat /data/data/your.application.package.name/files/whatever.file" > whatever.file

但是,至少在windows上传输二进制数据时,存在一些行结束/编码问题。您可以通过将文件复制到SD卡,然后从SD卡中提取(如果您的应用程序有此权限),或者将文件更改为世界可读文件(然后您可以
adb直接提取文件)。

我使用eclipse编写应用程序,我可以在“运行”时随应用程序下载它吗代码?我可以把数据库文件放在哪里?很简单。您可以在PC上设置一个简单的web服务(例如,windows的winappsvr或linux的Apache2)。只需将DB文件放在www目录中即可。应用程序启动时,在加载内容提供商或数据库内容之前,启动一个简单的httpconnection来下载db文件。