項目總結:華南師範大學校園開發教育android用戶端總結

來源:互聯網
上載者:User

    忽略之前小打小鬧,這個項目算是我的第一個項目--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!

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.