1. 程式人生 > >碼農人生——從未學過Android如何開發Android App 案例講解-第002期案例

碼農人生——從未學過Android如何開發Android App 案例講解-第002期案例

等號 包括 one -- and class log 操作數 text

標題有點晃眼,本次分享是002期博文的實踐故事,不會有任何代碼、也不會教別人android 如何開發,類似博文已經有大批大批,而且還會有陸陸續續的人寫,我寫的文章,主要是經驗之談,希望總結出的一些方法論能夠給你哪怕是一丟丟的啟發,我也是成就感爆棚。

這個項目大約是我2016年做過的第一個Android客戶端,對於Android客戶端我個人不太喜歡開發,在2014年那時候我有接觸過類似項目,但是沒有去做。

業務場景是這樣的,當時公司做健康福利的方面的產品,具體就是跟上遊大廠談他們的渠道,然後打包服務賣給企業,是toB的業務。PCHTML5開發很順利,IOS當時招聘了一個(我主要更多的是架構、管理工作),Android

客戶端當時沒有人員,我們後端是Net,為了給公司節約成本,我們決定讓公司一小夥去轉Android客戶端編程。

入門全靠師傅帶,關鍵我們沒有一個人會Android客戶端編程,我又跟員工誇下海口,說誇語言編程其實很簡單,於是我就擔任項目基本架構和初期版本的搭建,也擔任了師傅的角色。因為之前順利入坑了IOS,對於Android客戶端我信心爆棚。

這裏按照上一章節《碼農人生--如何快速使用從未學過的語言實現項目開發!》講述的方法

技術分享圖片

1.基本語法的了解


此步驟學習方法
1.采用類比法,就是與你熟悉的語言比較
2.邊看邊練習
3,定期總結出博客文章投放出來

由於Java的語法跟C#的語法很像,感覺C#的設計是從Java那邊來的靈感,或者是一次升級,對於Java的基本語法找了個簡單的教程看了一遍,記得當時是在谷歌搜索的教程。花了半天時間做了些簡單的事例,實際上應用過程中還是有差異,比如一開始總是把字符串的等號操作直接寫成==,而不是equal,就就是從C#轉Java的bug。

這個階段前前後後大概3天的時間

2.對於目標業務需求的分析


主要是技術點和架構,我們的客戶端是以信息類為主的,跟我上篇提到的《Ios保險TPA客戶端》的分析點基本是一致的,如果信息管理系統可以叫做操作數據庫的系統,那麽此類信息管理類客戶端可以叫做操作接口API的應用。除了一些基本的界面事件,剩下的就是與服務器接口的操作交互。

此步驟學習方法
1.分類 我分析的通常是信息管理類、工控客戶端等
2.分層分析,界面層、後臺代碼事件、服務層的業務邏輯
3.功能分析,寫出主要由哪些功能組成,有哪些關鍵技術

由於這次的軟件規模要大於我上次的《Ios保險TPA客戶端》我簡單列出本次客戶端的技術要點

1).UI事件操作、跳轉、本地緩存、嵌入H5

2).網絡操作postgetJson的序列化與反序列化

3).上傳圖片(多圖上傳)

4).集成支付寶、微信支付、其他支付方式需要考慮擴展性

5).LBS定位、地圖的嵌入

6)功能上需要做模塊化,就是可增加減少模塊(我的模塊包括體檢、專家特許門診、海外醫療、網上藥店等等)

因為本次我的終點是對android客戶端實現基礎的架構,和具體的實現,後面則交給同事去繼續開發。我的側重點則在於架構。

這個階段前前後後大概2周的時間,實際上花多少時間取決於具體看業務項目的體量和你的經驗。

3.項目架構與關鍵技術


感謝這個時代,那些具有嚴謹思維而又能夠開源代碼供學習者學習的人,我第一步的計劃就是從那些大的穩定的開源項目中把基礎的架構扒出來。當時我找到的是OSChina,因為之前開發Ios有接觸過,覺得oschina寫的開源的還是可以的。

對於如何參考開源項目,我的見解是如果是自己公司的項目,開源項目則不要直接拿來用,哪怕你一行一行代碼復制,你搬過來,你自己知根知底。如果是外單項目以賺錢為目的的,那你就可以直接用。

此步驟學習方法
1.分析哪種架構方式容易完成項目,通常是三層架構
2.找到類似開源項目或參考其他已有項目
3.搭建腳手架項目,實現關鍵技術

我主要參考了oschina(https://www.oschina.net/app)的地方,具體源碼在(https://gitee.com/oschina/android-app)

a.程序目錄架構 比如 uiactivitybean放實體類、adapter放適配器等等。

b.編寫的主要風格,比如命名風格、規則等

c.那些關鍵技術我直接copy代碼到項目中來

這個階段2周時間,跟第二點是有部分時間是重疊的。

4.項目編碼階段


完成上面的幾個階段,實際上編碼工作就簡單了,架構和基礎的腳手架做的好的話,剩下的就是敲代碼、解決細節問題。

這個項目實際上後面不是開發,具體是同事繼續開發,我只是寫了幾個功能點,然給他講解如何寫。具體時間就貼出來。

5.上線


android主要是碎片化測試,兼容性測試,我們當時通過網上在線測試服務實現不同機型測試。測試完後就進行了上線,總體反饋還是不錯,有些bug,後期陸陸續續修改了。

希望你喜歡上面的分析,有什麽問題可以直接留言交流謝謝。

所謂學以致用,我曾經學過的,那些沒用過的技術基本忘光。下一期我將整理下技術人在互聯網變現的內容,盡請期待。

完!

往期博文


01.碼農人生-作為碼農的你如何掙錢-記2018年總結

02.碼農人生--千裏之行始於足下--如何執行我的新年的計劃--第001期博文

03.碼農人生-如何快速使用從未學過的語言實現項目開發-第002期博文

碼農人生——從未學過Android如何開發Android App 案例講解-第002期案例