实习已经一个月了,终于下定决定来做个总结,哈哈,自己也觉得太不容易了……虽然也已经过去了一个月,上班也没有太多的事情,都是偶尔改一个bug,大部分时间都在自己学自己的了。下面就对这一个月学习到的东西做个总结吧。
接触项目
第一次接触工作中的项目,而且是一个比较大的项目,从SVN上checkout的时候,打开一看,整个人都不好了。项目文件分了几十个包,每个包里又有上百个类,而大部分类的代码都在2000行以上……可能这是多人协作的常态了,也只能慢慢适应了。
项目背景
由于公司是外企,项目组做的APP又是面向日本用户的,还是与日方协作开发的,因此不管是APP、文档,还是代码中的注释,文字通通都是日文,这无疑给理解项目逻辑带来了严重的挑战。尽管国内有百度翻译,但是真的用在专业术语的翻译上,那都是个屁!
可能你会说,不是有那么多界面的么,根据布局文件查找相应的Activity不就好了?其实开始我也是这样想的,但真的打开项目的时候,整个人真的都是懵逼的——布局文件只有寥寥几个,而Activity却有上百个,项目中布局复用真的是太严重了,当然了,这对项目来说是好事。
项目上手
好在项目的debug信息比较详细,每一个类的方法在开始调用的时候都会打印出该方法所属的类的类名与该方法的方法名,在方法即将结束的时候也会打印该方法所属的类的类名与该方法的方法名。凭借这些dubug信息,开始慢慢“玩”APP,每跳转一个界面看看都用到了哪些类,该类所属的Activity又是哪一个。点击界面上的按钮会触发哪些方法,就这样过了两周,开始慢慢测试一些小bug,对项目逻辑也有了些了解。
然后又接触了项目文档,虽然文档给的有些晚……文档是画面的迁移图,从某个界面经过相应的操作会跳转到哪一个界面,都描述的非常清楚(除了日文依旧看不懂)。然后在测试找bug的过程中,也学习了一些adb命令,比如查看当前界面对应的activity:adb shell dumpsys activity | findstr "mFocusedActivity"
。通过这些命令的学习,我对项目有了更深的了解。
总结
- 以前只会用git管理代码,入职后对SVN的使用有了一定的了解,包括update、commit、diff、merge代码等。
- 对上手一个处于开发中的大型项目有了一定的经验
- 学会了更多adb命令的使用
- adb shell dumpsys activity | findstr “mFocusedActivity” //获取当前界面的activity信息
- adb shell input text “it’s text” //用adb命令输入文字
- adb shell input keyevent 131 //左菜单键
- adb shell input keyevent 132 //右菜单键
- adb shell input keyevent 4 //返回键
- adb install -r “apk路径” //-r 表示强制安装
- adb uninstall -k “apk包名” //-k 表示卸载软件,但是保留配置和缓存文件
- adb force-stop “apk包名” //强制停止应用