Bee*_*Bee 10 email android uri
我的应用程序将数据本地存储在本机SQLite数据库中,我希望允许用户通过向自己发送.csv文件来导出这些数据.为了做到这一点,我从数据库生成.csv并将其写入SD卡,然后将其附加到电子邮件中:
StringBuilder csv = generateFile();
writeFile(csv.toString(),"file.csv");
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.setType("application/octet-stream");
email.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://sdcard/file.csv"));
Run Code Online (Sandbox Code Playgroud)
哪一切都很棒.但我想知道的是,是否有可能首先跳过写入SD的步骤,并直接附加数据.
即使有可能,我也建议不要这样做。
Intents
用于启动活动的将被保留(可能)相当长的时间——只要相关活动是“活动的”并且可以想象返回(例如,回到堆栈,因为用户接了电话)一边写电子邮件,一边通过短信聊了半个小时)。
此外,Intents
作为其中的一部分,在进程之间进行相当多的复制。例如,电子邮件客户端将处于与您的应用程序不同的进程中。
出于这两个原因,您需要保持Intents
小型化。内容的唯一替代方案Uri
是将内容直接放在额外的内容中......并且该 CSV 文件可能会变得有点大。
归档时间: |
|
查看次数: |
5879 次 |
最近记录: |