一个简洁、原生的 Android 热榜聚合应用,一页查看微博、知乎、百度、B站和抖音热点。
“今日热点”是一款无需登录的原生 Android 热榜 Demo。应用直接读取公开热榜接口,将分散在不同平台的热门内容整理到统一界面中,点击条目即可通过系统浏览器查看原始内容。
应用不是 WebView 套壳,界面、网络请求、缓存和状态管理均使用 Android 原生方案实现。
- 聚合微博、知乎、百度、B站、抖音五个平台热榜
- 前三名焦点展示,并提供完整榜单
- 平台切换与五分钟内存缓存
- 手动刷新、加载状态、失败重试和缓存降级
- 点击热点跳转原始内容,不在 App 内二次转载正文
- 手机单列、平板三列的响应式布局
- Android 15 及以上边到边系统栏适配
- 无登录、无广告、无推送、无后台定时刷新
| 微博热搜 | 知乎热榜 | 抖音完整榜单 |
|---|---|---|
![]() |
![]() |
![]() |
App 直接从用户手机请求 UAPI,不经过项目作者的中转服务器。
- 首次打开 App 时,只请求默认的微博热榜。
- 切换到未缓存的平台时,请求对应平台一次。
- 同一平台五分钟内再次打开时,优先使用内存缓存。
- 点击“刷新”会忽略五分钟缓存并立即重新请求。
- App 不会在后台或每天定时自动刷新。
- 访客额度通常按公网 IP 计算;同一家庭、公司、学校或公共 Wi-Fi 下的设备可能共用额度。
- 手机流量也可能使用运营商共享出口,因此无法保证每台设备始终拥有独立额度。
接口计费、限流和访客额度由 UAPI 决定,可能随服务策略调整,请以其官方说明和实时响应为准。
当前最低支持 Android 8.0(API 26)。
- 在仓库的 GitHub Releases 页面下载最新版 APK。
- 在手机上允许浏览器或文件管理器“安装未知应用”。
- 打开 APK 并完成安装。
当前提供的是 Debug APK,适合演示和个人测试。正式上架应用商店前,应使用独立签名构建 Release 包,并补充隐私政策和商店素材。
| 项目 | 版本 |
|---|---|
| Android Studio | 当前稳定版 |
| JDK | 17 或更高;推荐使用 Android Studio 自带 JBR |
| Gradle | 8.13 |
| Android Gradle Plugin | 8.13.2 |
| compileSdk / targetSdk | 36 |
| minSdk | 26 |
| 业务语言 | Java 17 |
| UI | XML + ViewBinding |
使用 Android Studio 打开项目根目录,等待 Gradle 同步完成后运行 app 配置即可。
也可以在命令行执行:
./gradlew assembleDebug默认 APK 输出位置:
app/build/outputs/apk/debug/app-debug.apk
执行完整验证并生成便于上传到 GitHub Releases 的 APK:
./gradlew clean testDebugUnitTest lintDebug packageVerifiedDebugApk输出位置:
dist/hot_everyday-v0.2.2-debug.apk
如果 macOS 终端默认 Java 版本过低,可以先使用 Android Studio 自带的 JDK:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"项目采用简化的 MVVM + Repository 结构:
MainActivity / RecyclerView
↓
HotViewModel
↓
HotRepository
↙ ↘
五分钟内存缓存 HotApiClient
↓
UAPI
MainActivity:界面展示、平台切换和生命周期协调HotViewModel:管理当前平台与页面状态HotRepository:统一处理网络数据、缓存和失败降级HotApiClient:使用HttpURLConnection请求并解析 JSONFeedAdapter:通过 RecyclerView 多类型列表展示热榜
hot_everyday_android/
├── app/
│ └── src/main/
│ ├── java/com/hoteveryday/app/
│ │ ├── data/ # API 与 Repository
│ │ ├── model/ # 数据及页面状态
│ │ ├── ui/ # Activity、Adapter、格式化
│ │ └── viewmodel/ # ViewModel
│ └── res/ # 布局、颜色、文字和图标资源
├── docs/
│ ├── assets/ # 图标与应用截图
│ └── USAGE.md # 安装与使用说明
├── tools/ # 图标生成工具
└── README.md
热榜数据来自 UAPI 热榜接口。热点标题、排名、热度和原始链接的权利归相应平台及内容提供者所有。
- App 不要求注册或登录。
- App 不集成广告、统计或用户跟踪 SDK。
- App 不建立用户数据库,也不向项目作者的服务器上传数据。
- App 仅需要网络访问权限。
- 请求 UAPI 时,第三方服务可能获得用户公网 IP、User-Agent 等常规网络信息。
- 打开热点原文后,将进入对应平台或浏览器,其数据处理规则由该平台决定。
- UAPI 是第三方服务,可用性、数据格式和额度策略可能变化。
- 缓存仅保存在 App 进程内,进程被系统清理后缓存会丢失。
- 当前没有收藏、搜索、推送、离线数据库和 AI 摘要功能。
- 当前版本尚未完成应用商店签名与发布流程。
欢迎通过 Issue 提交问题和建议,也欢迎通过 Pull Request 改进界面、稳定性和平台适配。提交代码前请确保:
./gradlew testDebugUnitTest lintDebug assembleDebug能够完整通过。
本项目基于 MIT License 开源。你可以使用、修改、分发和商用本项目,但必须保留原始版权声明和许可证文本。
本项目用于技术学习和产品 Demo,不隶属于微博、知乎、百度、哔哩哔哩、抖音或 UAPI,也不代表上述平台。请勿通过频繁切换 IP、自动化高频刷新等方式规避第三方接口限制,使用者应遵守数据来源服务和内容平台的相关规则。


