Android 編碼規範

包命名規範

##反域名命名規則android

所有使用小寫字母。一級包名爲com,二級包名爲xxx(能夠是公司域名或者我的命名),三級包名根據應用進行命名,四級包名爲模塊名或層級名。web

com.xxx.應用名稱縮寫.activities(ui)
com.xxx.應用名稱縮寫.fragment
com.xxx.應用名稱縮寫.base
com.xxx.應用名稱縮寫.adapter
com.xxx.應用名稱縮寫.utils
com.xxx.應用名稱縮寫.bean(domain,entity,model)
com.xxx.應用名稱縮寫.db(biz)
com.xxx.應用名稱縮寫.view(widget)
com.xxx.應用名稱縮寫.service
com.xxx.應用名稱縮寫.broadcast
com.xxx.應用名稱縮寫.config數據庫

#類命名規範app

名詞,採用大駝峯命名法,儘可能避免縮寫,除非該縮寫是衆所周知的,好比HTML,URL,若是類名稱包含單詞縮寫,則單詞縮寫的每一個字母均應大寫。dom

 
 

類 例子
Application類 XXXApplication
Activity類 SplashActivity   公共方法類 線程池管理類:ThreadPoolManager,日誌工具類:LogUtils
數據庫類 MySQLiteDBHelper
Service類 播放服務:PlayService
BroadcastReceiver類 時間通知:TimeBroadcast
ContentProvider類 單詞內容提供者:DictProvider
直接寫的共享基礎類 BaseActivity,BaseFragmentide

# 變量命名規範
> ## 變量(variables)
>> 採用小駝峯命名法。類中控件名稱必須與xml佈局id保持一致。

> ## 公開的常量
>> 定義爲靜態final,名稱所有大寫。eg: public staticfinal String ACTION_MAIN=」android.intent.action.MAIN」;

> ## 靜態變量
>> 名稱以s開頭 eg:private static long sInstanceCount = 0;

> ## 非靜態的私有變量、protected的變量(實體類的get set方法除外)
>> 以m開頭,eg:private Intent mItent;

# 接口命名規範
>##接口(interface)
>>命名規則與類同樣採用大駝峯命名法,多以able或ible結尾,eg:interface Runable; interface Accessible;

#方法命名規範
>##方法(methods)
>>動詞或動名詞,採用小駝峯命名法,eg:onCreate(),run();

方法 描述 initXX() 初始化相關方法,使用init爲前綴標識,如初始化佈局initView() isXX() checkXX()方法返回值爲boolean型的請使用is或check爲前綴標識 getXX() 返回某個值的方法,使用get爲前綴標識 processXX() 對數據進行處理的方法,儘可能使用process爲前綴標識 displayXX() 彈出提示框和提示信息,使用display爲前綴標識 saveXX() 與保存數據相關的,使用save爲前綴標識 resetXX() 對數據重組的,使用reset前綴標識 clearXX() 清除數據相關的 removeXX() 清除數據相關的 drawXXX() 繪製數據或效果相關的,使用draw前綴標識工具

#佈局文件命名規範
>所有小寫,採用下劃線命名法
>##contentview命名
>>Activity默認佈局,以Activity類進行命名。功能模塊.xml
>>>eg:activity_main.xml、activity_more.xml

>##Dialog命名
>>dialog_描述.xml
>>>eg:dlg_hint.xml

>##PopupWindow命名
>>ppw_描述.xml
>>>eg:ppw_info.xml

>##列表項命名listitem_
>>描述.xml
>>>eg:listitem_city.xml

>##包含項:
>>include_模塊.xml
>>>eg:include_head.xml、include_bottom.xml

>##adapter的子佈局
>>功能模塊_item.xml
>>>eg:main_item.xml、


#資源id命名規範
>view縮寫_模塊名稱_view的邏輯名稱
>>```
控件                    縮寫
LayoutView              lv
RelativeView            rv
TextView                tv
Button                  btn
ImageButton             imgBtn
ImageView               iv
CheckBox                cb
RadioButton             rb
analogClock             anaClk
DigtalClock             dgtClk
DatePicker              dtPk
EditText                edtTxt
TimePicker              tmPk
toggleButton            tglBtn
ProgressBar             proBar
SeekBar                 skBar
AutoCompleteTextView    autoTxt
ZoomControls            zmCtl
VideoView               vdoVi
WdbView                 webVi
RantingBar              ratBar
Tab                     tab
Spinner                 spn
Chronometer             cmt
ScollView               sclVi
TextSwitch              txtSwt
ImageSwitch             imgSwt
listView                lVi 或則lv
ExpandableList          epdLt
MapView                 mapVi

#動畫文件命名佈局

##動畫文件(anim文件夾下)動畫

所有小寫,採用下劃線命名法,加前綴區分。前面爲動畫的類型,後面爲方向ui

 
  

動畫命名例子 規範寫法 fade_in 淡入 fade_out 淡出 push_down_in 從下方推入 push_down_out 從下方推出 push_left 推像左方 slide_in_from_top 從頭部滑動進入 zoom_enter 變形進入 slide_in 滑動進入 shrink_to_middle 中間縮小

#圖片資源文件命名

命名 說明 bg_xxx 這種圖片通常那些比較大的圖片,好比做爲某個Activity的背景等 btn_xxx 按鈕,通常用於按鈕,並且這種按鈕沒有其餘狀態 ic_xxx 圖標,通常用於單個圖標,好比啓動圖片ic_launcher bg_描述_狀態1[_狀態2] 用於控件上的不一樣狀態 btn_描述_狀態1[_狀態2] 用於按鈕上的不一樣狀態 chx_描述_狀態1[_狀態2] 選擇框,通常有2態和4態

#一些常見的單詞縮寫
>```
名稱                            縮寫
icon                            ic (主要用在app的圖標)
color                           cl(主要用於顏色值)
divider                         di(主要用於分隔線,不只包括Listview中的divider,還包括普通佈局中的線)
selector                        sl(主要用於某一view多種狀態,不只包括Listview中的selector,還包括按鈕的selector)
average                         avg
background                      bg(主要用於佈局和子佈局的背景)
buffer                          buf
control                         ctrl
delete                          del
document                        doc
error                           err
escape                          esc
increment                       inc
infomation                      info
initial                         init
image                           img
Internationalization            I18N
length                          len
library                         lib
message                         msg
password                        pwd
position                        pos
server                          srv
string                          str
temp                            tmp
window                          wnd(win)

根據 IT_xiao小巫 的文章修改

相關文章
相關標籤/搜索