android - 我应该如何使用 WiFi Direct 将文件共享到另一台 Android 设备? - 致敬和洛根广场

标签 android android-wifi wifi-direct file-sharing logan-square

**

SITUATION IS -

**

  1. 我正在创建一个在 Android 设备之间共享文件的应用程序。
  2. 我使用Salut作为 WiFi Direct 包装器。
  3. 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 中类作为类的字符串字段,因为字符串是可序列化的。

如何做到这一点?

  1. 将文件加载到 FileOutputStream
  2. 将其转换为ByteArrayOutputStream
  3. 然后将其转换为字符串

但是我有一个巨大文件! String 的容量是多少?

不用担心!

String can store up to (2^31)-1 characters (整数.MAX_VALUE)

计算 -

  1. (2^31)-1 = 2,147,483,648 个字符
  2. 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/

相关文章:

javascript - 如何在 Ionic 应用程序的 Chrome 远程调试中隐藏内容(API key 等)?

android - 使用 `?attr/` 时 ImageButton 的 Espresso InflateException

安卓Http连接

android - 无法在 Android 应用程序中定位 wifi 网络

android - 用于 P2P 的 AllJoyn 或 Wifi Direct?

android - 路径中的 drawTextOnPath 从错误的坐标或从右侧开始显示文本

android - 获取 Wifi 扫描结果时出现 SecurityException

java - 连续 WifiManager 扫描获得重复的扫描结果

android - 为什么使用 Android 附近共享时通过蓝牙传输文件?

ios5 - 在 iPhone 4 或 iOS 5 中可以使用 Wifi Direct 吗?