使用 Java 和现代 Android 技术栈构建一个新闻阅读应用。应用从 REST API (如 NewsAPI.org) 获取文章,支持文章列表、详情、分类和搜索,并具备离线缓存功能。
RecyclerView 显示文章列表(标题, 来源, 时间, 缩略图)。WebView 显示文章原始网页。TabLayout 让用户按类别(商业, 科技等)筛选文章。SearchView 图标。/news-app
└── app/src/main/
├── java/com/example/newsapp/
│ ├── MainActivity.java
│ ├── ui/ # Fragments & Activities
│ ├── viewmodel/ # ViewModels
│ ├── data/ # 数据层 (model, remote, local)
│ └── repository/ # 数据仓库
└── res/ # 资源 (layout, menu, navigation)
build.gradle 添加所需依赖。Article 实体、DAO 和数据库。NewsRepository 作为统一数据入口,管理网络和本地数据。MainViewModel,通过 Repository 获取 LiveData 封装的新闻数据。MainFragment (观察 LiveData 并更新 RecyclerView) 和 DetailFragment (使用 WebView)。MainFragment 和 DetailFragment 间的导航。先行任务: 设计 Article 和 Source 数据模型,并确定 NewsAPI 的端点和查询参数。