1.引言
由于学校在考研期间布置了第二次项目实习,我们开发小组抽到了Android开发的,于是花了大概一周的时间和另外一个后端比较牛的大佬合作开发了一个通知类的Android软件,感觉自己最开始不是很想花这个时间的,但是由于小组积极性都不高,自己决定还是试一试。既然参与开发了,还是想着总结一下,避免之后忘记了,毕竟玩也是玩,软件开发一段时间不写忘得也很快。由于项目需求和开发经历等方面的原因,项目可能在功能上有一些不足的地方,希望看到这篇文章的友友们可以理解,也希望能够帮助到同样需要敏捷开发一款Android软件的友友们。
2.项目需求
学软件工程的应该都知道软件需求分析的重要性,具体的理论咱不多说了,给出我们这个软件的需求(核心:基于MQTT的类似于邮件系统的Android软件
):
3.技术核心总结
MQTT
:一种广泛应用于物联网领域的网络协议,能够像WebSocket一样实现服务端向客户端主动推送新闻,优点:支持弱网环境
(网络信号不佳)。
Android
:需要清楚市面上的Android教程远不及前端和Java
,因此学起来相对麻烦些,但是其实上手了其实都差不多,核心问题很难去查找报错
,一般很难学明白底层原理,很难有自己想法去主动设计功能,更多的是“搬运”
,当然,这也和我们的项目敏捷开发的要求有关。
开发完的想法
:强调,是我们软件开发完后意识到的问题,Google“新”推出了kotlin,其实建议不用原生Android,直接使用更加友好的kotlin(查错更加方便
,Android的话有时候软件闪退直接自己查找代码问题了),Google官方说首先考虑kotlin的优化和功能更新
。但是使用的Android好处是无缝衔接Java,依赖也比较多,如果是kotlin的话,不太清楚依赖的支持是否也会这么友好。
4.分享我学习的路线
(1)Android开发基础:
【【2021最新版】Android(安卓)开发零基础入门课程【全套】(由小米、阿里、腾讯、爱奇艺一线大厂老师打造)-哔哩哔哩】
(2)MQTT协议相关:
【【太极创客】零基础入门学用物联网 - MQTT篇 1-1 MQTT是什么-哔哩哔哩】
(3)帮助较大的两篇文章:Android 上传图片到服务器、图片存储到相册。
备注
:能上手就行,写到什么功能查看什么功能的实现方式,如果全看等到看完基本忘了或者用不上。没有教程的就用百度搜索查找别人的文章。
5.功能抽取
6.效果展示
client:
admin:
server:
源码:
普通用户端仓库(clien):https://gitee.com/flying_dark_feather/campus-news-app-client
管理端仓库(admin):https://gitee.com/flying_dark_feather/campus-news-app-admin
后端仓库(server):https://gitee.com/weirdo_pjg/campus-news-app-server
7.后续
接下来我会每天抽一点时间总结一下具体的技术点细节(不定期更新),一方面是为了拿个CSDN的标(感谢大家的支持,终于500粉丝了!),另一方面还是为了学习、总结和分享,具体的内容可以见我的Android开发专栏。