Skip to content

diaoxinqiang/DrawContainerDemo

Repository files navigation

DrawContainerDemo

作业盒子批注控件反编译

《作业盒子》批注作业效果

作业盒子-批改控件.gif

《作业盒子》反编译提取控件

作业盒子-批改控件提取.gif

你可能的收获:

  • 学会简单的反编译
  • 一些反编译技巧:实战提取两个知名应用的控件,借鉴学习
  • 学会一种提高工作效率的偷懒方法
  • 希望能给读者正在做的项目有点启发,少走点弯路

每一个android开发程序员很有必要掌握一些逆向工程的知识技巧,其中好处不胜枚举,我细数一二:

《作业盒子-教师版》批注控件(APK下载地址)
《作业盒子》批注作业控件评价
  • 编辑模式:同时支持双手缩放,以及单手批注
  • 缩放的同时,批注笔头粗细跟随缩放
  • 不可编辑模式:支持双手缩放,单手拖拽
  • 并且支持批注回退 让我老老实实做,估计最少也得3天,就算实现了,估计还有不少bug需要修复.没错,我就是这么不自信.有点自知之明还是好的. 但是,反编译提取控件,估计也就1,2个小时. 我们项目也需要实现类似功能.一直有个用户需要的需求迟迟没有落地---[图片上的文字看不清楚,需要支持放大功能,但是同时还得支持批注功能] 因为没有想到好的交互实现方案,并且有其他功能要做,做这个需求性价比太低了,开发周期这么紧,最后不了了之.而现在,简直是分分钟的事.

授人以鱼不如授人以渔

总结一下反编译参考竞品的技巧:

  • 先看主干,再细看旁枝末节. 什么意思呢?就是先看其大体项目架构,用了什么开源库,浏览一下AndroidManifest,都有什么Activity,通过英文单词去猜测其功能(一个优秀的项目,对类的命名必然是直观易懂的)
  • 实践动手.这个也很重要,因为单纯看来的是不准确的,是不可能深入理解其核心逻辑的,必须尽可能的将其抽取出来做成demo,以此验证自己的猜测.当然,动手是一种冒风险的事情,因为有可能自己的猜测落空.
  • 信心. 心里面的想法:我就有预感自己会成功,蜜汁自信.
  • 耐心. 这事情没那么容易,但真没那么难.

反编译的实用价值(教你偷懒)

不懂偷懒的程序员,不是好程序员.

功利性价值

核心业务的复杂功能实现,可能需要一个月,但是如果你通过反编译源码级别地了解竞品,借鉴竞品,说得粗俗点,竞品脱了裤子让你观摩,那你完成这个功能可能只需要1个星期,节省了三个星期,开发效率提高300%

自我价值

只是为了工作敲代码的程序员,就有点shameless了.不应该只看到其功利性价值,更应该去挖掘自我价值,学习一些优秀程序员敲的商用级别代码; 这两个反编译过程,我是带着强烈好奇心去完成的:

  • 卧槽,怎么他们的下拉控件做的这么好?
  • holy shit,怎么他们的批注实现思路这么赞呢? 非常珍惜这种好奇心.好奇心是个好东西,会驱动你去做更多以前没做过的事,让你有更多激动人心的发现,会更加想变得优秀,当然,也会让自己更加开心.

About

作业盒子批注控件反编译

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages