在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Android開發(fā)的經(jīng)驗(yàn)總結(jié)

Wildesbeast ? 來源:今日頭條 ? 作者:讀芯術(shù) ? 2020-02-20 14:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“紙上得來終覺淺,絕知此事要躬行。”

“沒有調(diào)查就沒有發(fā)言權(quán)。”

“實(shí)踐出真知。”

古今中外,無數(shù)名言警句都告訴我們實(shí)際去做一件事的重要性。

筆者從最初對安卓開發(fā)萌生興趣到現(xiàn)在已有兩年之久了,期間做過幾個(gè)項(xiàng)目也開發(fā)過別的,今天就跟大家分享一下這段時(shí)間里筆者親身總結(jié)的7條經(jīng)驗(yàn)。

1.第三方庫:找到正確的平衡點(diǎn)

Android Arsenal上的一些庫

在開始第一個(gè)項(xiàng)目時(shí),所有的操作筆者都想從零開始,然后幾乎是把第三方庫打入了冷宮,本想著自己可能以這種方式會(huì)學(xué)到更多的東西。

興許是第一個(gè)項(xiàng)目,不用第三方庫也行,但這通常是不可取的。最后無非是浪費(fèi)大量的時(shí)間“造輪子”(指業(yè)界已有公認(rèn)的軟件或庫),所以千萬別這樣。

有了第一次的經(jīng)驗(yàn),筆者開始使用開源庫。任何情況下都會(huì)有免費(fèi)的庫,這點(diǎn)非常好。所以就添加了一個(gè)庫,結(jié)果根本停不下來。

猜猜后來怎樣了?筆者的項(xiàng)目到最后就是雜七雜八的第三方庫扭為一體。所以及時(shí)止損吧,好好選庫。不是所有的都靠譜,況且不一定好上手。

筆者的建議就是尋找平衡點(diǎn)。如果在開發(fā)的過程中遇到難題,而這個(gè)難題恰巧是別人用某個(gè)庫完美解決的,那就這個(gè)庫沒錯(cuò)了。要是需要HTTP客戶端,選它—— Retrofit。

如果下載和管理的圖像很多的話,就用 Glide,這些庫絕對好用,還穩(wěn)定,誰人都知道。

但記住不是所有的庫都會(huì)這么美好。最好每次都查查這些庫出自何方神圣,有時(shí)間的話再研究一下開源代碼,看看問題是如何解決的。

Android Arsenal幾乎動(dòng)用了所有可用的安卓庫來維護(hù)大型數(shù)據(jù)庫。

2.從一開始就選對架構(gòu)

你聽說過類似于MVC、MVP、MVVM這樣的縮略詞嗎?它們代表不同的軟件架構(gòu),而且都是需要了解的。

很多小白是在activity類中敲代碼,剛開始這樣似乎行得通,但相信我,這件事沒這么簡單。

項(xiàng)目越大,代碼就會(huì)越復(fù)雜還高度耦合,使得后續(xù)的測試、維護(hù)、新功能的研發(fā)變得非常棘手。

所以才推薦大家從一開始就選用一目了然的軟件架構(gòu)。如上文提到的這些架構(gòu)各有千秋,下面是迄今為止谷歌推薦的App架構(gòu):

安卓開發(fā)員推薦的App架構(gòu)

從圖中可以看出,每一個(gè)部分僅由下部與其相連的組件決定。

這樣就會(huì)帶來一致的用戶體驗(yàn),不僅考慮到了關(guān)注點(diǎn)分離(separationof concerns),還針對測試和可擴(kuò)展度進(jìn)行了優(yōu)化。很顯然,任何架構(gòu)都有不完美的時(shí)候,就像谷歌說的一樣:

根本不存在一個(gè)架構(gòu)能滿足任何軟件的情況。言外之意,對于大多數(shù)軟件和工作流,從一開始就使用推薦的架構(gòu)會(huì)是好的開端。

由于不是本文的重點(diǎn),筆者不會(huì)對該架構(gòu)展開過多的解釋,但會(huì)給大家列舉一些有用的資源:

l app架構(gòu)的指南

l 安卓架構(gòu)組件的基礎(chǔ)樣本

3.重要的事情說三遍:測試測試測試

你曾多少次想過:“在手機(jī)上測試app,發(fā)現(xiàn)成功了!”

其實(shí)并不夠,簡單的測試可能會(huì)在開發(fā)時(shí)讓你少費(fèi)幾天功夫,但做起來可就要搭上好幾周的時(shí)間了。

