码农人生——从未学过Android如何开发Android App 案例讲解-第002期案例
?
標題有點晃眼,本次分享是002期博文的實踐故事,不會有任何代碼、也不會教別人android 如何開發(fā),類似博文已經(jīng)有大批大批,而且還會有陸陸續(xù)續(xù)的人寫,我寫的文章,主要是經(jīng)驗之談,希望總結(jié)出的一些方法論能夠給你哪怕是一丟丟的啟發(fā),我也是成就感爆棚。
這個項目大約是我2016年做過的第一個Android客戶端,對于Android客戶端我個人不太喜歡開發(fā),在2014年那時候我有接觸過類似項目,但是沒有去做。
?
業(yè)務(wù)場景是這樣的,當時公司做健康福利的方面的產(chǎn)品,具體就是跟上游大廠談他們的渠道,然后打包服務(wù)賣給企業(yè),是toB的業(yè)務(wù)。PC和HTML5開發(fā)很順利,IOS當時招聘了一個(我主要更多的是架構(gòu)、管理工作),Android客戶端當時沒有人員,我們后端是Net,為了給公司節(jié)約成本,我們決定讓公司一小伙去轉(zhuǎn)Android客戶端編程。
?
入門全靠師傅帶,關(guān)鍵我們沒有一個人會Android客戶端編程,我又跟員工夸下海口,說夸語言編程其實很簡單,于是我就擔(dān)任項目基本架構(gòu)和初期版本的搭建,也擔(dān)任了師傅的角色。因為之前順利入坑了IOS,對于Android客戶端我信心爆棚。
這里按照上一章節(jié)《碼農(nóng)人生--如何快速使用從未學(xué)過的語言實現(xiàn)項目開發(fā)!》講述的方法
?
?
1.基本語法的了解
?
此步驟學(xué)習(xí)方法
1.采用類比法,就是與你熟悉的語言比較
2.邊看邊練習(xí)
3,定期總結(jié)出博客文章投放出來
?
由于Java的語法跟C#的語法很像,感覺C#的設(shè)計是從Java那邊來的靈感,或者是一次升級,對于Java的基本語法找了個簡單的教程看了一遍,記得當時是在谷歌搜索的教程。花了半天時間做了些簡單的事例,實際上應(yīng)用過程中還是有差異,比如一開始總是把字符串的等號操作直接寫成==,而不是equal,就就是從C#轉(zhuǎn)Java的bug。
這個階段前前后后大概3天的時間。
?
2.對于目標業(yè)務(wù)需求的分析
主要是技術(shù)點和架構(gòu),我們的客戶端是以信息類為主的,跟我上篇提到的《Ios保險TPA客戶端》的分析點基本是一致的,如果信息管理系統(tǒng)可以叫做操作數(shù)據(jù)庫的系統(tǒng),那么此類信息管理類客戶端可以叫做操作接口API的應(yīng)用。除了一些基本的界面事件,剩下的就是與服務(wù)器接口的操作交互。
?
此步驟學(xué)習(xí)方法
1.分類 我分析的通常是信息管理類、工控客戶端等
2.分層分析,界面層、后臺代碼事件、服務(wù)層的業(yè)務(wù)邏輯
3.功能分析,寫出主要由哪些功能組成,有哪些關(guān)鍵技術(shù)
?
由于這次的軟件規(guī)模要大于我上次的《Ios保險TPA客戶端》我簡單列出本次客戶端的技術(shù)要點
? ? ? ?1).UI事件操作、跳轉(zhuǎn)、本地緩存、嵌入H5
? ? ? ?2).網(wǎng)絡(luò)操作post、get,Json的序列化與反序列化
? ? ? ?3).上傳圖片(多圖上傳)
? ? ? ?4).集成支付寶、微信支付、其他支付方式需要考慮擴展性
? ? ? ?5).LBS定位、地圖的嵌入
? ? ? ?6)功能上需要做模塊化,就是可增加減少模塊(我的模塊包括體檢、專家特許門診、海外醫(yī)療、網(wǎng)上藥店等等)
? ? ? ?因為本次我的終點是對android客戶端實現(xiàn)基礎(chǔ)的架構(gòu),和具體的實現(xiàn),后面則交給同事去繼續(xù)開發(fā)。我的側(cè)重點則在于架構(gòu)。
? ? ? ?這個階段前前后后大概2周的時間,實際上花多少時間取決于具體看業(yè)務(wù)項目的體量和你的經(jīng)驗。
?
3.項目架構(gòu)與關(guān)鍵技術(shù)
感謝這個時代,那些具有嚴謹思維而又能夠開源代碼供學(xué)習(xí)者學(xué)習(xí)的人,我第一步的計劃就是從那些大的穩(wěn)定的開源項目中把基礎(chǔ)的架構(gòu)扒出來。當時我找到的是OSChina,因為之前開發(fā)Ios有接觸過,覺得oschina寫的開源的還是可以的。
對于如何參考開源項目,我的見解是如果是自己公司的項目,開源項目則不要直接拿來用,哪怕你一行一行代碼復(fù)制,你搬過來,你自己知根知底。如果是外單項目以賺錢為目的的,那你就可以直接用。
?
此步驟學(xué)習(xí)方法
1.分析哪種架構(gòu)方式容易完成項目,通常是三層架構(gòu)
2.找到類似開源項目或參考其他已有項目
3.搭建腳手架項目,實現(xiàn)關(guān)鍵技術(shù)
?
我主要參考了oschina(https://www.oschina.net/app)的地方,具體源碼在(https://gitee.com/oschina/android-app)
? ? ? ?a.程序目錄架構(gòu) 比如 ui放activity、bean放實體類、adapter放適配器等等。
? ? ? ?b.編寫的主要風(fēng)格,比如命名風(fēng)格、規(guī)則等
? ? ? ?c.那些關(guān)鍵技術(shù)我直接copy代碼到項目中來
? ? ? ?這個階段2周時間,跟第二點是有部分時間是重疊的。
?
4.項目編碼階段
完成上面的幾個階段,實際上編碼工作就簡單了,架構(gòu)和基礎(chǔ)的腳手架做的好的話,剩下的就是敲代碼、解決細節(jié)問題。
這個項目實際上后面不是開發(fā),具體是同事繼續(xù)開發(fā),我只是寫了幾個功能點,然給他講解如何寫。具體時間就貼出來。
?
5.上線
android主要是碎片化測試,兼容性測試,我們當時通過網(wǎng)上在線測試服務(wù)實現(xiàn)不同機型測試。測試完后就進行了上線,總體反饋還是不錯,有些bug,后期陸陸續(xù)續(xù)修改了。
?
?
希望你喜歡上面的分析,有什么問題可以直接留言交流謝謝。
所謂學(xué)以致用,我曾經(jīng)學(xué)過的,那些沒用過的技術(shù)基本忘光。下一期我將整理下技術(shù)人在互聯(lián)網(wǎng)變現(xiàn)的內(nèi)容,盡請期待。
完!
?
往期博文
?
01.碼農(nóng)人生-作為碼農(nóng)的你如何掙錢-記2018年總結(jié)
02.碼農(nóng)人生--千里之行始于足下--如何執(zhí)行我的新年的計劃--第001期博文
03.碼農(nóng)人生-如何快速使用從未學(xué)過的語言實現(xiàn)項目開發(fā)-第002期博文
轉(zhuǎn)載于:https://www.cnblogs.com/fishpro/p/10237255.html
總結(jié)
以上是生活随笔為你收集整理的码农人生——从未学过Android如何开发Android App 案例讲解-第002期案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冲上热搜!快手宣布取消大小周
- 下一篇: android sina oauth2.