《磨礪書店》項目技術匯總(磨礪營馬劍威Android)

【威哥說】5月4日開班以來,1605期的學員們已經(jīng)進入的Android項目實戰(zhàn)階段了继薛,今天給大家?guī)淼氖堑谝粋€項目實戰(zhàn)《磨礪書店》,成品即將出爐诫隅,正在調試上線的最后階段,下面為大家介紹一下項目的詳情及使用技術帐偎,我們用事實說話逐纬,讓一切以抄襲偽裝項目實戰(zhàn)課程的靠邊站。

【正文】首先由小編上一組截圖肮街,強奸一下各種的眼睛风题,也歡迎提提建議,后續(xù)升級版本如果你的建議被采納會有精美禮品贈送哦

下面來說明一下本應用中使用的技術介紹:

1.androidImageIndicator實現(xiàn)首面圖片輪播嫉父,當然還有其它圖片輪播組件沛硅,比如Banner,使用組件的好處當然不言而喻了绕辖,除了使用組件摇肌,自己來實現(xiàn)也得會,可以使用ViewPager+Handler+Thread仪际,我們可不想做個只會用組件的新手围小,你知道懂原理,用組件才更放心树碱。

2肯适、數(shù)據(jù)分頁與刷新

在本項目中,我們采用了PullToRefresh和google自帶的SwipeRefreshLayout組件成榜,使用SwipeRefreshLayout來加載新數(shù)據(jù)框舔,PullToRefresh則實現(xiàn)分頁顯示數(shù)據(jù),各用所長赎婚。當然一樣的道理刘绣,拋開這些組件化,我們可以為列表添加頭部和底部挣输,監(jiān)聽滾動事件的方式實現(xiàn)自定義的數(shù)據(jù)刷新纬凤,我們一樣可以做到。

3撩嚼、后臺服務器網(wǎng)絡請求

課程中停士,我們講解了很多的網(wǎng)絡請求框架:Google的volley適合細粒度的網(wǎng)絡請求,asyncHttp完丽,基apache httpClient的封裝庫向瓷,可惜httpClient已經(jīng)Android中被廢棄,asyncHttp的作者也已不再更新舰涌,OKHttp猖任,是目前使用較多的請求組件,與picasso出自同門瓷耙,還有其它朱躺,不一一介紹了刁赖,沒有框架怎么辦?我們也可以自己封裝httpUrlConnection的方式實現(xiàn)长搀。

4宇弛、網(wǎng)絡請求數(shù)據(jù)處理

網(wǎng)絡請求后返回的數(shù)據(jù)格式通常有兩種:XML和JSON,我們可以使用PULL實現(xiàn)XML的解析源请,效率高枪芒,性能好,優(yōu)于SAX谁尸,在移動端更是優(yōu)于基于樹結構的DOM舅踪、JDOM、DOM4J良蛮;JSON數(shù)據(jù)我們使用GSON和Android3.0以后支持的JsonReader實現(xiàn)抽碌,GSON適合一些簡單的數(shù)據(jù)轉換,很方便决瞳,缺點是在處理一些復雜的JSON數(shù)據(jù)有點力不從心货徙,此時我們將使用JsonReader實現(xiàn)解析,它可以更好的控制每個元素的解析皮胡。

5痴颊、實現(xiàn)圓角圖片與圖片緩存

在項目中使用圓角圖片是目前項目開發(fā)非常常見的,我們在項目使用了android-shape-imageview來實現(xiàn)屡贺,比如個人頭像蠢棱,但其它圖書的資源圖片考慮到緩存來提高加載性能,我們使用了當今為止最為牛X的facebook出品的fresco框架烹笔,其擁有三級緩存的實現(xiàn)是迄今為止傳統(tǒng)二級緩存實現(xiàn)無法比擬的,處理圓角圖片也很簡單抛丽,漸近式加載JPG圖片谤职,GIF支持等其它圖片緩存框架有的統(tǒng)統(tǒng)都有,人家沒有的fresco也有亿鲜,總之允蜈,牛B就是了。

在課程中蒿柳,當然我們也介紹了ImageLoader饶套,一個古老的圖片緩存組件,Picasso垒探,Glide等妓蛮,這些雖然只有二級緩存,但在一些中小項目中使用也已足夠圾叼,也是很強大的蛤克。誰說我們只會用框架捺癞,我們可以使用LRU算法實現(xiàn)自己的緩存框架,比如實現(xiàn)數(shù)據(jù)的緩存构挤,內存+磁盤髓介,或數(shù)據(jù)庫緩存,我們的武器有很多筋现,選擇用什么唐础,我們心知杜明。

6矾飞、支付功能

本項目中實現(xiàn)了支付寶和微信兩大支付平臺一膨,由于兩大支付平臺不支持個人用戶,我們借助了第三方平臺實現(xiàn)支付凰慈,在實現(xiàn)微信支付時汞幢,也用到如何利用程序自帶支付插件安裝的功能,第一微谓,避免了在線下載浪費用戶流量森篷,第二,由于支付插件是使用的是第三方APK文件豺型,這樣在發(fā)布應用上線時容易被安全類應用掃描到插件仲智,此時安全應用會提醒用戶此應用是個攜帶插件的應用,為了避免這個問題給用戶帶來不必要的困擾姻氨,我們把插件重命名為.db文件钓辆,在用戶使用到支付功能時,再把.db文件寫入用戶的sdcard還原apk肴焊,再執(zhí)行插件安裝來解決這個問題前联,由于篇幅原因,想詳細了解的童鞋可以留下QQ與威哥或磨礪營的講師交流哦娶眷。

