安卓app開發如何運用?
2018-01-10

移動互聯網用戶數量、終端數量已經非常龐大,并且還在迅速增長。目前移動端已經有用戶量達到億級以上應用,千萬級用戶量的應用數量則更多,然而目前大部分應用的卻仍然難以盈利。

由于移動終端的特色和限制,許多傳統互聯網的盈利方式已經不再適用于移動互聯網,已經獲得了巨大流量的應用紛紛開始探索商業化盈利之路。

從開發的角度來介紹如何開發一個Android App,需要說明一點是,這里只是提供一個如何開發一個app的思路,并不會介紹很多技術上的細節,從整個大局去把握如何去構思一個app開發,讓你對獨立開發一款app的時候有個理解,如果有說的不對的地方,歡迎大家拍磚留言討論。

一、開發環境

Android應用層使用的開發語言是Java,自然需要用到Java運行環境,無論你在Window是系統還是Mac系統都需要安裝JDK,并且配置它的環境變量,不懂什么叫環境變量的或者不知道怎么配的,請利用好自己的百度技能自行學習。

1、模擬器

Android自帶的模擬器一直廣受詬病,實在是太卡太慢了,對比人家IOS模擬器是那么的流暢,Android開發者直喊好苦逼啊,不過還好后面出了第三方比原生流暢n倍的模擬器Genymotion,大家可以去下一個個人版的夠你平時開發測試用了。最好的辦法還是使用真機測試,畢竟真機才是真實的環境。

2、Android核心基礎

前面是準備工作,想開發一款Android app,你最起碼要掌握Android的核心基礎知識,針對初學Android的童鞋,想一口吃掉一個胖子是不可能的,還是得把基礎打牢之后才能完成獨立的開發,Android入門不難,學完基礎你只是具備開發app的基本條件,想做一個優秀的app還有很長一段路要走。

3、產品開發流程

正常的互聯網開發app的流程大致如下:

  • 產品規劃,定產品方向 

  • 需求調研,產出需求文檔 

  • 需求評審,修訂需求文檔 

  • 產品狗畫app線框圖提供給射雞師 

  • 射雞師根據線框圖設計視覺稿 

  • 程序猿根據視覺稿搭建UI框架 

  • 程序猿根據需求文檔開發功能 

  • 測試媛編寫測試用例,根據排期進行測試 

  • 程序猿修復回歸測試反饋的bug,提交beta版 

  • 測試通過,提交給運營喵發布到渠道上線

4、快速搭建項目

Android比沒有想象那么難,只是剛開始要學習的東西多,一下子消化不了才會比較茫然,筆者寫這篇博客就是想幫助大家整理一下開發思路。

快速搭建項目也算是一項技能,而這項技能只能由你自己來完善,剛開始做開發的時候一定會有很多重復性的工作,如果沒有意識去提高自己的開發效率的話,可能你的十年工作經驗代表的只是一年的經驗用了十年而已。

二、定開發規范

1、一個項目一般不會只有一個人獨立開發,就算是獨立開發,我們也應該定一下開發規范,一般會有什么樣的規范? 

  • 命名規范 

  • 代碼規范 

  • 代碼管理規范

2、命名規范

  • 命名規范包括: 

  • 項目命名 

  • 包命名 

  • 類命名、成員變量命名 

  • 資源文件命名 

我們做每一個產品都會有相應的命名,不要用中文來命名,最好用能表達中文意思的英文來表示,例如CSDN客戶端,可以用CSDNClient作為命名,我們創建項目的時候可以以它作為Application name。 

3、代碼規范

代碼規范視語言而定,開發android使用的是Java,自然要按照Java的編碼規范進行編碼,比如命名采用駝峰命名法,編碼的時候也要符合Android的開發規范,比如UI線程不做任何耗時的操作,像網絡請求、數據庫操作都需要放到子線程中去做,只有UI的刷新才在UI線程中做,像這些規范,可以根據自身在項目遇到的問題來定,定規范的好處就是減少踩坑的幾率,提高開發的質量。

4、代碼管理

對于一個經常更新迭代的產品,不可能由頭到尾不變,這個時候我們需要對代碼進行分支管理,最好使用git代碼倉庫對代碼進行管理,作為一個合格的開發者連git都不用實在說不過去,還用svn的童鞋趕緊放棄它投入git的懷抱,它的好處是不言而喻的,自己去體會。

5、搭建UI框架

我們的app如果不出意外一定是其中的一種導航模式,一般線框圖出來我們就應該知道即將要開發的app長什么樣子,開發者不必等視覺稿和素材出來才開始動工,我們先大致搭個架子,等視覺稿出來之后我們再做調整。

6、選用開發庫

一般我們app涉及到的庫會有: 

UI框架(比如下拉刷新PullToRefresh、側滑菜單Slidingmenu) 

網絡請求庫(比如okhtttp、AndroidAsyncHttp、Volley) 

數據操作庫(比如GreenDao、Ormlite) 

圖片緩存框架(比如Universal-Imageloader) 

數據解析庫(比如Gson)

之所以要選用這些庫,肯定是為了避免重復造輪子,在開發效率的角度來說,選用優秀的開源庫能大大縮短開發周期和提高開發效率,但從個人提升角度來看的話,我們可能就成了一個只會用API的程序猿了,如果想提升的話,造輪子或者分析這些優秀的源代碼是一個不錯的途徑。

7、第三方服務集成

我們開發app的時候,肯定會遇到一些需求,比如推送的需求、自動升級、數據統計、社會化分享、用戶反饋等等,然而對于一個剛起步的企業或者個人開發者的話,全都要自己去開發的話,那豈不是累死,像推送這種有一定的技術門檻,能做好都能成立一家公司了,所以選用一些第三方服務是一個可選之舉。如果說你以后做大了,用第三方怕不好控制,那就自己做唄,有錢任性招兵買馬就自己做,誰叫咱有錢呢。

前面這些東西開發一個app夠了,開發出來能不能用還得有靠譜的測試,有沒有crash,操作流不流暢,體驗好不好才會有用戶去用。這里不從產品的角度去評判一個app的好與壞,程序員要考慮的是從代碼層面、性能層面去讓我們的app變得更好。

8、云測

我們開發完畢之后,需要給測試工程師進行基本的功能需求測試,他們傳統的做法就是根據事先寫好的測試用例來做回歸測試,再把測試出來的bug反饋給工程師,工程師再去修bug,但這樣實在是太不靠譜了,有時候我們太在意功能而忽略了一些更重要的東西,那就是體驗,給用戶最直接的感受就是你這個app夠不夠驚艷,夠不夠流暢,用戶可能根本就不在乎你這個功能做的有多牛逼。

所以我們更應該從非功能性方向去做測試,我們的目的是讓用戶用的爽,而不是加一些亂七八糟的功能。那怎么測非功能性的一些因素,這里就要提到『云測』這個東西,因為現在設備太多了,如果公司要買一堆設備來做測試,那得多少成本,況且設備更新得太快,你根本就跟不上,所以就有了云測這個東西,它是一個云測試平臺服務,提供了一大批主流機型,我們就直接省去購買設備的成本,還能得到完善的測試報告。

9、打包上線

前面的開發環節、測試環節都沒問題之后,你離實現一個app的完整開發就不遠了,正常的互聯網公司,會把簽名打包的apk給到運營,交給他們去寫文案,上傳到應用渠道,讓渠道給我們去首發和推廣。如果是個人開發者,這些工作就得我們自己做了。


本文來源于:杭州app開發