# WifiAp **Repository Path**: yeqinfu/wifi-ap ## Basic Information - **Project Name**: WifiAp - **Description**: android启动一个wifi,做一个服务器,给别人访问 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-25 - **Last Updated**: 2025-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WiFi热点应用 这是一个功能完整的WiFi热点Android应用,支持创建WiFi热点、显示连接设备、启动HTTP服务器和生成访问二维码。 ## 功能特性 ### 1. WiFi热点管理 - 一键开启/关闭WiFi热点 - 显示热点名称、密码和本机IP地址 - 支持WPA2加密 ### 2. 连接设备监控 - 实时显示连接到热点的设备列表 - 显示设备的MAC地址和分配的IP地址 - 自动更新设备状态 ### 3. HTTP服务器 - 内置HTTP服务器,端口8080 - 提供RESTful API接口 - 支持HTML页面和JSON响应 ### 4. 二维码访问 - 自动生成访问二维码 - 用户扫描二维码即可访问热点服务 - 实时统计访问次数 ## 技术架构 ### 使用的技术栈 - **语言**: Kotlin - **架构**: MVVM + Repository - **协程**: Kotlin Coroutines - **权限管理**: PermissionX - **二维码生成**: ZXing Lite - **HTTP服务器**: NanoHTTPD - **UI**: Material Design Components ### 核心组件 - `WifiHotspotManager`: WiFi热点管理 - `HttpServerManager`: HTTP服务器管理 - `PermissionManager`: 权限管理 - `QrCodeGenerator`: 二维码生成 - `ConnectedDevicesAdapter`: 设备列表适配器 ## 权限要求 应用需要以下权限才能正常工作: - `ACCESS_WIFI_STATE`: 访问WiFi状态 - `CHANGE_WIFI_STATE`: 修改WiFi状态 - `CHANGE_NETWORK_STATE`: 修改网络状态 - `ACCESS_NETWORK_STATE`: 访问网络状态 - `INTERNET`: 网络访问 - `ACCESS_FINE_LOCATION`: 精确位置权限 - `ACCESS_COARSE_LOCATION`: 粗略位置权限 - `NEARBY_WIFI_DEVICES`: 附近WiFi设备权限(Android 13+) ## 使用方法 ### 1. 启动应用 - 安装并运行应用 - 授予必要权限 ### 2. 开启WiFi热点 - 点击"开启WiFi热点"开关 - 等待热点启动完成 - 查看热点信息(名称、密码、IP地址) ### 3. 连接设备 - 其他设备搜索WiFi网络 - 连接到显示的热点 - 输入密码进行连接 ### 4. 访问服务 - 扫描显示的二维码 - 或在浏览器中输入显示的IP地址 - 查看访问统计 ## API接口 ### 主页 - **URL**: `/` - **方法**: GET - **响应**: HTML页面 ### 访问统计 - **URL**: `/api/access` - **方法**: GET - **响应**: JSON格式的访问统计 ### 服务器状态 - **URL**: `/api/status` - **方法**: GET - **响应**: JSON格式的服务器状态 ## 注意事项 1. **系统限制**: 某些Android版本可能需要系统级权限才能创建WiFi热点 2. **网络配置**: 热点IP地址默认为192.168.43.1 3. **端口配置**: HTTP服务器默认端口为8080 4. **设备兼容性**: 建议在Android 6.0及以上版本运行 ## 开发说明 ### 项目结构 ``` app/src/main/java/com/ppandroid/wifiap/ ├── MainActivity.kt # 主Activity ├── adapter/ # 适配器 │ └── ConnectedDevicesAdapter.kt ├── manager/ # 管理器 │ ├── WifiHotspotManager.kt │ ├── HttpServerManager.kt │ └── PermissionManager.kt ├── model/ # 数据模型 │ └── ConnectedDevice.kt └── util/ # 工具类 └── QrCodeGenerator.kt ``` ### 构建配置 - 最低SDK版本: 24 (Android 7.0) - 目标SDK版本: 34 (Android 14) - 编译SDK版本: 34 ## 许可证 本项目采用MIT许可证,详见LICENSE文件。 ## 贡献 欢迎提交Issue和Pull Request来改进这个项目。 ## 联系方式 如有问题或建议,请通过GitHub Issues联系。