移动互联培训总结

经过一个学期的学习,课程都结束了,同时从暑假开始培训,历时一个学期的时间不断开发学习的移动互联培训也算是告一段落。通过这一次的开发培训,学到很多新知识的同时自己的思想也有了很多转变。

首先说一下自己在这一学期中通过这次培训,开发学到的新的知识。

1.  对Android的组件、布局有了基本的了解与应用

Android中有四大组件:Activity、Service、Broadcast、ContentProvider。通过开发可以发现在Android中Activity是最经常用到的,每一个Activity都有自己的生命周期,即一个Activity产生、运行、销毁的过程。在Android中Activity是用户交互的界面,用户通过Activity传递消息,展示接收到的消息。Service的级别与Activity相似,只不过Service是长期运行在后台的,并不需要一个与用户进行交流的界面。BroadcastContentProvider在此次开发中并没有用到,知识对其有了基本的认识,以后如果有要用到这两个组件的情况可以很快的明确改如何去实现。

Android中五大布局LinearLayout、TableLayout、RelativeLayout、AbsoluteLayout、FrameLayout。这五种布局在培训的时候都有尝试使用过,在开发中常用的是线性布局(LinearLayout)与相对布局(RelativeLayout),而且布局之间有时候进行嵌套应用会使布局更加美观。

2.  对Android中的MVC、监听器等模式有了直观的认识

MVC模式是一种框架模式,其将业务模型、视图、控制器进行分离,在改动其中一个层次的时候,另外两个层次是不需要改变的。我认为MVC模式是在开发中我接触最多的,例如在进行图片拼接处理的时候:M(Model)就是数据处理的逻辑,我定义的ImageBean就是对Image进行处理逻辑的封装;V(View)就是我用到的自定义View以及Acdroid的View,他们用来与用户进行交互,将用户请求通知到系统,并且实时根性显示;C(Controller)是对程序的控制,就是用来连接M与V的连接器,我用的Activity就是中转站,沟通数据逻辑类与View类。

监听器模式在我看来就是对Activity中的点击、时间触发等事件的监听,就是对Listener的实现。当点击到某一个Button的时候触发监听事件就是监听器模式的应用。在应用监听器模式的时候要对应用到的某一类监听事件进行实现,继承对应的类或者是接口。

接下来谈一下我在开发中主要应用到的技术。

1.  应用到了自定义控件以及对数据处理的封装

在图片拼接中montage/view包下边就是对自定义控件的实现。在设置图片的时候我使用自定义的view,设置了每一行图片显示的数量,在组件框中要显示几行的图片,选中图片之后图片如何进行变化。还对数据处理进行了封装,可以进行复用。

2.  应用了canvas进行绘图

在进行图片拼接的时候我用到了8种拼接模板,这些模板都是通过canvas绘制到客户端上边的。模板通过计算屏幕中的点来得出,可知模板是分成了很多小的分块的,每一个分块只需要计算四个顶点就可以确定了。在绘制图形的时候只需要重写View的onDraw函数就可以完成模板的绘制了。

    在开发中遇到的问题以及得到的认识。

1.  代码同步问题

开发的过程中人员之间不同时开发,不好做同步。虽然小组成员经常在线上进行讨论,也会有线下会议,但是开发的时候都是个人进行开发,晕倒问题不好进行交流,而且开发之后不好进行同步。我们小组虽然在开始的时候就说通过Gif进行代码的版本管理,但是最后的效果并不好,最终的代码同步都是通过手工进行的,这种同步方法绝对要不得!!!很烦恼,因为在同步的时候可能会改多了一点点,或者是改少了一点点,接下来或是返回到上一个版本,从新进行同步,或是进行改错,都是非常浪费时间的事情。因此下一次有团队开发的时候一定要用好版本管理工具,做好代码的版本管理,减轻工作量。

2.  进度问题

小组的进度没有做好控制。任务往往都会成为deadline或延期,我认为这根小组的组长有很大的关系,其中之一是组长的带头作用做的不好,往往也是把任务拖到了最后期限才开始赶进度,其次是没有调动好小组的积极性,应该和小组成员多进行交流,多做项目的阶段总结,让小组的成员了解项目的进度,以调动更大的积极性。

3.  代码重构问题

代码重构是很重要的,代码经过重构会显得更简练移动,可以省略很多的冗余代码。这也是我在最后查看项目的时候发现的:在几个模块中都用到了加载、显示图片。但是我们并没有对这些公有的属性、方法进行封装,使得每一个模块里边都有这一段代码,在编写设计文档的时候发现这样做真的使代码很复杂,如果把这两段代码提取出来进行封装,代码阅读的时候会更容易。

通过这次开发我认为自己最大的收获并不是学到的Android开发的知识,而是对项目负责人怎样组织团队,怎样管理项目的认识。作为一个项目的负责人,除了代码能力要过关还要知道怎样去带动团队的积极性,提高自己团队的整体能力,提高团队的开发效率。在之后的学习、开发中我要努力培养自己这方面的能力,因为如果在这个行业中,我自己不想一直走开发这条路,必定要成为这个行业中的管理者,或者不从事这个行业,因此一定要注重培养自这方面的能力。

相关内容推荐