Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android編碼規范之命名規則

Android編碼規范之命名規則

編輯:關於Android編程

包名

包名 此包中包含 com.xx.應用名稱縮寫.activity 頁面用到的Activity類 (activitie層級名用戶界面層) com.xx.應用名稱縮寫.fragment 頁面用到的fragment com.xx.應用名稱縮寫.base 基礎共享的類 com.xx.應用名稱縮寫.config 通用的配置 com.xx.應用名稱縮寫.global 全局的監聽實現類等 com.xx.應用名稱縮寫.adapter 頁面用到的Adapter類 (適配器的類) com.xx.應用名稱縮寫.util 此包中包含:公共工具方法類(util模塊名)命名與第三方的utils作區分 com.xx.應用名稱縮寫.bean 下面可分:vo(本地類)、bo(遠程類)、dto(傳遞引用類) com.xx.應用名稱縮寫.model 此包中包含:模型類 com.xx.應用名稱縮寫.db 數據庫操作類 com.xx.應用名稱縮寫.view 自定義的View類等,可通用,與app業務無關的 com.xx.應用名稱縮寫.widget 自定義的View類等,與app業務相關的 com.xx.應用名稱縮寫.service Service服務,後台服務 com.xx.應用名稱縮寫.receiver BroadcastReceiver服務,接收通知

類名

類 描述 例如 Activity 類 Activity為後綴標識 歡迎頁面類WelcomeActivity Adapter類 Adapter 為後綴標識 新聞詳情適配器 NewDetailAdapter 解析類 Parser為後綴標識 首頁解析類HomePosterParser 工具方法類 Util或Manager為後綴標識(與系統或第三方的Utils區分)或功能+Util 日志工具類: LogUtil(Logger也可)打印工具類:PrinterUtil 管理類 Manager為後綴標識 ThreadPoolManager 數據庫類 以DBHelper後綴標識 新聞數據庫:NewDBHelper Service類 以Service為後綴標識 時間服務TimeServiceBroadcast Receiver類 以Receiver為後綴標識 推送接收JPushReceiver ContentProvider 以Provider為後綴標識   自定義基類 以Base開頭 BaseActivity,BaseFragment 實體類 模塊 + 類型 + 後綴(BO/VO/DTO) 例如:訂單詳情實體類及訂單詳情內的商品實體類 OrderDetailBO、OrderGoodsBO;例如:訂單列表實體類及訂單列表內的商品實體類 OrderBO/OrderItemBO、OrderGoodsBO/OrderItemGoodsBO;當然,如果訂單詳情和訂單列表內的OrderGoodsBO一致,則可以單獨提出來給2個實體類通用 自定義view 功能描述 + View 例如:可以展開收縮的view,CollapsibleView 自定義widget 模塊名 + 類型(List/Info) + Widget 例如:訂單詳情內的商品列表,OrderDetailGoodsListWidget; 或者:在widget內新增order目錄,放order目錄下的GoodsListWidget

接口名

回調事件監聽接口 On + 對象 + Click/Select,例如:OnItemClick/OnMenuSelect 其他接口 功能描述 + Impl

方法名

方法 說明 initXX() 初始化相關方法,使用init為前綴標識,如初始化布局initView() isXX() checkXX() 方法返回值為boolean型的請使用is或check為前綴標識 getXX() 返回某個值的方法,使用get為前綴標識 handleXX() 對數據進行處理的方法,盡量使用handle為前綴標識 displayXX()/showXX() 彈出提示框和提示信息,使用display/show為前綴標識 saveXX() 與保存數據相關的,使用save為前綴標識 resetXX() 對數據重組的,使用reset前綴標識 clearXX() 清除數據相關的 removeXXX() 清除數據相關的 drawXXX() 繪制數據或效果相關的,使用draw前綴標識

類的屬性命名

1.常量名

常量名命名模式為CONSTANT_CASE,全部字母大寫,用下劃線分隔單詞

常量一般統一放置在config目錄下的AppConfig文件內

同類型的常量,通常放置在同一個內部類中 示例參考 com.xiaoq.sample.mylib.code包下面的Appconfig
2.非常量字段名

非公有,非靜態字段命名以m開頭。
int mPackagePrivate;
private int mPrivate;
protected int mProtected;

靜態字段命名以s開頭。
private static MyClass sSingleton;

公有非靜態字段命名以p開頭。
public int pField;

公有靜態字段(全局變量)命名以g開頭。
public static int gField;

UI控件變量命名參考 附錄的 UI控件縮寫表

3.量詞變量後綴
First 一組變量中的第一個 Last 一組變量中的最後一個 Next 一組變量中的下一個變量 Prev 一組變量中的上一個 Cur 一組變量中的當前變量。 例如:mCustomerStrFirst mCustomerStrLast
4.集合添加如下後綴:List、Map、Set
5.數組添加如下後綴:Arr
6.臨時變量
臨時變量通常被取名為i,j,k,m和n,它們一般用於整型; c,d,e,它們一般用於字符型;

資源文件命名規范

