**
SITUATION IS -
**
- 我正在创建一个在 Android 设备之间共享文件的应用程序。
- 我使用Salut作为 WiFi Direct 包装器。
- Salut 使用 LoganSquare用于在通过 WiFi Direct 连接的对等点之间共享数据。
My Objective : How should I share Files using WiFi Direct to another android device??
一些像 ShareIt、Superbeam、Xender 等..
(这是我的项目,用于创建、处理文件并通过 WiFi 将其发送给同行。)
最佳答案
好的,对于面临类似问题的开发者来说。我找到了答案。
Salut 与 LoganSquare 配合良好,只是它需要序列化数据才能发送到其他设备。要发送文件,我们可以将它们包含在 seralizable 中类作为类的字符串字段,因为字符串是可序列化的。
如何做到这一点?
- 将文件加载到 FileOutputStream
- 将其转换为ByteArrayOutputStream
- 然后将其转换为字符串
但是我有一个巨大文件! String 的容量是多少?
不用担心!
String can store up to (2^31)-1 characters (整数.MAX_VALUE)
计算 -
- (2^31)-1 = 2,147,483,648 个字符
- Assuming Java takes 2 bytes for a character : 2,147,483,648 个字符 = 2,147,483,648/2 = 1,073,741,824 字节 = 1,048,576 KB = 1024 MB = 1 GB
(或简单的 1KB = 2^10 字节,1MB = 2^20 字节,1GB = 2^30 字节)
您要发送大小超过 1 GB 的文件吗?
如果是,您可以使用 String[ ]。
安全问题?
您可以encrypt发送前的文件!
关于android - 我应该如何使用 WiFi Direct 将文件共享到另一台 Android 设备? - 致敬和洛根广场,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43456618/