Android - Wifi文件簡(jiǎn)單傳輸

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)景

  1. 手機(jī)與電腦文件互傳:無需數(shù)據(jù)線,通過 WiFi 快速傳輸文件
  2. 多設(shè)備文件共享:在同一 WiFi 網(wǎng)絡(luò)下,多臺(tái)設(shè)備共享文件
  3. 文件備份:將手機(jī)文件快速備份到電腦
  4. 臨時(shí)文件服務(wù)器:快速搭建一個(gè)簡(jiǎn)單的文件服務(wù)器
  5. 開發(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)求

核心模塊

  1. MainActivity:主界面,管理服務(wù)器生命周期
  2. FileTransferServer:HTTP 服務(wù)器實(shí)現(xiàn),處理所有請(qǐng)求
  3. NetworkUtils:網(wǎng)絡(luò)工具類,獲取 IP 地址和網(wǎng)絡(luò)狀態(tài)
  4. FileManager:文件管理工具,處理文件存儲(chǔ)和操作
  5. QRCodeGenerator:二維碼生成工具
  6. WebResourceHandler:Web 資源處理
  7. 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)限以保存文件

?? 快速開始

  1. 安裝應(yīng)用:在 Android 設(shè)備上安裝 APK
  2. 授予權(quán)限:首次啟動(dòng)時(shí)授予存儲(chǔ)權(quán)限
  3. 連接 WiFi:確保設(shè)備連接到 WiFi 網(wǎng)絡(luò)
  4. 啟動(dòng)服務(wù)器:應(yīng)用會(huì)自動(dòng)啟動(dòng)服務(wù)器(或手動(dòng)點(diǎn)擊啟動(dòng))
  5. 訪問 Web 界面:在其他設(shè)備瀏覽器中輸入顯示的地址
  6. 開始傳輸:通過 Web 界面上傳或下載文件

?? 使用技巧

  1. 二維碼掃描:使用其他設(shè)備掃描二維碼快速訪問
  2. 地址復(fù)制:復(fù)制訪問地址發(fā)送給其他用戶
  3. 斷點(diǎn)續(xù)傳:網(wǎng)絡(luò)中斷后重新上傳/下載會(huì)自動(dòng)續(xù)傳
  4. 文件預(yù)覽:圖片和文本文件可以直接在瀏覽器中預(yù)覽
  5. 批量操作:支持同時(shí)選擇多個(gè)文件上傳

?? 注意事項(xiàng)

  1. 網(wǎng)絡(luò)環(huán)境:確保所有設(shè)備在同一 WiFi 網(wǎng)絡(luò)下
  2. 防火墻:某些防火墻可能阻止連接,需要允許訪問
  3. 文件大小:?jiǎn)挝募畲?100MB
  4. 服務(wù)器狀態(tài):關(guān)閉應(yīng)用或停止服務(wù)器后無法訪問
  5. 權(quán)限要求:Android 11+ 需要手動(dòng)授予"所有文件訪問權(quán)限"

?? 更新日志

v1.0

  • 初始版本發(fā)布
  • 支持文件上傳/下載
  • 支持?jǐn)帱c(diǎn)續(xù)傳
  • 支持文件預(yù)覽
  • 支持二維碼分享
  • 支持多文件上傳
  • 適配 Android 5.0 - 14

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,108評(píng)論 2 59
  • 1.下拉刷新 Android-Ptr-Comparison-Android 下拉刷新開源庫(kù)對(duì)比,非常nice?。?...
    碼小趣閱讀 9,746評(píng)論 3 131
  • 1.下拉刷新 Android-Ptr-Comparison-Android 下拉刷新開源庫(kù)對(duì)比,非常nice??! ...
    passiontim閱讀 3,053評(píng)論 0 48
  • """1.個(gè)性化消息: 將用戶的姓名存到一個(gè)變量中,并向該用戶顯示一條消息。顯示的消息應(yīng)非常簡(jiǎn)單,如“Hello ...
    她即我命閱讀 5,864評(píng)論 0 6
  • 似乎最近一直都在路上,每次出來走的時(shí)候感受都會(huì)很不一樣。 1、感恩一直遇到好心人,很幸運(yùn)。在路上總是...
    時(shí)間里的花Lily閱讀 1,791評(píng)論 1 3

友情鏈接更多精彩內(nèi)容