產(chǎn)品發(fā)布前,做足測試可以幫助我們檢查系統(tǒng)的魯棒性、操作性以及可用度。

那該如何測試app呢?這個(gè)問題可就太寬泛了,測試類型五花八門,各個(gè)都有自己的使命。

安卓開發(fā)員提供的測試等級

在了解上圖的基礎(chǔ)上,可以將測試分為以下三類:

l 單元測試:一次使用一個(gè)類來驗(yàn)證性能類別。

l 集成測試:驗(yàn)證模塊內(nèi)不同層次堆棧間的交互以及相連模塊的交互。

l UI測試:驗(yàn)證用戶界面和用戶流

基于app的用例,需要自行決定進(jìn)行多少種不同測試。

谷歌的經(jīng)驗(yàn)法則建議---將測試分為70%的小測驗(yàn)(單元測試),20%的中等測試(集成測試)和10%的大型測試(UI和端到端測試)。

l 在安卓平臺上測試應(yīng)用:這里講了測試應(yīng)用所需的所有東西

l 在安卓上測試驅(qū)動(dòng)開發(fā)(TDD):Google I/O 2017的關(guān)于TDD的視頻會(huì)議

4.Android Studio ,我們的好伙伴

無可厚非,我們已經(jīng)利用了IDE(集成開發(fā)環(huán)境),但真的其物盡其用了嗎?

Android Studio里內(nèi)置了很多有助于軟件開發(fā)的工具,下面列舉了一些筆者最常用到的:

l 設(shè)備模擬器可以對不同設(shè)備上、各種安卓版本的應(yīng)用程序進(jìn)行測試。

l 安卓PK分析器可以通過對APK大小的檢測分析出程序的大小。

l 實(shí)時(shí)性能分析器(Realtime Profilers)可以對CPU、內(nèi)存和網(wǎng)絡(luò)使用情況進(jìn)行實(shí)時(shí)統(tǒng)計(jì)分析。

l Firebase助手可以將應(yīng)用程序與其聯(lián)系起來,只需幾步操作即可將所有Firebase服務(wù)都添加上。

l Vector Asset Studio可以幫助給每個(gè)密度(密度指磁盤存儲(chǔ)數(shù)據(jù)的可用空間)創(chuàng)建新的位圖圖像。

你知道Android Studio還有一個(gè)功能是將PC變成“烤爐”嗎?

更多介紹和功能請參見Android Studio

5.簡單清晰的用戶界面(UI)

如果在一家大型企業(yè)當(dāng)安卓開發(fā)員,UI和UX的設(shè)計(jì)就是設(shè)計(jì)者的事了,程序員們大可不必?fù)?dān)心。

不過要是初創(chuàng)企業(yè)或是私人項(xiàng)目,可能就得費(fèi)些心思設(shè)計(jì)UI和UX。相信我,好的界面會(huì)錦上添花,而糟糕的界面會(huì)毀了一個(gè)好項(xiàng)目。

“用戶界面就跟笑話一樣,你若解釋它,就證明它還不夠好。”——馬丁·勒布朗(Martin LeBlanc)

過去筆者常犯的一個(gè)錯(cuò)誤就是用戶界面上放的東西太多,元素過多只會(huì)給用戶帶來困擾,還會(huì)讓別人覺得沒有美感。建議大家從簡,簡單且清晰。

特別是不擅長設(shè)計(jì)的人更要避諱這一塊,盡量做用戶一看就懂的基礎(chǔ)界面。成形后可以進(jìn)行改進(jìn)使其更美觀,這樣用戶會(huì)留下更深的體驗(yàn)印象。

記住通過不同大小的顯示器和DPI來測試UI,不要用固定的測量單位,比如px;多用動(dòng)態(tài)的單位,比如用dp(或測試文本的sp)。

l Dribbble:里面匯集了各路神仙,不知道從哪下手,可以在這上面尋找靈感。

l 材料設(shè)計(jì)語言(Google Material Design):該系統(tǒng)適應(yīng)性強(qiáng),為設(shè)計(jì)最佳用戶界面提供了指導(dǎo)、組件和工具系統(tǒng)。

l 《設(shè)計(jì)心理學(xué)》(The Psychology Of Everyday Things):唐·諾曼寫的這本書講了日用品的可用性設(shè)計(jì),值得一看。

6.發(fā)布清單(Release Checklist)

