# CD-ICH **Repository Path**: Tik_na/cd-ich ## Basic Information - **Project Name**: CD-ICH - **Description**: intangible cultural heritage 文化遗产保护传承 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-28 - **Last Updated**: 2025-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Android ## README # 蓉城非遗 (CD-ICH)

🏮 成都非物质文化遗产传承与推广 Android 应用 🏮

Platform SDK Gradle License Language

让非物质文化遗产在数字时代焕发新生机

--- ## 📑 目录 - [项目简介](#-项目简介) - [功能特色](#-功能特色) - [应用流程](#-应用流程) - [详细使用指南](#-详细使用指南) - [技术栈](#️-技术栈) - [项目结构](#-项目结构) - [数据模型](#-数据模型) - [API 接口文档](#-api-接口文档) - [快速开始](#-快速开始) - [开发指南](#-开发指南) - [常见问题](#-常见问题-faq) - [版本历史](#-版本历史) - [贡献指南](#-贡献指南) - [开源许可证](#-开源许可证) ### 📚 更多文档 | 文档 | 描述 | |------|------| | [CHANGELOG.md](CHANGELOG.md) | 版本更新日志 | | [CONTRIBUTING.md](CONTRIBUTING.md) | 贡献指南 | | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) | 行为准则 | | [SECURITY.md](SECURITY.md) | 安全政策 | | [docs/API.md](docs/API.md) | 详细 API 文档 | --- ## �📖 项目简介 **蓉城非遗** 是一款专注于成都非物质文化遗产传承与推广的 Android 移动应用。应用致力于通过现代化的移动互联网技术,让更多人了解和传承成都丰富的非遗文化,包括传统工艺、民间艺术、文化技艺等。 ### 🎯 核心宗旨 | 宗旨 | 描述 | |------|------| | 🏛️ **传承保护** | 数字化记录和保存非物质文化遗产,让传统文化永不消逝 | | 📚 **知识普及** | 通过互动答题、文章阅读等方式,让非遗知识走进千家万户 | | 🎨 **文创推广** | 推广非遗相关文创产品,让传统技艺焕发商业价值 | | 👥 **传承人展示** | 介绍和宣传非遗传承人,让匠人精神代代相传 | ### 🌟 项目亮点 - ✅ **内容丰富** - 涵盖成都10大非遗类别,数百篇专业文章 - ✅ **互动性强** - 答题系统让学习更有趣味 - ✅ **界面美观** - 采用现代化 Material Design 风格 - ✅ **体验流畅** - 高效的图片加载和网络请求 - ✅ **社交分享** - 支持微信分享功能 --- ## ✨ 功能特色 ### 🏠 首页模块 - **非遗文章浏览** - 展示各类非遗文化知识文章 - **传承大师介绍** - 展示非遗传承人风采 - **轮播图展示** - 精选非遗文化内容推荐 - **分类快捷入口** - 银花丝、瓷胎竹编、漆器、蜀锦、蜀绣等分类 ### 🛒 文创商城 - **文创产品展示** - 非遗文化创意产品浏览 - **产品详情查看** - 查看产品详细信息 - **外链购买** - 跳转外部平台购买 ### 📝 非遗答题 - **知识竞答** - 非遗知识趣味答题 - **多类型题库** - 包含民间文学、传统音乐、传统舞蹈、传统戏剧等类型 - **实时反馈** - 答题即时显示正确答案 ### 👤 个人中心 - **用户登录/注册** - 完整的用户认证系统 - **个人信息管理** - 修改头像、个人资料 - **我的收藏** - 收藏喜欢的文章 - **密码修改** - 账户安全管理 - **关于我们** - 应用信息展示 --- ## 🛠️ 技术栈 ### 📱 开发环境 | 项目 | 版本 | |------|------| | Gradle | 3.2.0 | | Compile SDK | 28 | | Min SDK | 28 | | Target SDK | 28 | ### 📦 核心依赖 | 库名 | 版本 | 用途 | |------|------|------| | **XUI** | 1.0.9-support | UI 组件库 | | **OkHttp** | 3.12.0 | 网络请求 | | **Glide** | 4.8.0 | 图片加载 | | **Gson** | 2.8.6 | JSON 解析 | | **FastJson** | 1.1.54.android | JSON 解析 | | **ButterKnife** | 8.4.0 | View 绑定 | | **JPTabBar** | 1.4.0 | 底部导航栏 | | **PictureSelector** | v2.2.3 | 图片选择器 | | **SmartRefreshLayout** | 2.0.5 | 下拉刷新 | | **CircleImageView** | 3.1.0 | 圆形头像 | | **ShineButton** | 0.2.0 | 点赞动画按钮 | | **微信 SDK** | latest | 微信分享 | --- ## 📂 项目结构 ``` cd-ich-master/ ├── app/ │ ├── src/main/ │ │ ├── java/cn/cdnu/cd_ich/ │ │ │ ├── activity/ # 活动页面 │ │ │ │ ├── HomeActivity.java # 主页 │ │ │ │ ├── LoginActivity.java # 登录 │ │ │ │ ├── RegisterActivity.java # 注册 │ │ │ │ ├── ArticleInfoActivity.java # 文章详情 │ │ │ │ ├── ShopInfoActivity.java # 商品详情 │ │ │ │ ├── InheritInfoActivity.java # 传承人详情 │ │ │ │ ├── AnswerQuestionActivity.java # 答题页面 │ │ │ │ └── ... │ │ │ ├── fragment/ # 片段页面 │ │ │ │ ├── FragmentHome.java # 首页片段 │ │ │ │ ├── FragmentShop.java # 商城片段 │ │ │ │ ├── FragmentAnswer.java # 答题片段 │ │ │ │ ├── FragmentMine.java # 个人中心片段 │ │ │ │ ├── FragmentArticle.java # 文章列表 │ │ │ │ ├── FragmentInheritor.java # 传承人列表 │ │ │ │ └── ... │ │ │ ├── adapter/ # 适配器 │ │ │ │ ├── ArticleAdapter.java │ │ │ │ ├── ShopAdapter.java │ │ │ │ ├── InheritorAdapter.java │ │ │ │ └── ... │ │ │ ├── bean/ # 数据模型 │ │ │ │ ├── User.java # 用户模型 │ │ │ │ ├── ArticleB.java # 文章模型 │ │ │ │ ├── Product.java # 产品模型 │ │ │ │ ├── Inherited.java # 传承人模型 │ │ │ │ ├── Problem.java # 题目模型 │ │ │ │ └── ... │ │ │ ├── utils/ # 工具类 │ │ │ │ ├── HttpUtil.java │ │ │ │ ├── XToastUtils.java │ │ │ │ └── ... │ │ │ ├── view/ # 自定义视图 │ │ │ ├── wxapi/ # 微信 API │ │ │ └── application/ # Application 类 │ │ ├── res/ # 资源文件 │ │ │ ├── layout/ # 布局文件 │ │ │ ├── drawable/ # 图片资源 │ │ │ ├── mipmap/ # 应用图标 │ │ │ └── values/ # 值资源 │ │ └── AndroidManifest.xml # 清单文件 │ └── build.gradle # 模块配置 ├── gradle/ # Gradle 配置 ├── build.gradle # 项目配置 ├── settings.gradle # 设置文件 └── LICENSE # Apache 2.0 许可证 ``` ## 📊 应用流程 ### 应用启动流程 ```mermaid flowchart TD A[启动应用] --> B[LauncherActivity] B --> C{检查登录状态} C -->|已登录| D[HomeActivity] C -->|未登录| E{首次使用?} E -->|是| F[GuideActivity 引导页] E -->|否| G[LoginActivity] F --> G G --> H{用户操作} H -->|登录| I[验证账号密码] H -->|注册| J[RegisterActivity] I -->|成功| D I -->|失败| G J --> G ``` ### 主页导航流程 ```mermaid flowchart LR subgraph HomeActivity A[首页 Tab] --- B[文创 Tab] B --- C[答题 Tab] C --- D[我的 Tab] end A --> E[FragmentHome] E --> E1[文章列表] E --> E2[传承人列表] B --> F[FragmentShop] F --> F1[商品详情] C --> G[FragmentAnswer] G --> G1[选择题库类型] G1 --> G2[答题页面] D --> H[FragmentMine] H --> H1[个人设置] H --> H2[我的收藏] ``` --- ## 📖 详细使用指南 ### 1️⃣ 启动与登录 #### 首次使用 1. 安装并打开应用,进入 **欢迎引导页** 2. 滑动浏览 3 页引导介绍,了解应用功能 3. 点击 **"开始体验"** 或 **"跳过"** 进入登录页 #### 用户登录 1. 输入手机号和密码 2. 可勾选 **"记住密码"** 便于下次登录 3. 点击 **"登录"** 按钮 4. 登录成功后自动跳转至主页 #### 新用户注册 1. 在登录页点击 **"注册"** 2. 填写手机号、密码等信息 3. 完成注册后返回登录页 ### 2️⃣ 首页模块 #### 文章浏览 1. 首页默认显示 **"文章"** 标签页 2. 点击顶部分类按钮可筛选:银花丝、瓷胎竹编、漆器、蜀锦、蜀绣 3. 下拉刷新获取最新文章 4. 点击文章卡片进入详情页 #### 传承人浏览 1. 切换到 **"大师"** 标签页 2. 浏览非遗传承人列表 3. 点击查看传承人详细介绍 ### 3️⃣ 文创商城 1. 点击底部导航栏 **"文创"** 进入商城 2. 浏览轮播图了解热门推荐 3. 向下滑动查看商品列表 4. 点击商品查看详情 5. 点击购买链接跳转至外部购买平台 ### 4️⃣ 非遗答题 #### 开始答题 1. 点击底部导航栏 **"答题"** 2. 选择题库类型: - 📖 民间文学 - 🎵 传统音乐 - 💃 传统舞蹈 - 🎭 传统戏剧 3. 进入答题页面 #### 答题流程 1. 阅读题目,选择答案(单选) 2. 选择后立即显示正确答案 3. 正确:绿色高亮 ✅ 4. 错误:红色高亮 ❌ 5. 点击 **"下一题"** 继续 6. 完成 5 道题后显示结束提示 ### 5️⃣ 个人中心 #### 查看个人信息 1. 点击底部导航栏 **"我的"** 2. 查看头像、用户名等基本信息 3. 查看 **"购物车"** 和 **"喜欢文章"** #### 设置与修改 1. 点击右上角设置图标 2. 可进行以下操作: - 修改头像 - 修改个人资料 - 修改密码 - 查看关于我们 - 退出登录 --- ## 🗃️ 数据模型 ### User(用户) ```java public class User { private Long id; // 用户ID private String username; // 用户名 private String password; // 密码 private String tel; // 手机号 private String email; // 邮箱 private String gender; // 性别 private String birthday; // 生日 private String portraiture; // 头像路径 } ``` ### ArticleB(文章) ```java public class ArticleB { private Long id; // 文章ID private String title; // 标题 private String content; // 内容 private String type; // 类型分类 private String imgUrl; // 封面图片 private String createTime; // 创建时间 private Integer likeCount; // 点赞数 } ``` ### Product(产品) ```java public class Product { private Long id; // 产品ID private String pname; // 产品名称 private String pprice; // 价格 private String pdetail; // 详情描述 private String pimgs; // 图片路径 private String url; // 购买链接 } ``` ### Inherited(传承人) ```java public class Inherited { private Long id; // 传承人ID private String name; // 姓名 private String introduce; // 简介 private String imgUrl; // 头像 private String skill; // 技艺类型 } ``` ### Problem(题目) ```java public class Problem { private Long id; // 题目ID private String topic; // 题目内容 private String selectone; // 选项A private String selecttwo; // 选项B private String selectthree; // 选项C private String selectfour; // 选项D private String qkey; // 正确答案 private String type; // 题目类型 } ``` --- ## 🌐 API 接口文档 ### 基础配置 | 配置项 | 值 | |--------|-----| | **服务器地址** | `http://47.120.68.199:7066/CD_ICH` | | **图片服务器** | `http://47.120.68.199:7066/CD_ICH/img/` | ### 用户相关接口 #### 登录 - **URL**: `/user/doLogin` - **Method**: `POST` - **Content-Type**: `application/json` - **Request Body**: ```json { "tel": "手机号", "password": "密码" } ``` - **Response**: ```json { "code": 200, "msg": "登录成功", "data": { /* 用户信息 */ } } ``` #### 获取用户信息 - **URL**: `/user/getAll` - **Method**: `POST` - **Parameters**: `id` (用户ID) ### 文章相关接口 #### 获取文章列表 - **URL**: `/article/getPart` - **Method**: `POST` - **Parameters**: `type` (文章类型:银花丝/瓷胎竹编/漆器/蜀锦/蜀绣) ### 商品相关接口 #### 获取所有商品 - **URL**: `/product/getAll` - **Method**: `GET` ### 传承人相关接口 #### 获取传承人列表 - **URL**: `/inherit/getPart` - **Method**: `GET` ### 答题相关接口 #### 获取随机题目 - **URL**: `/problem/get` - **Method**: `POST` - **Parameters**: `type` (题目类型) --- ## 🚀 快速开始 ### 环境要求 | 要求 | 版本 | |------|------| | **JDK** | 1.8+ | | **Android Studio** | 3.2+ | | **Android SDK** | 28+ | | **Gradle** | 4.6+ | ### 构建步骤 1. **克隆项目** ```bash git clone https://github.com/your-repo/cd-ich-master.git cd cd-ich-master ``` 2. **使用 Android Studio 打开** - 打开 Android Studio - 选择 `File > Open` - 选择项目根目录 3. **同步 Gradle** - 等待 Gradle 自动同步依赖 - 如遇问题,可点击 `Sync Project with Gradle Files` 4. **配置服务器地址**(可选) - 打开 `cn/cdnu/cd_ich/bean/WeURL.java` - 修改 `path` 和 `imgurl` 为您的服务器地址 5. **运行应用** - 连接 Android 设备或启动模拟器 - 点击 `Run` 按钮运行应用 --- ## 🔧 开发指南 ### 添加新页面 1. 在 `activity` 包下创建新的 Activity 类 2. 在 `res/layout` 下创建对应的布局文件 3. 在 `AndroidManifest.xml` 中注册 Activity ```xml ``` ### 添加新API接口 1. 在相关 Activity 或 Fragment 中创建网络请求方法: ```java public void yourApiMethod() { new Thread(new Runnable() { @Override public void run() { try { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(WeURL.path + "/your/endpoint") .build(); Response response = client.newCall(request).execute(); String result = response.body().string(); // 处理响应数据 } catch (Exception e) { e.printStackTrace(); } } }).start(); } ``` ### 代码规范 - 遵循 Java 编码规范 - Activity 命名:`XxxActivity.java` - Fragment 命名:`FragmentXxx.java` - Adapter 命名:`XxxAdapter.java` - 布局文件命名:`activity_xxx.xml` / `fragment_xxx.xml` --- ## ❓ 常见问题 (FAQ) ### Q1: 应用无法连接服务器? **A**: 请检查以下几点: 1. 确保设备已连接网络 2. 检查 `WeURL.java` 中的服务器地址是否正确 3. 确认后端服务器正在运行 4. 检查 `AndroidManifest.xml` 中是否添加了网络权限 ### Q2: 图片无法加载? **A**: 可能原因: 1. 图片服务器地址配置错误 2. 网络连接问题 3. 图片路径不正确 解决方案:检查 `WeURL.imgurl` 配置和网络状态 ### Q3: 登录时提示"账号或密码错误"? **A**: 1. 确认账号密码输入正确 2. 检查网络连接 3. 如果是首次使用,请先注册账号 ### Q4: 如何修改应用图标? **A**: 替换以下目录中的图标文件: - `res/mipmap-hdpi/ic_icon.png` - `res/mipmap-mdpi/ic_icon.png` - `res/mipmap-xhdpi/ic_icon.png` - `res/mipmap-xxhdpi/ic_icon.png` - `res/mipmap-xxxhdpi/ic_icon.png` ### Q5: 如何切换到本地开发服务器? **A**: 修改 `WeURL.java`: ```java // 取消注释本地服务器配置 public static final String path = "http://10.0.2.2:8081/CD_ICH"; public static final String imgurl = "http://10.0.2.2:8081/CD_ICH/img/"; ``` --- ## � 版本历史 ### v1.0.0 (当前版本) **发布日期**: 2024 **功能特性**: - ✅ 用户登录/注册系统 - ✅ 非遗文章浏览与收藏 - ✅ 传承人展示 - ✅ 文创商城 - ✅ 非遗知识答题系统 - ✅ 个人中心管理 - ✅ 微信分享功能 - ✅ 下拉刷新 **技术架构**: - Android SDK 28 - OkHttp 网络请求 - Glide 图片加载 - XUI 组件库 --- ## 🔑 权限说明 | 权限 | 用途 | 必要性 | |------|------|--------| | `INTERNET` | 网络访问,获取数据 | 必须 | | `ACCESS_NETWORK_STATE` | 检查网络状态 | 必须 | | `READ_EXTERNAL_STORAGE` | 读取本地图片 | 可选 | | `WRITE_EXTERNAL_STORAGE` | 保存图片到本地 | 可选 | | `RESTART_PACKAGES` | 应用重启 | 可选 | --- ## 🤝 贡献指南 欢迎为本项目贡献代码! ### 贡献流程 1. **Fork 本仓库** 2. **创建特性分支** ```bash git checkout -b feature/AmazingFeature ``` 3. **提交更改** ```bash git commit -m 'Add some AmazingFeature' ``` 4. **推送到分支** ```bash git push origin feature/AmazingFeature ``` 5. **提交 Pull Request** ### 贡献规范 - 代码需遵循项目现有的编码风格 - 提交信息应清晰描述更改内容 - 新功能需附带相应的测试 --- ## 📜 开源许可证 本项目基于 [Apache License 2.0](LICENSE) 开源许可证。 ``` Copyright 2024 成都师范学院 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` --- ## 👨‍💻 开发者信息 | 项目 | 信息 | |------|------| | **开发单位** | 2396077651 (TLN) | | **应用包名** | `cn.cdnu.cd_ich` | | **应用名称** | 蓉城非遗 | --- ## 📞 联系我们 如有问题或建议,请通过以下方式联系: - 📧 提交 GitHub Issue - 📱 应用内"关于我们"页面 - 📫 2396077651@qq.com ---

🏮 传承非遗文化,弘扬中华文明 🏮

让非物质文化遗产在新时代焕发新生机

⭐ 如果觉得项目有帮助,请给个 Star 支持一下!⭐