大四上学期进入实习阶段,在学校那叫个什么都不会,很少写代码,要做什么都不知道,这样的我去实习简直是痛苦至极。进如公司的第一个月,老大让我写一个计算器,一边看老罗的视频一边写代码,看视频也是看得似懂非懂,一个十几分钟的视频可能要看一个上午才能慢慢明白,对一个没什么代码经验的我来说那叫个痛苦。写了一周,实现了基本的四则运算,但是有些bug,胸无点墨,实在是弄不下去了,写了一半就放弃了,这样过了一个月。第二个月老大让我写一个秒表,还是边看视频边做,做了两周基本成型,实现了基本的功能,老大让我修改一下页面的左右滑动效果,这个可把我折腾苦了,看到网上的那些例子,脑袋都看大了,就这简单的一个功能把我折腾了一周,最后请教了一个做过类似功能的同事,说道用FragmentActivity添加Fragment实现页面滑动效果,两个Fragment作为要滑动的页面,Fragment作为容器。我试了下(大概又用了两天),最后实现了滑动功能,但是最后还是遇到了问题,这两个Fragment不能互相通信,这可把我急坏了,同事说用广播,结果我在网上查了一下,广播不能直接用于两个fragment通信,怎么办?又苦思了一天,晚上加班的时候跟同事讨论问题,Handler的用法,这才给了我灵感,既然handler是用来发送消息和处理消息的,那我为什么不用handler试一下?第二天来到公司,把我的程序添加log输出日志信息,查看我用handler传递消息是否能行,弄了一上午,学会了用Log,那个时候思路瞬间清晰,最后实现了通信,竟然只用了几行代码就实现了!最后我在思考,为什么这么简单的功能我浪费了这么长的时间?因为我的思路不够清晰,没有去仔细研究问题出在哪里,第二个原因是,对程序的运行动态没有掌握,没有熟练的运用用Log工具输出日志信息,导致没有掌握程序的执行过程,没有好好利用断点调试功能,这两个大原因,导致我在实现功能上浪费了许多时间。
其实,android要实现一个功能并不难,首先你要只要实现此功能要用到什么工具类,然后去网上搜一些资料,结合着API看一下,然后逐个实现功能,比如,你要让一个指针(图片)转动,那就单独建立一个工程去实现这个图片的旋转功能,这样各个击破,最后整合在一起,就是一个完整的应用了。在实现过程中要经常使用用Log和断点调试跟踪程序的运行,掌握程序运行动态。