WiFi文件傳輸應(yīng)用 - 功能介紹
下載體驗(yàn)地址 - apk下載
?? 項(xiàng)目概述
WiFi文件傳輸是一款基于 Android 平臺(tái)的本地文件傳輸應(yīng)用。它可以在 Android 設(shè)備上啟動(dòng)一個(gè)輕量級(jí) HTTP 服務(wù)器,讓同一 WiFi 網(wǎng)絡(luò)下的其他設(shè)備(手機(jī)、電腦、平板等)通過瀏覽器訪問并上傳/下載文件,無需安裝任何客戶端軟件。
? 核心功能
1. HTTP 服務(wù)器管理
- 自動(dòng)啟動(dòng)服務(wù)器:應(yīng)用啟動(dòng)后自動(dòng)檢測(cè) WiFi 連接并啟動(dòng)服務(wù)器
- 智能端口選擇:默認(rèn)使用 8080 端口,如被占用自動(dòng)嘗試其他端口
- 服務(wù)器狀態(tài)顯示:實(shí)時(shí)顯示服務(wù)器運(yùn)行狀態(tài)
- 一鍵啟動(dòng)/停止:手動(dòng)控制服務(wù)器的啟動(dòng)和停止
2. 文件上傳功能
- 多文件上傳:支持同時(shí)選擇多個(gè)文件進(jìn)行上傳
- 拖拽上傳:Web 界面支持拖拽文件到上傳區(qū)域
- 斷點(diǎn)續(xù)傳:上傳中斷后可以從中斷位置繼續(xù)上傳,無需重新開始
- 上傳進(jìn)度顯示:實(shí)時(shí)顯示上傳進(jìn)度條和百分比
- 暫停/繼續(xù):支持暫停和繼續(xù)上傳操作
- 文件大小限制:?jiǎn)挝募畲笾С?100MB
3. 文件下載功能
- 一鍵下載:點(diǎn)擊下載按鈕即可下載文件
- 斷點(diǎn)續(xù)傳:下載中斷后支持?jǐn)帱c(diǎn)續(xù)傳
- 文件信息顯示:顯示文件大小、修改時(shí)間等信息
4. 文件管理功能
- 文件列表:顯示所有已上傳的文件
-
文件預(yù)覽:
- 圖片文件:支持在線預(yù)覽(jpg、jpeg、png、gif、webp)
- 文本文件:支持在線預(yù)覽(txt、json、xml、html、css、js、md、log)
- 文件刪除:支持刪除單個(gè)文件或清空所有文件
- 文件刷新:手動(dòng)刷新文件列表
5. 訪問地址分享
- 二維碼生成:自動(dòng)生成包含訪問地址的二維碼
- 地址復(fù)制:一鍵復(fù)制訪問地址到剪貼板
-
地址顯示:清晰顯示服務(wù)器訪問地址(如:
http://192.168.1.100:8080)
6. 文件選擇與管理
- 本地文件選擇:從 Android 設(shè)備選擇文件添加到服務(wù)器
-
存儲(chǔ)目錄管理:文件存儲(chǔ)在
AFileTransferFiles目錄下 - 打開存儲(chǔ)目錄:快速打開文件存儲(chǔ)目錄
?? 技術(shù)特性
網(wǎng)絡(luò)功能
-
智能 IP 獲取:
- 優(yōu)先從 ConnectivityManager 獲取 WiFi 網(wǎng)絡(luò) IP
- 優(yōu)先選擇 10.x.x.x 和 192.168.x.x(真實(shí) WiFi 常用網(wǎng)段)
- 排除 172.17.x.x(容器/虛擬化網(wǎng)段)
- 支持從物理網(wǎng)卡掃描獲取 IP
- 網(wǎng)絡(luò)狀態(tài)檢測(cè):自動(dòng)檢測(cè) WiFi 連接狀態(tài)
- 多網(wǎng)絡(luò)環(huán)境支持:支持 WiFi、熱點(diǎn)、以太網(wǎng)等多種網(wǎng)絡(luò)環(huán)境
權(quán)限管理
-
Android 版本適配:
- Android 6.0-9.0:讀寫存儲(chǔ)權(quán)限
- Android 10-12:讀取存儲(chǔ)權(quán)限
- Android 13+:媒體權(quán)限(圖片、視頻、音頻)
- Android 11+:全部文件訪問權(quán)限(MANAGE_EXTERNAL_STORAGE)
- 權(quán)限引導(dǎo):自動(dòng)檢測(cè)并引導(dǎo)用戶授予必要權(quán)限
安全特性
- 文件名安全處理:防止路徑遍歷攻擊
- 文件大小驗(yàn)證:防止上傳超大文件
- 文件類型檢查:安全的文件類型識(shí)別
?? 用戶界面
Android 應(yīng)用界面
- 簡(jiǎn)潔設(shè)計(jì):Material Design 風(fēng)格
- 狀態(tài)顯示:清晰的服務(wù)器狀態(tài)和訪問地址顯示
- 二維碼展示:大尺寸二維碼便于掃描
- 操作按鈕:?jiǎn)?dòng)/停止、復(fù)制地址、選擇文件、打開目錄等
Web 管理界面
- 現(xiàn)代化 UI:清新的薄荷綠配色方案
- 響應(yīng)式設(shè)計(jì):適配手機(jī)、平板、電腦等不同設(shè)備
- 拖拽上傳:直觀的拖拽上傳體驗(yàn)
- 文件列表:卡片式文件列表展示
- 預(yù)覽模態(tài)窗口:圖片和文本文件預(yù)覽
?? 文件存儲(chǔ)
-
存儲(chǔ)位置:
/sdcard/AFileTransferFiles/ - 文件組織:所有文件統(tǒng)一存儲(chǔ)在應(yīng)用目錄下
-
臨時(shí)文件:上傳過程中使用
.tmp臨時(shí)文件,完成后重命名
?? API 接口
應(yīng)用提供以下 RESTful API:
-
GET /api/info- 獲取服務(wù)器信息 -
GET /api/files- 獲取文件列表 -
POST /api/upload- 上傳文件(支持?jǐn)帱c(diǎn)續(xù)傳) -
GET /api/upload/status- 查詢上傳狀態(tài) -
GET /api/download- 下載文件(支持?jǐn)帱c(diǎn)續(xù)傳) -
DELETE /api/delete- 刪除文件 -
DELETE /api/files- 刪除所有文件 -
GET /api/preview- 預(yù)覽文件
?? 使用場(chǎng)景
- 手機(jī)與電腦文件互傳:無需數(shù)據(jù)線,通過 WiFi 快速傳輸文件
- 多設(shè)備文件共享:在同一 WiFi 網(wǎng)絡(luò)下,多臺(tái)設(shè)備共享文件
- 文件備份:將手機(jī)文件快速備份到電腦
- 臨時(shí)文件服務(wù)器:快速搭建一個(gè)簡(jiǎn)單的文件服務(wù)器
- 開發(fā)調(diào)試:開發(fā)過程中快速傳輸測(cè)試文件
?? 技術(shù)架構(gòu)
后端(Android)
- 語(yǔ)言:Kotlin
- HTTP 服務(wù)器:NanoHTTPD(輕量級(jí) HTTP 服務(wù)器庫(kù))
- 二維碼生成:ZXing
- 文件管理:Android File API
- 網(wǎng)絡(luò)管理:Android ConnectivityManager
前端(Web)
- HTML5:現(xiàn)代 Web 標(biāo)準(zhǔn)
- CSS3:響應(yīng)式設(shè)計(jì)和動(dòng)畫效果
- JavaScript:文件上傳、下載、預(yù)覽等功能
- Fetch API:異步網(wǎng)絡(luò)請(qǐng)求
核心模塊
- MainActivity:主界面,管理服務(wù)器生命周期
- FileTransferServer:HTTP 服務(wù)器實(shí)現(xiàn),處理所有請(qǐng)求
- NetworkUtils:網(wǎng)絡(luò)工具類,獲取 IP 地址和網(wǎng)絡(luò)狀態(tài)
- FileManager:文件管理工具,處理文件存儲(chǔ)和操作
- QRCodeGenerator:二維碼生成工具
- WebResourceHandler:Web 資源處理
- FilePreviewHandler:文件預(yù)覽處理
?? 系統(tǒng)要求
- 最低 Android 版本:Android 5.0 (API 21)
- 目標(biāo) Android 版本:Android 14 (API 34)
- 網(wǎng)絡(luò)要求:WiFi 連接(或熱點(diǎn)、以太網(wǎng))
- 存儲(chǔ)權(quán)限:需要存儲(chǔ)權(quán)限以保存文件
?? 快速開始
- 安裝應(yīng)用:在 Android 設(shè)備上安裝 APK
- 授予權(quán)限:首次啟動(dòng)時(shí)授予存儲(chǔ)權(quán)限
- 連接 WiFi:確保設(shè)備連接到 WiFi 網(wǎng)絡(luò)
- 啟動(dòng)服務(wù)器:應(yīng)用會(huì)自動(dòng)啟動(dòng)服務(wù)器(或手動(dòng)點(diǎn)擊啟動(dòng))
- 訪問 Web 界面:在其他設(shè)備瀏覽器中輸入顯示的地址
- 開始傳輸:通過 Web 界面上傳或下載文件
?? 使用技巧
- 二維碼掃描:使用其他設(shè)備掃描二維碼快速訪問
- 地址復(fù)制:復(fù)制訪問地址發(fā)送給其他用戶
- 斷點(diǎn)續(xù)傳:網(wǎng)絡(luò)中斷后重新上傳/下載會(huì)自動(dòng)續(xù)傳
- 文件預(yù)覽:圖片和文本文件可以直接在瀏覽器中預(yù)覽
- 批量操作:支持同時(shí)選擇多個(gè)文件上傳
?? 注意事項(xiàng)
- 網(wǎng)絡(luò)環(huán)境:確保所有設(shè)備在同一 WiFi 網(wǎng)絡(luò)下
- 防火墻:某些防火墻可能阻止連接,需要允許訪問
- 文件大小:?jiǎn)挝募畲?100MB
- 服務(wù)器狀態(tài):關(guān)閉應(yīng)用或停止服務(wù)器后無法訪問
- 權(quán)限要求:Android 11+ 需要手動(dòng)授予"所有文件訪問權(quán)限"
?? 更新日志
v1.0
- 初始版本發(fā)布
- 支持文件上傳/下載
- 支持?jǐn)帱c(diǎn)續(xù)傳
- 支持文件預(yù)覽
- 支持二維碼分享
- 支持多文件上傳
- 適配 Android 5.0 - 14