Android项目从立项到上线——修仙之路

2023-11-21 13:59

本文主要是介绍Android项目从立项到上线——修仙之路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在组建项目组从0开始开发项目,从立项到上线,有一些心得,包括项目规范、结构、优化、三方等,与大家分享,一起修仙!
接下来我会以自己写的两个项目为例,结合起来分析。代码已经上传github:
  • Material Design风格项目 点击前往 喜欢就给个star^_^
  • UI、Base、网络等封装库项目 点击前往 喜欢也给个star喽
先上图来看看吧:

这里写图片描述

项目采用MVP+Retrofit+RxJava+Gson+Glide+Material Design设计
同时也使用了EventBus事件总线GreenDao数据库SurfaceView+MediaPlayer视频播放器等主要技术。
ok!项目就简单介绍到这里,接下来开始我们的修仙之路。

这里写图片描述

1、项目整体分析

a、UI风格

主题风格:
  • Material Design
  • 仿ios
  • 主界面–侧拉
  • 主界面–仿微信 选项卡等

b、技术方案

整体分析项目,确定整体技术方案,之后的开发中按照技术方案执行,同时编写相关文档。
  • 项目架构
  • 网络框架
  • 图片处理
  • 数据处理/接口格式
  • 三方使用:统计、推送、更新等

c、可行性分析

邀请项目经理、技术负责人、产品经理、后端开发、测试等共同分析技术方案的可行性,并相应调整技术方案。

d、工期

根据项目需求和技术方案,给出开发时长;
根据工期要求,可适当调整技术方案。

e、测试用例

测试人员开始整理、编写测试用例和项目标准文档;
个人觉得开发人员应该参与到测试工作中,这样方便自己对业务逻辑和功能分析全面,也帮助测试人员分析项目功能和技术,便于写出更加全面的测试用例。

2、开发规范

其实Android、Ios、Server等各端开发人员,都应该有完整的、严格的开发规范,这里我只说一下Android端的开发规范:
以自己项目为例,涉及到以下几项:
  • 文档规范
  • 资源命名规范
  • 代码命名规范
  • 代码注释规范
  • 代码风格规范
  • 服务器数据规范 等

a、文档

重要有以下几个文档:
  1. 需求文档
  2. 产品原型图
  3. 完整UI图
  4. 接口文档
  5. 核心技术文档
  6. 重点逻辑文档
  7. 程序框架图
  8. ER图、数据字典、类图等
  9. 测试文档

b、资源文件命名规范

名字全部小写,最好不用数字,全部英文,单词中间下划线隔开
~、drawable、anim等文件夹下

名称结构为“技术点模块点空间类型_功能名”结构,技术点主要有:selector、translate、alpha、scale等,模块名主要有:login、pay、mine、setting等,控件类型主要有:button、textview、imageview、dialog等,功能名主要有:findpwd、request、back、next等。
这里写图片描述

~、drawable-xhdpi等图片资源

名称为“技术点模块点功能名”结构,技术点主要有:activity、fragment、item、include等,模块点主要有:login、setting、mine、pay等,功能名主要有:head、title、back、sure等。
这里写图片描述

~、layout

布局名称为“技术点模块功能名”结构,技术点主要有:activity、fragment、item、include等,模块主要有:home、lesson、mine、loginregist等,功能名主要有:login、title、setting、pay、bar等。
这里写图片描述

~、values

布局名称为“技术点模块功能名”结构,技术点主要有:activity、fragment、item、include等,模块主要有:home、lesson、mine、loginregist等,功能名主要有:login、title、setting、pay、bar等。
这里写图片描述

c、代码命名规范

~、包名

包名为“根包名.技术点名.模块名”结构,全部小写
这里写图片描述

~、类名
采用 大驼峰 命名法,单词直接拼接,所有单词首字母大写

类名为“业务模块名 执行操作名 技术点名”结构,业务模块名主要有:home、lession、net、login,pay等,操作名主要有:Get、Set、Request、Login等,技术点名主要有:Activity、Fragment、View、Adapter等。

这篇关于Android项目从立项到上线——修仙之路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/402748

相关文章

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32