來源:Pexels

現(xiàn)在覺得自己的應(yīng)用程序可以發(fā)布了?真的嗎?你怎樣肯定呢?這個(gè)時(shí)候,千萬不可草率行事,最好問自己幾個(gè)問題:

l 是否移除了所有糾錯(cuò)代碼?

l 測試足量嗎?

l 在構(gòu)建Gradle時(shí),是否更新了名稱和版本代碼?

l 是否啟用了Proguard 來混淆APK代碼?

l 是否對應(yīng)用程序進(jìn)行了本地化操作?

l 是否在Google Play上準(zhǔn)備了開發(fā)者賬戶?

如果答案都是“嗯”,那就可以繼續(xù)自己的計(jì)劃了。筆者建議大家做一個(gè)Android App Bundle (aab)來優(yōu)化應(yīng)用程序的大小和資源,而非APK。

在 Google Play發(fā)布應(yīng)用程序后,要不斷查看用戶的反饋和所有的分析數(shù)據(jù)。這對程序的改進(jìn)有非常大的幫助。

這是安卓開發(fā)員提供的檢查清單,不容錯(cuò)過。

7.要用Git

Git是版本控制系統(tǒng)(VCS),它最基本的兩大作用:一是追蹤文件的變動(dòng),二是簡化由多個(gè)開發(fā)員參與的大型項(xiàng)目中的工作。

我也不知道自己為何會(huì)用Git,其實(shí)直接給項(xiàng)目進(jìn)行備份也可以。——來自三年前的我

現(xiàn)在筆者知道了。

并且告訴大家:程序員們需要Git,它對工作流的幫助簡直妙極了。(這句話要是三年前有人跟我說就好了)。

Git妙在何處?理由如下:

l 資源代碼安全地儲(chǔ)存在云端,隨用隨取。

l 所有以往的代碼版本都可使用,可以檢測舊版本,而且出現(xiàn)錯(cuò)誤時(shí)可以回到以前的版本。

l 團(tuán)隊(duì)工作得到了簡化。每個(gè)開發(fā)員都可以在并行分支上進(jìn)行工作,有需要時(shí)合并更改。

l 能開發(fā)數(shù)以千計(jì)的開源項(xiàng)目。

l 有GitHub和BitBucket這樣的平臺,創(chuàng)建并展示自己項(xiàng)目的介紹也可以實(shí)現(xiàn)。

理由千萬條,而筆者希望這些足以傳遞一條信息:認(rèn)為自己不需要Git,是錯(cuò)的。

GitHub和BitBucket指南幫你上手Git

來源:Pexels

今天,筆者分享了一些自己在安卓開發(fā)期間親身學(xué)到的東西,但肯定有更多的知識有待探索。