7似嗤、自定義組件

本應用中商品詳情界面的實現(xiàn)里,由于界面展示的內容比較復雜届宠,需要嵌套各種組件烁落,而組件之間相同的事件處理會發(fā)生沖突,此時我們要重寫組件的事件處理來解決沖突問題豌注,以下方法在子組件上重寫伤塌,實現(xiàn)滾動條事件攔截處理:

重寫 onTouchEvent():

//事件處理由父控件處理

requestDisallowInterceptTouchEvent(false);

//事件處理由子控件處理

requestDisallowInterceptTouchEvent(true);

8、抽象了統(tǒng)一在Adapter中實現(xiàn)的ViewHolder類轧铁,達到復用

9每聪、對于第三方組件或框架的使用,把它們封裝起來,在實現(xiàn)功能時就可以避免在任何代碼中直接訪問組件的依賴代碼熊痴,這樣的好處是他爸,在替換該組件或框架時,利于維護果善,否則需要修改所有直接調用的代碼诊笤。

10、還有一些小功能的實現(xiàn):

<1>手機驗證碼注冊

<2>顯示隱藏密碼

<3>更新頭像裁剪上傳

<4>統(tǒng)一處理程序退出

<5>自定義導航欄

<6>購物車編輯時布局的變換實現(xiàn)方案(兩個adapter加載不同的布局實現(xiàn)替換)

<7>一次登錄后保存登錄狀態(tài)自已實現(xiàn):可以在第一次通過網(wǎng)絡請求登錄后巾陕,把用戶信息保存在SharedPreferences中讨跟,下次無需再登錄直接獲取用戶信息。

好了鄙煤,今天的文章就給大家總結項目中使用到的技術及解決方案晾匠,還有一些小小的處理細節(jié),比如布局優(yōu)化梯刚,如何合理減少嵌套等就不一一列舉了凉馆,這些細節(jié)你只有在正在開發(fā)這個項目時才會真正的深刻體會,這就是項目經(jīng)驗的積累亡资。而在真正開發(fā)項目中遇到的各種疑難雜癥澜共,才是真正的長姿勢,這些锥腻,你永遠不可能在知識點的學習中掌握透徹嗦董。

更多內容關注微信公眾號mjw-java或訪問www.moliying.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瘦黑,隨后出現(xiàn)的幾起案子京革,更是在濱河造成了極大的恐慌,老刑警劉巖幸斥,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匹摇,死亡現(xiàn)場離奇詭異,居然都是意外死亡甲葬,警方通過查閱死者的電腦和手機廊勃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來演顾,“玉大人供搀,你說我怎么就攤上這事隅居∧浦粒” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵胎源,是天一觀的道長棉钧。 經(jīng)常有香客問我,道長涕蚤,這世上最難降的妖魔是什么宪卿? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任的诵,我火速辦了婚禮,結果婚禮上佑钾,老公的妹妹穿的比我還像新娘西疤。我一直安慰自己,他們只是感情好休溶,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布代赁。 她就那樣靜靜地躺著,像睡著了一般兽掰。 火紅的嫁衣襯著肌膚如雪芭碍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天孽尽,我揣著相機與錄音窖壕,去河邊找鬼。 笑死杉女,一個胖子當著我的面吹牛瞻讽,可吹牛的內容都是我干的。 我是一名探鬼主播宠纯,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼卸夕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了婆瓜?” 一聲冷哼從身側響起快集,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎廉白,沒想到半個月后个初,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡猴蹂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年院溺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磅轻。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡珍逸,死狀恐怖,靈堂內的尸體忽然破棺而出聋溜,到底是詐尸還是另有隱情谆膳,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布撮躁,位于F島的核電站漱病,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜杨帽,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一漓穿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧注盈,春花似錦晃危、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沿量,卻和暖如春浪慌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背朴则。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工权纤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乌妒。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓汹想,卻偏偏與公主長得像,于是被迫代替她去往敵國和親撤蚊。 傳聞我的和親對象是個殘疾皇子古掏,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評論 25 707
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件侦啸、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,025評論 4 62
  • 他又往墻上劃了一道線槽唾,這是第三道。肥胖先生光涂,已經(jīng)熬過了兩天庞萍。 肥胖先生,在早晨劃完這道線以后忘闻,開始放松緊繃的神經(jīng)钝计。...
    三碗閱讀 1,200評論 1 4
  • 青石,橋旁 掬一方微漾 砌宇齐佳,階上 攜一卷殘陽 暮色 是我來時方向 遠輝 促我此刻之徜 月滿私恬,如常 灑滿我衣衫上 ...
    木庭兮閱讀 135評論 1 4
  • 你是物聯(lián)網(wǎng)專業(yè),主修課程有那些炼吴? 答:計算機網(wǎng)絡基礎本鸣,嵌入式設計與應用,數(shù)據(jù)庫原理缺厉,物聯(lián)網(wǎng)技術基礎永高,傳感技術及網(wǎng)絡...
    青檬眼豆豆閱讀 327評論 0 2