# movie_app_xml **Repository Path**: singcl/movie_app_xml ## Basic Information - **Project Name**: movie_app_xml - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-25 - **Last Updated**: 2026-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MovieAppXML 一个基于 Android 的电影列表应用,使用传统 XML 布局展示电影信息。 ## 功能特性 - 从 REST API 获取电影列表数据 - 以卡片形式展示电影封面和标题 - 加载状态指示器 - 图片加载与缓存 ## 技术栈 | 类别 | 技术 | |------|------| | **架构** | MVVM | | **语言** | Kotlin | | **UI** | XML 布局 + ViewBinding + RecyclerView | | **网络** | Retrofit 2.9.0 + OkHttp 4.12.0 + Moshi 2.9.0 | | **图片** | Glide 4.16.0 | | **异步** | Kotlin Coroutines 1.7.3 | | **Jetpack** | ViewModel + LiveData | | **最低 SDK** | 24 (Android 7.0) | | **目标 SDK** | 36 | ## 项目结构 ``` app/src/main/java/com/example/movieappxml/ ├── MainActivity.kt # 主界面入口 ├── MovieViewModel.kt # ViewModel,状态管理 ├── MovieRepository.kt # 数据仓库 ├── NetworkClient.kt # Retrofit 单例 ├── ApiService.kt # API 接口定义 ├── DataModel.kt # 数据模型 ├── MovieAdapter.kt # RecyclerView 适配器 └── ImageUtils.kt # 图片 URL 工具类 ``` ## API 配置 应用默认连接本地服务器: - **Base URL**: `http://192.168.100.64:8080/` - **端点**: `GET /api/blog/list` 响应格式: ```json { "code": 200, "message": "success", "data": [ { "id": 1, "title": "电影标题", "coverImage": "/uploads/cover.jpg" } ] } ``` > 如需修改服务器地址,请编辑 `NetworkClient.kt` 中的 `BASE_URL` 常量。 ## 构建 1. 确保本地服务器运行在配置的 IP 和端口上 2. 在 Android Studio 中打开项目 3. 同步 Gradle 并运行 ## 依赖 - AndroidX Core KTX - AndroidX Lifecycle (ViewModel + LiveData) - AndroidX RecyclerView - AndroidX CardView - Material3 - Retrofit + Moshi Converter - OkHttp + Logging Interceptor - Glide - Kotlin Coroutines