-
1 # Android域星
-
2 # 電獺少女AotterGirls
前言
從開發的角度來介紹如何開發一個Android App,需要說明一點是,這裡只是提供一個如何開發一個app的思路,並不會介紹很多技術上的細節,從整個大局去把握如何去構思一個app的開發,讓你對獨立開發一款app的時候有個理解,如果有說的不對的地方,歡迎大家拍磚留言討論。
開發環境
Android應用層使用的開發語言是Java,自然需要用到Java執行環境,無論你在Window是系統還是Mac系統都需要安裝JDK,並且配置它的環境變數,不懂什麼叫環境變數的或者不知道怎麼配的,請利用好自己的百度技能自行學習。
開發工具
開發工具,Android因為歷史原因,前面很長一段時間使用的是Eclipse,我們要開發Android應用的時候需要另外安裝Google為它開發的外掛ADT,Eclipse這個開源軟體很優秀,也很專業,但僅僅只是使用它來開發Android就顯得有點雞肋了,如果沒有對Eclipse進行優化的話,會很卡很卡,後面Google實在不願意寄人籬下,就專門為我們開發者開發了目前很受廣大開發者推崇的Android Studio,現在2.0預覽版也出來啦,大夥趕緊去下吧。
Android自帶的模擬器一直廣受詬病,實在是太卡太慢了,對比人家IOS模擬器是那麼的流暢,Android開發者直喊好苦逼啊,不過還好後面出了第三方比原生流暢n倍的模擬器Genymotion,大家可以去下一個個人版的夠你平時開發測試用了。最好的辦法還是使用真機測試,畢竟真機才是真實的環境。
前面是準備工作,想開發一款Android app,你最起碼要掌握Android的核心基礎知識,針對初學Android的童鞋,想一口吃掉一個胖子是不可能的,還是得把基礎打牢之後才能完成獨立的開發,Android入門不難,學完基礎你只是具備開發app的基本條件,想做一個優秀的app還有很長一段路要走,經驗是靠不斷實踐堆出來的,找一套系統的課程去認真學習一下,線上教育的資源很多,比如慕課網,極客學院都有很多不錯的學習資源,童鞋自己擇優來學習即可。
產品開發流程
正常的網際網路開發app的流程大致如下:
- 產品規劃,定產品方向
- 需求調研,產出需求文件
- 需求評審,修訂需求文件
- 產品狗畫app線框圖提供給射雞師
- 射雞師根據線框圖設計視覺稿
- 程式猿根據視覺稿搭建UI框架
- 程式猿根據需求文件開發功能
- 測試媛編寫測試用例,根據排期進行測試
- 程式猿修復迴歸測試反饋的bug,提交beta版
- 測試通過,提交給運營喵釋出到渠道上線
上面是筆者的經驗總結,可能有不太準確的地方,但大致整個流程是這樣,我們開發者要清楚自己在整個產品中充當的角色,明白自己的工作職責即可。
快速搭建專案
Android比沒有想象那麼難,只是剛開始要學習的東西多,一下子消化不了才會比較茫然,筆者寫這篇部落格就是想幫助大家整理一下開發思路。
快速搭建專案也算是一項技能,而這項技能只能由你自己來完善,剛開始做開發的時候一定會有很多重複性的工作,如果沒有意識去提高自己的開發效率的話,可能你的十年工作經驗代表的只是一年的經驗用了十年而已。
那要怎麼做,筆者提供一個自己總結的,僅供參考:
- 定開發規範
- 搭建UI框架
- 選用開發庫整合(或自造輪子)
- 第三方服務整合(視情況而定)
定開發規範
一個專案一般不會只有一個人獨立開發,就算是獨立開發,我們也應該定一下開發規範,一般會有什麼樣的規範?
- 命名規範
- 程式碼規範
- 程式碼管理規範
命名規範
命名規範包括:
- 專案命名
- 包命名
- 類命名、成員變數命名
- 資原始檔命名
我們做每一個產品都會有相應的命名,不要用中文來命名,最好用能表達中文意思的英文來表示,例如CSDN客戶端,可以用CSDNClient作為命名,我們建立專案的時候可以以它作為Application name。
程式碼規範視語言而定,開發android使用的是Java,自然要按照Java的編碼規範進行編碼,比如命名採用駝峰命名法,編碼的時候也要符合Android的開發規範,比如UI執行緒不做任何耗時的操作,像網路請求、資料庫操作都需要放到子執行緒中去做,只有UI的重新整理才在UI執行緒中做,像這些規範,可以根據自身在專案遇到的問題來定,定規範的好處就是減少踩坑的機率,提高開發的質量。
對於一個經常更新迭代的產品,不可能由頭到尾不變,這個時候我們需要對程式碼進行分支管理,最好使用git程式碼倉庫對程式碼進行管理,作為一個合格的開發者連git都不用實在說不過去,還用svn的童鞋趕緊放棄它投入git的懷抱,它的好處是不言而喻的,自己去體會。
搭建UI框架需要我們根據產品的導航模式來設計,市場上常用的導航模式有如下圖幾種:
選用開發庫
一般我們app涉及到的庫會有:
- UI框架(比如下拉重新整理PullToRefresh、側滑選單Slidingmenu)
- 網路請求庫(比如okhtttp、AndroidAsyncHttp、Volley)
- 資料操作庫(比如GreenDao、Ormlite)
- 圖片快取框架(比如Universal-Imageloader)
- 資料解析庫(比如Gson)
之所以要選用這些庫,肯定是為了避免重複造輪子,在開發效率的角度來說,選用優秀的開源庫能大大縮短開發週期和提高開發效率,但從個人提升角度來看的話,我們可能就成了一個只會用API的程式猿了,如果想提升的話,造輪子或者分析這些優秀的原始碼是一個不錯的途徑。
第三方服務整合
我們開發app的時候,肯定會遇到一些需求,比如推送的需求、自動升級、資料統計、社會化分享、使用者反饋等等,然而對於一個剛起步的企業或者個人開發者的話,全都要自己去開發的話,那豈不是累死,像推送這種有一定的技術門檻,能做好都能成立一家公司了,所以選用一些第三方服務是一個可選之舉。如果說你以後做大了,用第三方怕不好控制,那就自己做唄,有錢任性招兵買馬就自己做,誰叫咱有錢呢。
前面這些東西開發一個app夠了,開發出來能不能用還得有靠譜的測試,有沒有crash,操作流不流暢,體驗好不好才會有使用者去用。這裡不從產品的角度去評判一個app的好與壞,程式設計師要考慮的是從程式碼層面、效能層面去讓我們的app變得更好。
雲測
我們開發完畢之後,需要給測試工程師進行基本的功能需求測試,他們傳統的做法就是根據事先寫好的測試用例來做迴歸測試,再把測試出來的bug反饋給工程師,工程師再去修bug,但這樣實在是太不靠譜了,有時候我們太在意功能而忽略了一些更重要的東西,那就是體驗,給使用者最直接的感受就是你這個app夠不夠驚豔,夠不夠流暢,使用者可能根本就不在乎你這個功能做的有多牛逼。所以我們更應該從非功能性方向去做測試,我們的目的是讓使用者用的爽,而不是加一些亂七八糟的功能。那怎麼測非功能性的一些因素,這裡就要提到『雲測』這個東西,因為現在裝置太多了,如果公司要買一堆裝置來做測試,那得多少成本,況且裝置更新得太快,你根本就跟不上,所以就有了雲測這個東西,它是一個雲測試平臺服務,提供了一大批主流機型,我們就直接省去購買裝置的成本,還能得到完善的測試報告。
再來說一下它的好處:
- 終端雲,省去測試裝置購買租賃成本
- 高效率 節省測試人員成本及時間
- 包含相容性測試、效能測試、功能測試
- 操作簡單、詳細測試報告生成
這麼多好處,你在缺少測試工程師的時候,不去嘗試那實在說不過去。
打包上線
前面的開發環節、測試環節都沒問題之後,你離實現一個app的完整開發就不遠了,正常的網際網路公司,會把簽名打包的apk給到運營,交給他們去寫文案,上傳到應用渠道,讓渠道給我們去首發和推廣。如果是個人開發者,這些工作就得我們自己做了。
總結
從整個app開發流程上去給大家梳理了一遍,沒有講太多技術上的東西,但理解app流程對自己把握產品很有益處,雖然我們只是一個小小的開發者,但如果你有追求,哪天輪到你去負責一個產品的時候,你就應該對開發的每一個環節都瞭如指掌,因為出了問題,你也知道怎麼針對性的去解決。筆者雖然只是一個小小的開發者,但也樂於思考,很多時候不太願意被別人牽著鼻子走,因為我們的人生就應該把握在自己手裡。
-
3 # 猿浪之聲
個人建議是才用h5的方式開發 可以很方便的打包成安卓 和蘋果客戶端 而且碼雲上有很多各行各業的ui模板程式碼 只要實現自己的業務邏輯便可方便的打造出一款自己的app 其次就是需要的伺服器等
回覆列表
有兩種方案
1,Android原生開發(官方網站:https://developer.android.google.cn/)
• 優點:執行速度快,使用體驗更好,可享受Android最先進的開發工具和框架。學會 Android開發後,還可以開發智慧手錶應用,智慧電視應用,車載應用和物聯網應用。
• 缺點:不支援跨系統(只支援安卓手機,不支援蘋果手機),學習成本較高(如:官方教程基本上都是英文,必須要學習java或kotlin語言,對電腦配置要求較高等),安裝包體積相對較大。
• 缺點:使用體驗不如原生Android,穩定性較差(頁面檔案越多,可能會出現卡頓等現 象)。
一, 使用Android原生快速開發一款App推薦電腦配置(以Windows系統為例):
i5+的處理器,執行記憶體8G+。
我的系統配置截圖:
一, 建立專案
安裝最新版編譯器下載編譯器Android Studio,下載最新版本地址 https://developer.android.google.cn/studio
Android Studio 啟動頁:
如果您已開啟一個專案,請依次選擇 File > New > New Project。
在 Choose your project 視窗中,選擇 Empty Activity,然後點選 Next。在 Choose your project 視窗中,完成以下操作:· 在 Name 欄位中輸入“My First App”。
· 在 Package name 欄位中輸入“com.example.myfirstapp”。
· 如果您想將專案放在其他資料夾中,請更改其 Save 位置。
· 從 Language 下拉選單中選擇 Java 或 Kotlin。
· 選中 Use androidx.* artifacts 旁邊的複選框。
· 其他選項保持原樣。
二,執行App
• 在真實裝置上執行
按照以下步驟設定裝置:
使用一根 USB 資料線將裝置連線到開發計算機。如果您是在 Windows 上開發的,則可能需要為裝置安裝合適的 USB 驅動程式https://developer.android.google.cn/studio/run/oem-usb。執行以下步驟,在開發者選項視窗中啟用 USB 除錯:a. 開啟設定應用。
b. 如果裝置使用 Android v8.0 或更高版本,請選擇系統。否則,請繼續執行下一步。
c. 滾動到底部,然後選擇關於手機。
d. 滾動到底部,然後點按版本號七次。
e. 返回上一螢幕,滾動到底部,然後點按開發者選項。
f. 在開發者選項視窗中,向下滾動以查詢並啟用 USB 除錯。
按照以下步驟操作,在裝置上執行應用:
• 在模擬器上執行
按照以下步驟操作,在模擬器上執行應用:
二, 使用uni-app快速開發一款App推薦電腦配置(以Windows系統為例):
i5+的處理器,執行記憶體4G+。
○ 開始開發App
一, 建立專案
環境搭建使用HBuilderX視覺化介面快速建立專案,HBuilderX內建處理了相關環境依賴。 HBuilderX:IDE。最新版本下載地址:https://www.dcloud.io/hbuilderx.html微信開發者工具:除錯預覽工具。最新版本下載地址: https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html建立uni-app專案點選工具欄裡的檔案 -> 新建 -> 專案: