Android項目實戰經驗分享
項目接近尾聲,調試測試階段。覺得一個項目完了之后,還是收獲比較大的,在這里和大家分享一下。
首先一個項目要開始開發,需要先等三個東西 1、原型圖 2、UI效果圖 3、接口
原型圖是最先給到你的,通過原型圖,可以對整個項目的流程功能有一個初步的了解,進而可以開始搭建項目的雛形框架,如果是資訊類app,,網絡框架就可以使用Volley,網絡圖片加載較多可以考慮ImageLoader諸如此類。但對于新手而言,使用快速開發框架是一件很爽的事情,現有框架大都有詳細的API文檔或者Demo,上手起來很快很爽,節約時間,代碼也很簡介清爽。但凡是都有利有弊,框架在提升開發效率的同時,犧牲的是應用性能。舉個簡單列子,注冊類框架,只需要在通過在屬性框架上加上控件ID,就實現了控件的綁定和初始化。再也不用的繁瑣的findViewById 在進行強轉操作。其內部則是通過反射加注解的方式實現控件的綁定和初始化,稍微有點基礎的同學應該知道,反射這玩意有多吃性能。所以在選擇快速開發框架的時候,需慎重。權衡其中的利弊,個人建議不要使用注解類框架
緊跟著你拿到的就是UI效果圖,這也是Android開發中最蛋疼的一塊東西。自定義控件、屏幕適配、版本適配什么的讓人蛋疼。
最后拿到了就是接口文檔了,這一塊你的看運氣,如果服務端哥們比較給力,什么請求方式,請求參數,數據類型,返回格式都給你寫的清清楚楚明明白白的話,就相當nice了。遇到坑的服務端,你就先哭一會吧。這一塊東西,最好在設計的時候,你就參與進去,不要別人怎么弄,你就怎么實現。如果是大公司,都有自己的一套規格規范,這就沒什么問題。但如果是小公司,你就得去和服務端的哥們商量商量這玩意怎么弄,最好是度娘里面找一篇比較靠譜的模版來改改。不然后期真的很蛋疼。關于調接口的話,如果是普通GET請求,可以想拼好URL,先在瀏覽器上測一下,第一看能不能拿到數據,第二看數據格式是否符合你的預期,這能節省你很多時間。
接下來的時間,就是盡情擼代碼的時間。下面是小白的做完一個項目之后一點小小建議與收獲忘大神勿噴。
一、框架選擇
訪問網絡Volley 個人比較喜歡使用Volley ,不僅速度快,而且非常靈活,自己進行一下簡單的二次封裝,用起來真的很爽
xUtils 這是一個很黃很暴力的框架,基本上一個應用用這樣一個框架就夠,訪問網絡、存儲數據、注解框架、加載圖片。
zxing 一個二維碼的框架
二、第三方SDK
百度地圖SDK 關于百度地圖的是同官方文檔都寫的很清楚,害怕看文檔的同學,可以看demo,或者里面有個快速開發,分分鐘上手
友盟SDK 一個很強大的SDK 統計和自動更新使用起來很方便,特別是統計,頁面統計,錯誤Log日期記錄等等
環形IM 即時通訊
三、自定義控件
這也是Android開發里面最難的一部分
自定義ImageView 現在很多需要都需要圖片圓角處理,這個控件必不可少,我上一篇帖子就是專門講自定義ImageView有興趣可以去看看
下拉刷新下拉加載ListView GridView 也必不可少,實現起來稍微麻煩一點,新手同學也可以是同第三方庫PullToRefresh 一個比較好用的第三方刷新框架
主頁樣式 ViewPager +Fragment
四、BroadcastReceiver是個好東西
個人覺得廣播是一個非常好用的組件。實現組件間通信非常方便。舉個商城的列子,商品加入購物車,購物車數量加1,實現方式有很多,發送廣播、接口回調等等,
但個人覺得發送廣播更符合Android程序設計。而且方便,易于拓展,代碼也很干凈。如果你覺得廣播太麻煩也可以是同EventBus等組件通信框架
最后,談一些小技巧
1、多用工具類 把一切重復的判斷,重復的操作抽取成工具類 比如:Toast 、Dialog 分別一個工具類,用于彈框和吐司的統一管理,重復類似的模塊一定要統一管理,血的教訓,當需求變更的時候。
2、Activity跳轉替換。當一個功能需要分幾個頁面完成時,這就很蛋疼了,要么再起Activity,要么揉再一個Activity里,大多數推薦使用Fragment。再起Activity耗資數據傳遞很麻煩、揉在一個Activity里面,代碼不好管理,使用Fragment數據傳遞還是不方便,而且蛋疼的Fragment生命周期還不好管理。個人推薦使用Dialog,對,你沒有聽錯,創建一個類繼承Dialog,把這個Dialog設置成全屏的模擬成一個Activity,當一個功能被分成幾個頁面處理的時候,這樣用起來非常之爽,不用管Fragment蛋疼的生命周期,代碼也易于維護。
3、 推薦使用MVP模式,至于這個模式如何使用和好處,我這里就不再贅述,又興趣和度娘找找Demo,或者給我私信