将整个SQLite数据库上传到Google App Engine

3

我想知道是否有可能从安卓手机上传整个SQLite数据库到Google应用引擎,然后再从那里下载到我的电脑。


你的最终目标是将数据库下载到你的电脑吗? - Vikram Bodicherla
是的,远程地...因为该应用程序不仅在一部手机上运行。 - JustCurious
很抱歉,我不了解任何应用引擎相关的内容。但您可以将数据库文件上传到远程服务器。 - Vikram Bodicherla
应用程序引擎可以配置为服务器...因此假设它是服务器,那么我该如何将Android手机上的SQLite数据库上传到任何地方呢?比如说,即使我没有使用服务器,而是使用我的电子邮件帐户,我也能将数据库发送到我的电子邮件或者一般的远程位置吗? - JustCurious
3个回答

1

这是基于我和@JustCurious在问题评论中的对话

你可以按照以下方式获取DB文件

String path = getDatabasePath("myDB.db").getAbsolutePath() + "/myDB.db"

然后将其通过电子邮件发送出去

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"to@email.com"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+ path));
context.startActivity(Intent.createChooser(emailIntent, "Send mail..."));

1
当然。数据库只是一个文件,你需要获取它的路径,然后将其上传到App Engine。根据数据库的大小,你可能需要使用Blobstore,因为普通实体存储的大小有限制。

我不熟悉Google Storage。有没有简单的方法将它导出到那里? - JustCurious
也许你想评论另一个答案?Google Cloud Storage与应用程序引擎数据存储不同,尽管您可以从应用程序引擎访问它。您可以使用它来上传文件,但您必须考虑如何处理权限。您可能不希望任何人都能够上传到您的帐户。 - Nikolay Elenkov
oopss。这是针对上面的答案的。无论如何,谢谢! - JustCurious

1
你是指上传到GAE Blobstore吗? 如果你只是想简单地转储文件,将其上传到Google Storage可能是一个更好的选择,而不是上传到应用程序引擎。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接