資源描述:
《Android開發(fā)規(guī)范參考文檔》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、....Android開發(fā)參考文檔一、Android編碼規(guī)范1.java代碼中不出現(xiàn)中文,最多注釋中可以出現(xiàn)中文.xml代碼中注釋2.成員變量,局部變量、靜態(tài)成員變量命名、常量(宏)命名1).成員變量:activity中的成員變量以m開頭,后面的單詞首字母大寫(如ButtonmBackButton;StringmName);實(shí)體類和自定義View的成員變量可以不以m開頭(如ImageViewimageView,Stringname),2).局部變量命名:只能包含字母,組合變量單詞首字母出第一個(gè)外,都為大寫,
2、其他字母都為小寫3).常量(宏)命名:只能包含字母和_,字母全部大寫,單詞之間用_隔開UMENG_APP_KEY3.Application命名項(xiàng)目名稱+App,如SlimApp,里面可以存放全局變量,但是杜絕存放過大的實(shí)體對(duì)象4.activity和其中的view變量命名activity命名模式為:邏輯名稱+Activityview命名模式為:邏輯名稱+View建議:如果layout文件很復(fù)雜,建議將layout分成多個(gè)模塊,每個(gè)模塊定義一個(gè)moduleViewHolder,其成員變量包含所屬view5.layout及其i
3、d命名規(guī)則layout命名模式:activity_邏輯名稱,或者把對(duì)應(yīng)的activity的名字用“_”把單詞分開。命名模式為:view縮寫_模塊名稱_view的邏輯名稱,用單詞首字母進(jìn)行縮寫view的縮寫詳情如下LayoutView:lvRelativeView:rvTextView:tvImageView:ivImageButton:ibButton:btn6.strings.xml中的1).id命名模式:activity名稱_功能模塊名稱_邏輯名稱/activity名稱_邏輯名稱/common_邏輯名稱,string
4、s.xml中,使用activity名稱注釋,將文件內(nèi)容區(qū)分開來2).strings.xml中使用%1$s實(shí)現(xiàn)字符串的通配,合起來寫7.drawable中的圖片命名命名模式:activity名稱_邏輯名稱/common_邏輯名稱/ic_邏輯名稱(邏輯名稱:這是一個(gè)什么樣的圖片,展示功能是什么)8.styles.xml將layout中不斷重現(xiàn)的style提煉出通用的style通用組件,放到styles.xml中;9.使用layer-list和selector,主要是ViewonCclickonTouch等事件界面反映10.切
5、圖需求1).多圖片組合的,盡量分拆成多個(gè)可重用的圖片,避免一個(gè)圖片太大.2).盡量使用.9圖片,自動(dòng)適配適配界面。11.服務(wù)端可以實(shí)現(xiàn)的,就不要放在客戶端學(xué)習(xí)參考....1).圖片過大時(shí),服務(wù)端壓縮圖片后返回來可減少很多問題出現(xiàn)2).及時(shí)更新的數(shù)據(jù),盡管本地有緩存12.引用第三方庫要慎重,避免應(yīng)用大容量的第三方庫,導(dǎo)致客戶端包非常大,或者其他非本應(yīng)用的信息會(huì)出現(xiàn),影響體驗(yàn)。13.處理應(yīng)用全局異常和錯(cuò)誤,將錯(cuò)誤以郵件的形式發(fā)送給服務(wù)端14.使用靜態(tài)變量方式實(shí)現(xiàn)界面間共享要慎重15.Log(TAG,詳細(xì)描述),加開關(guān),打包時(shí)
6、關(guān)掉log,提高運(yùn)行速度。如if(SlimConf.DEBUG){Log.d(TAG,"plan_init_enabled="+plan_init_enabled);}16.單元測(cè)試(邏輯測(cè)試、界面測(cè)試),避免次生問題隨著解決問題增加。17.不要重用父類的handler,對(duì)應(yīng)一個(gè)類的handler也不應(yīng)該讓其子類用到,否則會(huì)導(dǎo)致msg.what沖突,方法是聲明父類handler為private18.activity中的ListenerActivity只用一個(gè)View.OnClickListener,View.OnTouc
7、hListener等Listener中處理所有控件的邏輯,即,XXActivityimplimentsOnClickListener方式實(shí)現(xiàn)接口,綁定周期,減少接口實(shí)例數(shù)量注意:盡量不要給每個(gè)點(diǎn)擊控件設(shè)置一個(gè)View.OnClickListener實(shí)例19.如果多個(gè)Activity中包含共同的UI處理,那么可以提煉一個(gè)AbsXXActivity.java或者XXActivityBase.java,可以是一個(gè)抽象類,把通用部分叫由它來處理,其他activity只要繼承它即可,可以是一個(gè)抽象activity,子類定義具體需求
8、的函數(shù)(重載或者重寫)20.使用button+activitgroup實(shí)現(xiàn)tab效果時(shí),使用Button.setSelected(true),確保按鈕處于選擇狀態(tài),并使activitygroup的當(dāng)前activity與該button對(duì)應(yīng)21.如果所開發(fā)的為通用組件,為避免沖突,將drawable/layout/men