• Stars
    star
    201
  • Rank 194,491 (Top 4 %)
  • Language
    Kotlin
  • Created over 6 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

通过 Android 设备的 Wifi 个人热点,实现 Android 手机之间传输任意文件

WifiFileTransfer

通过 Android 设备的 Wifi 个人热点,实现 Android 手机之间传输任意文件。理论上此实现方式不受系统版本的限制,只要 Android 手机支持开启 “Wifi 个人热点” 和 “连接 Wifi”,就可以在 Android 手机之间传输任意文件

基本思路:

  1. 在 AndroidManifest 中声明需要的两个网络权限:INTERNET、ACCESS_WIFI_STATE
  2. 文件接收端开启 Wifi 个人热点,作为服务端,建立 ServerSocket,在指定端口等待客户端连接
  3. 文件发送端连接到该 Wifi 热点,作为客户端,建立 Socket,主动连接到服务端
  4. 文件发送端先获取到 Socket 对应的 OutputStream,通过 ObjectOutputStream 将待发送的文件信息写入到 OutputStream 中,以便让文件接收端知道该如何命名即将接收到的文件
  5. 文件发送端再向 Socket 对应的 OutputStream 遍历写入待发送的文件字节流,文件接收端同步进行保存,待字节流遍历结束后,文件接收端就拿到了完整的文件了

当前版本进行了一次大重构,代码和一开始相比差异较大,但基本思路都是一样的。一开始的实现思路请看:Wiki

apk 下载体验:release

More Repositories

1

AndroidGuide

这是一份给 Android Developer 的进阶学习笔记,公众号:字节数组 🎁🎁🎁
1,762
star
2

WifiP2P

通过 Android 设备的 Wifi Direct,实现 Android 手机之间传输任意文件
Kotlin
759
star
3

ReactiveHttp

一个基于 Kotlin + Jetpack + Coroutines + Retrofit 封装的网络请求框架
Kotlin
532
star
4

DataBindingSamples

包含了 DataBinding 的大部分知识点
Kotlin
247
star
5

Matisse

A Image/Video Selector Implemented with Jetpack Compose(一个用 Jetpack Compose 实现的 Android 图片/视频 选择框架)
Kotlin
242
star
6

compose_chat

Jetpack Compose 最佳实践,用 Jetpack Compose 写一个 IM APP
Kotlin
202
star
7

Chat

一个聊天 App,包含单聊和群聊功能,支持发送文本以及表情包
Java
174
star
8

IPCSamples

Android IPC 机制详解,涵盖了几乎所有开发者需要了解的进程间通信知识
Java
145
star
9

asm-samples

ASM 字节码插桩实战
Kotlin
140
star
10

Monitor

OkHttp / Retrofit 可视化抓包工具
Kotlin
120
star
11

compose_tetris

Not only Android, Compose Multiplatform Write an Android+Desktop Tetris(不止 Android,Compose Multiplatform 实现 Android + Desktop 俄罗斯方块)
Kotlin
102
star
12

DoKV

一个小巧而强大的 Key-Value 管理框架,可自定义缓存逻辑
Java
75
star
13

AndroidServer

在 Android 设备上搭建 Web 服务器,可用于在局域网进行 GET/POST 请求和传输文件
Java
71
star
14

Keyboard

解决软键盘弹出和收缩时表情面板切换跳闪的问题
Java
65
star
15

FloatBall

自定义 View:悬浮球与加速球
Java
65
star
16

RobustWebView

Android WebView H5 秒开方案总结
Kotlin
61
star
17

Activity

一个用于查看系统安装的所有应用的详细信息的 App
Kotlin
51
star
18

flutter_do

Basic Flutter apps, for flutter devs
Dart
48
star
19

AndroidOpenSourceDemo

Android 主流开源库是如何实现的呢?来自己动手实现一个
Kotlin
41
star
20

CustomView

自定义 View 合辑
Kotlin
33
star
21

SmallestWidthGenerator

一文读懂 Android 主流屏幕适配方案
Kotlin
32
star
22

ijkplayer-so-extend

自定义编译 ijkplayer so 库以便支持无损音乐,支持 ape,wav,flac等格式
Makefile
21
star
23

Basis

Kotlin
20
star
24

EventLiveData

Jetpack LiveData 功能扩展,解决黏性事件及通知延迟问题
Java
18
star
25

Retrofit2Samples

Retrofit2 Samples 与 Nodejs 服务端接口
Java
17
star
26

Trace

一个适用于 Android 的字节码插桩库
Kotlin
15
star
27

KVHolder

一文读懂 SharedPreferences 的缺陷及一点点思考
Kotlin
15
star
28

BaseRecyclerView

RecyclerView 的简便写法
Java
11
star
29

PermissionSteward

Android 6.0 运行时权限封装
Java
9
star
30

ComposeCustomLayout

Jetpack Compose 实现自定义布局并适配固有特性测量
Kotlin
6
star
31

BluetoothDemo

可以扫描附近的蓝牙设备并连接蓝牙音响设备
Java
4
star
32

ComposeBottomSheetDialog

Jetpack Compose BottomSheetDialog
Kotlin
4
star
33

Dagger2Samples

包含了 Dagger2 的大部分知识点
Java
2
star
34

WaveLoadingWidget

Flutter 与 贝塞尔曲线 的结合使用
Dart
1
star
35

JsonHolder

用于简化 Kotlin / Java 平台下的 Json 序列化和反序列化操作
Kotlin
1
star
36

leavesCZY

1
star
37

PictureSelector

Java
1
star
38

ComposeWaveLoading

Jetpack Compose 与 贝塞尔曲线 的结合使用
Kotlin
1
star