1.資源布局文件(XML文件(layout布局文件)):
activity_main.xml frament_main.xml Dialog命名:dialog_描述.xml,例如:dialog_hint.xml PopupWindow命名:ppw_描述.xml,例如:ppw_info.xml 列表項命名:item_描述.xml
通用列表項:item_city.xml listview:list_item_city.xml gridview:grid_item_city.xml recyclerview:recycler_item_city.xml 自定義類似listview:TabLayout:tab_item_city.xml 包含項命名:模塊_(位置).xml
位置:top、 btm、 left、 right 例如:activity_main_btm.xml、fragment_main_top.xml 通用的包含項命名采用:base_(位置)_項目名稱縮寫_描述.xml 描述:title、 content、 header、 footer 例如:base_top_xxxx_title.xml、base_btm_xxxx_header.xml 例如:全項目通用 base_top.xml base_btm.xml 自定義Widget(布局命名)
widget_ + View功能描述/模塊 + 類型(list/info) + .xml 例如:訂單詳情內的商品列表 widget_order_detail_goods_list.xml 特殊自定義組件/控件
例如: com.xiaoq.widget.tips.TipsManager的loading布局/empty布局/重試布局 通用:base_tips_loading.xml、base_tips_empty、base_tips_retry 各個activity內:activity_描述_tips_loading.xml、activity_main_tips_loading.xml fragment:fragment_main_tips_loading.xml view:activity_main_xxx_view_tips_loading.xml、fragment_main_xxx_view_tips_loading.xml,xxx 為view的描述

2.資源文件(圖片mipmap及drawable文件夾下):
全部小寫,采用下劃線命名法,加前綴區分 通用規則 名稱 功能 bg_head 背景圖片使用bg_功能_說明 def_search_cell 默認圖片使用def_功能_說明 ic_more_help 圖標圖片使用ic_功能_說明 seg_list_line 具有分隔特征的圖片使用seg_功能_說明 (false)不可用效果 sel_ok 選擇圖標使用sel_功能_說明

- 命名模式:可加後綴 _small 表示小圖, _big 表示大圖,邏輯名稱可由多個單詞加下劃線組成
- 采用以下規則:
- 用途_模塊名_邏輯名稱
- 用途_模塊名_顏色
- 用途_邏輯名稱
- 用途_顏色
- 說明:用途也指控件類型(具體見UI控件縮寫表)
- 例如:
- btn_main_home.png 按鍵
- divider_maket_white.png 分割線
- btn_red.png 紅色按鍵
- btn_red_big.png 紅色大按鍵
- divider_white.png 白色分割線
- 如果有多種形態如按鈕等除外如 btn_xx.xml(selector)

normal、pressed、disbled、checked 較常用 名稱 功能 btn_xx 按鈕圖片使用btn_整體效果(selector) btn_xx_normal 按鈕圖片使用btn_正常情況效果 btn_xx_pressed 按鈕圖片使用btn_點擊時候效果 btn_xx_focused state_focused聚焦效果 btn_xx_disabled state_enabled (false)不可用效果 btn_xx_checked state_checked選中效果 btn_xx_selected state_selected選中效果 btn_xx_hovered state_hovered懸停效果 btn_xx_checkable state_checkable可選效果 btn_xx_activated state_activated激活的 btn_xx_windowfocused state_window_focused
3.動畫文件(anim文件夾下):
全部小寫,采用下劃線命名法,加前綴區分。 具體動畫采用以下
規則:模塊名_邏輯名稱 例如:
refresh_progress.xml market_cart_add.xml market_cart_remove.xml 普通的tween動畫采用如下表格中的命名方式,前面為動畫的類型,後面為方向
動畫命名例子 規范寫法 fade_in 淡入 fade_out 淡出 push_down_in 從下方推入 push_down_out 從下方推出 push_left 推向左方 slide_in_from_top 從頭部滑動進入 zoom_enter 變形進入 slide_in 滑動進入 shrink_to_middle 中間縮小
4.styles.xml文件的命名
規則:模塊名+邏輯名稱
main_tabBottom order_detail_goodsItem order_list_goodsImg

5. layout中的id命名
命名模式為:View縮寫_view的邏輯名稱,可以使用AndroidStudio的插件Android Studio Prettify 自動生成findViewById 例如:tv_Sender_Mobile(展示聯系人手機的TextView) 可參考 com.xiaoq.sample.mylib.code.CodeActivity 當然,全部小寫的命名是最標准的,不過為了要適應Prettify插件自動生成滿足要求的局部變量,調整為小駝峰命名法,並用下劃線分割

附錄

注意

其他未在文檔內標准的規范則以AndroidStudio自動生成的為准

UI控件縮寫表
控件 縮寫 例子 LinearLayout ll llFriend或者mFriendLL RelativeLayout rl rlMessage或mMessageRL FrameLayout fl flCart或mCartFL TableLayout tl tlTab或mTabTL Button btn btnHome或mHomeBtn ImageButton ibtn btnPlay或mPlayIBtn TextView tv tvName或mNameTV EditText et etName或mNameET ListView lv lvCart或mCartLV ImageView iv ivHead或mHeadIV GridView gv gvPhoto或mPhotoGV
常見英文單詞縮寫
名稱 縮寫 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)
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved