如何在短时间内熟悉一个刚接手的Android项目

前言

从来没有去过有项目文档的公司,也不知道如何看项目文档。就这样我现在需要去熟悉一个新的Android项目。

在熟悉项目的时候,不妨开一个Word文档,流程和项目结构的东西都可以记录在里面,虽然说久而久之的都会记下来,但是如果一开始记了忘忘了记也挺烦的。

如果项目的规模很大,除了参考本文以外,还可以参考这篇:
Android 当项目规模很大的时候,刚来没多久如何进行开发
https://blog.csdn.net/qq_41872247/article/details/116456260

1. 熟悉流程

  当一个项目刚到手的时候,不要急着对着代码去看去翻,这样翻是翻不出什么结果的。先打开项目app的测试版(一般都会有),进去把app内每个按钮都点一下,每一个流程都先过一遍。遇到比较复杂的业务,比起自己在那乱点,最好再请教一下同事。但是也不要一直去问别人,问多了也挺招人烦的,问个一次两次就够了,最好还是自己多看一看。

2. 查看主要的Activity和Fragment

  我们做Android的都知道,Activity和Fragment是所有逻辑的起点,在对流程有一定的熟悉之后,就要去查看不同页面所在的Activity或者Fragment,然后在剩下的时间再看看页面布局,看看大部分Activity中是否用上了Fragment,用的时候都用在了哪一部分。

前期无论是遇到什么需求,都要以页面作为起点去分析逻辑

2.1 查看当前Activity

我有试过其他人说的各种各样的方法,但是最简单也是最直接的方法只有这几个。

  1. 如果项目比较规范,有一个比较完整的BaseActivity的话,可以在BaseActivity的onCreate方法或者onResume方法前,打上一句log,内容填getClass.getName()。这样当你打开新的Activity时,你只要在Logcat中进行过滤,就可以很轻易的知道当前Activity类所在的地址了。
    在这里插入图片描述
  2. 如果项目比较乱,那你只好在源码的AppCompatActivity类中,OnCreate方法里面打个断点。以Debug的方式打开项目,这样每当打开一个新的Activity的时候,项目会整个停住,这个时候通过翻堆栈信息可以查看当前所在的Activity。一般的项目中,会涉及到各种各样的网络请求或者框架加载,很有可能你这边停住,整个逻辑就会出现问题不能继续运行下去(我自己实际上在熟悉项目的时候,就出现过连续点好几下运行都不会继续运行的情况)。
    在这里插入图片描述

2.2 查看当前Fragment

方法基本等同于查看Activity

  1. 项目比较规范,在BaseFragment中用log打印getClass().getName(),在点一遍app,就可以知道Fragment具体挂在哪个Activity下或者在哪里有复用了,和Activity一起打印,更容易知道两者之间的层级关系。
  2. 项目比较乱,在Fragment类中对onCreate()方法设置断点,用debug的方式打开项目。就可以一个个查看了。

3. 熟悉项目结构

在熟悉了主要Activity和Fragment之后,就可以根据他们所在的包,对项目结构进行熟悉了,主要是对项目中,每个包存放了什么样的代码,完成了哪方面的逻辑做一个主要的记录。

  1. 我曾经熟悉一个MVP项目,这个项目中View单独一个包,Presenter单独一个包,Model单独一个包,每个包点进去有几十个类。这种类型的项目的话,它的类命名都会高度统一(比如说HomeActivity和HomePresenter和HomeModel),了解每个名字前缀完成了哪方面的逻辑并记录即可。

  2. 还有一种是项目是把每个Activity和其相关的逻辑代码单独打一个包,遇到这种情况了解每一个包完成了哪方面的逻辑并记录即可。

参考材料

Android程序员如何快速熟悉一个新的项目 - 简书
https://www.jianshu.com/p/02fb0f200d5a
如何用最快的速度熟悉安卓项目老代码 - 简书
https://www.jianshu.com/p/18d84f6e40e3

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值