編輯: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)
關於Android View控件 Android中控件大致被分為兩類ViewGroup,View。ViewGroup作為容器管理View。Android視圖,是類
XML初步 今天我們來學習另一種非常重要的數據交換格式-XML。XML(Extensible Markup Language的縮寫,意為可擴展的標記語言),它是一
Fragment是Android中的重要組件,在Android 3.0的時候添加進來。 關於Fragment的生命周期,我相信了解過的開發人員都應該把以下方法脫口
前言 在Android開發中,ImageLoader應該算得上是最重要的開源庫之一,由於項目原因(不能使用開源庫),前段時間自己也是需要實現一個簡單的ImageL