如果大家有其他寶藏級建議,尤其是適合初學(xué)者的,請?jiān)谙路桔x躍留言哦。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3971

    瀏覽量

    129903
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1586

    瀏覽量

    74008
  • MVC
    MVC
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    14101
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    電源制作高手經(jīng)驗(yàn)總結(jié)

    電源制作高手經(jīng)驗(yàn)總結(jié)電源制作高手經(jīng)驗(yàn)總結(jié) 28頁.pdf (2.9 MB )
    發(fā)表于 06-05 02:05

    SOPC Builder/Nios 學(xué)習(xí)經(jīng)驗(yàn)總結(jié)

    SOPC Builder/Nios 學(xué)習(xí)經(jīng)驗(yàn)總結(jié)
    發(fā)表于 07-22 15:32 ?0次下載
    SOPC Builder/Nios 學(xué)習(xí)<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>

    線圈天線設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    線圈天線設(shè)計(jì)經(jīng)驗(yàn)總結(jié)
    發(fā)表于 09-12 17:21 ?224次下載

    做四軸飛行器的經(jīng)驗(yàn)總結(jié)

    做四軸飛行器的經(jīng)驗(yàn)總結(jié),請各位大神共同學(xué)習(xí),里面是一位大神做四軸飛行器的經(jīng)驗(yàn)總結(jié)
    發(fā)表于 11-11 16:52 ?0次下載

    開關(guān)電源測量的經(jīng)驗(yàn)總結(jié)

    開關(guān)電源測量的經(jīng)驗(yàn)總結(jié),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-18 17:34 ?0次下載

    模擬電路設(shè)計(jì)經(jīng)驗(yàn)總結(jié)

    模擬電子的相關(guān)知識學(xué)習(xí)教材資料——模擬電路設(shè)計(jì)經(jīng)驗(yàn)總結(jié)
    發(fā)表于 09-27 15:19 ?0次下載

    指針經(jīng)驗(yàn)總結(jié)

    指針經(jīng)驗(yàn)總結(jié)
    發(fā)表于 10-27 15:44 ?19次下載
    指針<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>

    手機(jī)TDD引起電流聲問題理論和經(jīng)驗(yàn)總結(jié)

    手機(jī)TDD引起電流聲問題理論和經(jīng)驗(yàn)總結(jié)
    發(fā)表于 11-27 15:02 ?34次下載

    嵌入式系統(tǒng)開發(fā)學(xué)習(xí)心得體會(huì)_經(jīng)驗(yàn)總結(jié)

    本文主要介紹的是嵌入式系統(tǒng)開發(fā)學(xué)習(xí)心得體會(huì)及經(jīng)驗(yàn)總結(jié),首先介紹了嵌入式系統(tǒng)開發(fā)的三大關(guān)鍵點(diǎn),其次推薦了嵌入式系統(tǒng)開發(fā)必讀的書籍,最后介紹了學(xué)習(xí)嵌入式系統(tǒng)
    的頭像 發(fā)表于 05-18 10:24 ?3.2w次閱讀

    TD-LTE網(wǎng)絡(luò)優(yōu)化經(jīng)驗(yàn)總結(jié)解析

    TD-LTE網(wǎng)絡(luò)優(yōu)化經(jīng)驗(yàn)總結(jié)解析說明。
    發(fā)表于 04-27 10:30 ?23次下載

    電路設(shè)計(jì)的一些經(jīng)驗(yàn)總結(jié)

    電路設(shè)計(jì)的一些經(jīng)驗(yàn)總結(jié)
    發(fā)表于 12-02 13:57 ?45次下載

    EMI整改經(jīng)驗(yàn)總結(jié)

    EMI整改經(jīng)驗(yàn)總結(jié)
    發(fā)表于 12-20 15:55 ?46次下載

    富士變頻器維修經(jīng)驗(yàn)總結(jié)

    富士變頻器維修經(jīng)驗(yàn)總結(jié)
    發(fā)表于 10-07 10:55 ?0次下載

    選擇燒結(jié)銀的經(jīng)驗(yàn)總結(jié)

    選擇燒結(jié)銀的經(jīng)驗(yàn)總結(jié)
    的頭像 發(fā)表于 12-17 15:46 ?1717次閱讀
    選擇燒結(jié)銀的<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>

    GaN E-HEMTs的PCB布局經(jīng)驗(yàn)總結(jié)

    GaN E-HEMTs的PCB布局經(jīng)驗(yàn)總結(jié)
    的頭像 發(fā)表于 03-13 15:52 ?507次閱讀
    GaN E-HEMTs的PCB布局<b class='flag-5'>經(jīng)驗(yàn)總結(jié)</b>
    主站蜘蛛池模板: 三级在线免费观看 | 狠狠干狠狠色 | 国产精品久久国产三级国不卡顿 | 日本一本视频 | 国产chinesetube | 色婷婷综合缴情综六月 | 天天操天天干天天干 | 欧美成人 一区二区三区 | 男人j桶女人j免费视频 | 毛片高清一区二区三区 | 天天摸天天操天天射 | 国产在线欧美精品卡通动漫 | 国产美女激情视频 | 亚洲都市激情 | 亚洲六月丁香六月婷婷花 | 69国产成人综合久久精品 | 亚洲天堂首页 | 老师下面好紧 | 亚洲视频精品 | 综合一区| 国产91丝袜在线播放九色 | 性中国videosex国产孕妇 | 中文字幕天天躁夜夜狠狠综合 | 狠狠色噜噜狠狠狠狠97影音先锋 | 2021国产精品成人免费视频 | 老色批午夜免费视频网站 | 国产欧美在线一区二区三区 | 在线视频一本 | 精品热99 | 国产伦理一区二区三区 | 国产精品视频一区二区三区 | 国产成人亚洲毛片 | 女人张开腿男人桶 | 国产aaa级一级毛片 国产ar高清视频+视频 | 四虎影院美女 | 天天拍天天干天天操 | 牛牛碰在线视频 | 色偷偷88欧美精品久久久 | 永久免费精品影视网站 | 99久久精品免费精品国产 | 亚洲成成品网站有线 |