1. 程式人生 > >Android開發中的命名規範

Android開發中的命名規範

Android編碼規範

包命名規範

包(packages):採用反域名命名規則,全部使用小寫字母。一級包名為com,二級包名為xxx(可以是公司域名或者個人命名),三級包名根據應用進行命名,四級包名為模組名或層級名。

包名

說明

com.xxx.應用名稱縮寫.activities

頁面用到的Activity類(activities層級使用者介面)

com.xxx.應用名稱縮寫.fragment

頁面用到的Fragment類

com.xxx.應用名稱縮寫.base

頁面中每個Activity類共享的可以寫成一個BaseActivity類(基礎共享的類)

com.xxx.應用名稱縮寫.adapter

頁面用到的Adapter類(介面卡的類)

com.xxx.應用名稱縮寫.utils

此包中包含:公共工具方法類(包含日期、網路、儲存、日誌等工具類)

com.xxx.應用名稱縮寫.bean

(model/domain均可,個人喜好)

實體類

com.xxx.應用名稱縮寫.db

資料庫操作

com.xxx.應用名稱縮寫.view(或者.ui)

自定義的View類等

com.xxx.應用名稱縮寫.service

Service服務

com.xxx.應用名稱縮寫.broadcast

Broadcast服務

類命名規範

類(classes):名詞,採用大駝峰命名法,儘量避免縮寫,除非該縮寫是眾所周知的,比如HTML,URL,如果類名稱包含單詞縮寫,則單詞縮寫的每個字母均應大寫。

描述

例如

Application類

Application為字尾標識

XXXApplication

Activity類

Activity為字尾標識

閃屏頁面類

SplashActivity

解析類

Handler為字尾標識

公共方法類

Utils或Manager為字尾標識

執行緒池管理類:ThreadPoolManager

日誌工具類:LogUtils

資料庫類

以DBHelper字尾標識

MySQLiteDBHelper

Service類

以Service為字尾標識

播放服務:PlayService

BroadcastReceiver類

以Broadcast為字尾標識

時間通知:

TimeBroadcast

ContentProvider類

以Provider為字尾標識

單詞內容提供者:DictProvider

直接寫的共享基礎類

以Base為字首

BaseActivity,

BaseFragment

變數命名規範

變數(variables)採用小駝峰命名法。類中控制元件名稱必須與xml佈局id保持一致。

公開的常量:定義為靜態final,名稱全部大寫。eg: public staticfinal String ACTION_MAIN=”Android.intent.action.MAIN”;

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

非靜態的私有變數、protected的變數:以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字首標識

佈局檔案命名規範

 全部小寫,採用下劃線命名法

1).contentview命名, Activity預設佈局,以去掉字尾的Activity類進行命名。不加字尾:

功能模組.xml

eg:main.xml、more.xml、settings.xml

       或者:activity_功能模組.xml

eg:activity_main.xml、activity_more.xml

2).Dialog命名:dialog_描述.xml

eg:dlg_hint.xml

3).PopupWindow命名:ppw_描述.xml

       eg:ppw_info.xml

4). 列表項命名listitem_描述.xml

eg:listitem_city.xml

5).包含項:include_模組.xml

eg:include_head.xml、include_bottom.xml

6).adapter的子佈局:功能模組_item.xml

eg:main_item.xml、

資源id命名規範

 命名模式為:view縮寫_模組名稱_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資料夾下):全部小寫,採用下劃線命名法,加字首區分。

//前面為動畫的型別,後面為方向

動畫命名例子

規範寫法

備註

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)