zoukankan      html  css  js  c++  java
  • 项目总结:华南师范大学校园开发教育android客户端总结

        忽略之前小打小闹,这个项目算是我的第一个项目--SCNU的网络公选课的android版本的客户端。项目是从5月中旬开始的,中间经历了几个星期的复习考试时间,到现在可以说是完工了吧(或许还有写细节要修改)。这个项目带给我蛮多的经验,包括android开发及其它,所以有必要写写总结。

        项目的故事版是另外一个负责iphone版本的同学设计的,所以界面就有仿照iphone的样子,其实正如kinfey(boss)说的,一个项目的不同平台还是要有自己平台的特性,所以下个项目不同平台就会有不同的故事版。项目的具体功能是实现学生、教师、管理员都可以通过移动app实现相关操作,可以看视频、看论坛、发帖、回复、看作业、看统计...相关总结如下:

    1、故事版

        所谓故事版就是项目的整个设计图,具体包括整个界面初型。其实故事版是kinfey保留的习惯,我觉得这对于整个项目的实施时有好处的。有了故事版,就清楚了整个项目的功能逻辑,这样不会是在开发中混乱功能需求;其次,故事版也利于整个项目技术难点的掌握。

    2、一程序猿一美工

       这也是kinfey的工作习惯。这种模式对于项目不是很大的项目还是不错的,因为他给程序猿够大的自由度,能更好的把握全局。所以这个项目的android及iphone客户端就三个人,两个程序猿,一个美工。

    3、全局观

        这次项目因为要做学生、教师、管理员三个角色都可以使用的客户端。因为三者界面是相似的,所以一开始就像先实现学生端的,但是在后来想加例外两个的时候,但是很多命名都是命为学生的,不符合命名规范,所以要取改,这是很烦人的活,因为很容易出错。

    4、android的多分辨率问题

       这也是项目中比较棘手的问题,一开始因为没想好怎么解决,所以导致美工做了无谓的工作。其实一套图是可以解决的:只叫美工设计一套高分辨率的图,然后所有的图都要按比例缩放。网院的彭老师的经验:保持你的图在父容器中的相对位置不变。其实就只有一句话,保持比例不变。只有这样,图片才不会变形。(相关可参照android:屏幕自适应

    5、关于tab内的多视图跳转

       这个也困扰了我近2天,问题是这样的:android的tab在跳转时下面的tab bar 会消失,其实是转到了其它的activity,离开了tab,没有iphone的tab的跳转的样子,最后的解决是使用Tabhost+Fragment ,Fragment是3.0之后的新特性,其原始目的是实现分页的效果,如同iphone的splitView,不过可以利用它来管理Fragment。实现一开始提到的效果,具体可以参照:Android Tabhost with FragmentActivity
    6、gson

       这次解析json的是用到gson库。还蛮好用的,注意解析时的Model只要所需的数据就行,不用全部,一开始以为要全部都设的,一大堆get set.....

    7、MVP

       MVC大家一定不会陌生,model view controller。而MVP的模式则是MVC的改进,view与model的交互要通过Presenter。这种模式也是与kinfey之间的“约定”。使用此模式,这个程序是层次分明的,开发感觉有点像iphone的一个View对应一个Controller的感觉。结构分明了,各种事情都会好办很多,发现问题也快很多。相关可参照

      http://jamespeckham.com/blog/10-11-21/MVP_on_Android.aspx 里面会有提到一个示例模板,照做就行,其优雅还是在应用到项目中才会体会到。

    8、异步

       iphone中的异步使用gcd可以实现。原以为android的要自己管理线程类,所以觉得很麻烦。后来发觉原来没有这么没“人道”,哈哈,android的异步是使用AsyncTask来实现的。异步是后来才加的,操作起来是比较简单的。这有部分是MVP模式的功劳。

    9、activity栈及程序退出

        程序要注意返回Button和物理返回键的逻辑统一。这就要对activity栈有相关的理解。同样 程序的退出也于此有关,现在实现的是通过全局变量的方式去解决,但总感觉此方法不是很优,需找其它解决方法吧。

     

    程序以为有签保密协议,是不能贴上来的,不过可以贴贴几张图......美工老师蛮给力的哦!

                     

           

    (截图是在模拟器截的,所以tab显示不太正常,本来是有字显示的)

    总结至此,继续加油,MYBKN!

     

     

     

     

     

     

       


    作者:老Zhan
    出处:http://www.cnblogs.com/mybkn/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    ural(Timus) 1019 Line Painting
    ACMICPC Live Archive 2031 Dance Dance Revolution
    poj 3321 Apple Tree
    其他OJ 树型DP 选课
    poj 3548 Restoring the digits
    ACMICPC Live Archive 3031 Cable TV Network
    递归循环获取指定节点下面的所有子节点
    手动触发asp.net页面验证控件事件
    子级Repeater获取父级Repeater绑定项的值
    没有列名的数据绑定
  • 原文地址:https://www.cnblogs.com/mybkn/p/2590743.html
Copyright © 2011-2022 走看看