# UHF_Sample **Repository Path**: luckquan/uhf_sample ## Basic Information - **Project Name**: UHF_Sample - **Description**: uhf_sample - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-21 - **Last Updated**: 2024-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SumTea ## 一、 关于SumTea ### 1. 项目架构 1. 项目采用 Kotlin 语言编写,结合 Jetpack 相关控件,`Navigation`,`Lifecyle`,`DataBinding`,`LiveData`,`ViewModel`等搭建的 **MVVM** 架构模式; 2. 通过**组件化**,**模块化**拆分,实现项目更好解耦和复用,[ARouter](https://github.com/alibaba/ARouter) 实现模块间通信; 3. 使用 **协程+Flow+Retrofit+OkHttp** 优雅地实现网络请求; 4. 通过 **mmkv**,**Room** 数据库等实现对数据缓存的管理; 5. 使用 **Glide** 完成图片加载; ![SumTea工程架构](https://user-images.githubusercontent.com/20841967/233055330-89e2bdd6-3111-4726-bf5a-e77aa2ebdc2a.png) 项目使用**MVVM架构模式**,基本上遵循 Google 推荐的架构,对于 `Repository`,Google 认为 `ViewModel` 仅仅用来做数据的存储,数据加载应该由 `Repository` 来完成。通过 **Room** 数据库实现对数据的缓存,在无网络或者弱网的情况下优先展示缓存数据。 ![MVVM架构图](https://user-images.githubusercontent.com/20841967/233261753-86bc4cb6-3681-49a5-a127-34d87a46d268.jpg) ### 2. 项目功能 #### APP壳工程: 1. Application类 2. 打包环境,签名,混淆规则,业务模块集成,APP 主题等配置等 #### lib_framework: 1. Base基类相关 2. Ext拓展函数 3. Loading加载框 4. LogUtil日志打印工具类 5. Manager相关管理类 6. TipsToast吐司工具类 7. Utils相关工具类 8. 带删除按钮的EditText #### lib_common: 1. 二次封装的Banner组件 2. 常量类 3. 实体Bean 4. 组件化通信的provider和IService 5. 通用View #### lib_network: 1. Api接口类 2. 错误相关类 3. Flow扩展类,网络请求封装 4. Http相关拦截器 5. 相关管理类 6. BaseViewModel&BaseRepository协程网络请求封装 7. OkHttp和Retrofit封装 #### lib_stater: 1. 异步任务,延迟任务启动器 2. 任务优先级,线程池,依赖关系,是否需要等待 #### lib_glide: 1. 对Glide使用的二次封装 2. 圆角,圆形,缓存,高斯模糊图片加载 #### lib_room: 1. Room数据库相关 2. 视频列表缓存 ======= # scientific-exam-system-client ## Getting started To make it easy for you to get started with GitLab, here's a list of recommended next steps. Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! ## Add your files - [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files - [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: ``` cd existing_repo git remote add origin http://119.23.228.15/hjkz-develop/scientific-exam-system-client.git git branch -M master git push -uf origin master ``` ## Integrate with your tools - [ ] [Set up project integrations](http://119.23.228.15/hjkz-develop/scientific-exam-system-client/-/settings/integrations) ## Collaborate with your team - [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) - [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) - [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) - [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) - [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) ## Test and Deploy Use the built-in continuous integration in GitLab. - [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) - [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) - [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) - [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) - [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) *** # Editing this README When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. ## Suggestions for a good README Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.