1. 程式人生 > >資源前綴及代碼分析總結

資源前綴及代碼分析總結

osi android資源 draw 不用 nta values animator left 圖片

一、資源前綴
(項目中res文件夾下的所有資源都要添加前綴,包括anim、animator、layout、drawable文件夾中的xml文件名,drawable-xhdpi等文件夾下的圖片資源名,values文件夾下各文件中的資源名,raw文件夾下的文件資源名。其中attrs文件和styles文件中的資源前綴首字母需要大寫,其他的文件只需要小寫就可以了)
1、duobao_sdk
資源前綴為:“qfsdk_db_”
2、edu_sdk
資源前綴為:“qfsdk_edu_”
3、game_sdk
(1)fastanswer
資源前綴為:“qfsdk_fa_”
(2)idiom
資源前綴為:“qfsdk_idiom_”
(3)king_question
資源前綴為:“qfsdk_king_”
(4)pkanswer
資源前綴為:“qfsdk_pk_”
(5)qfsdk_game
資源前綴為:“qfsdk_gm_”
(6)wheeloffruits
資源前綴為:“qfsdk_wf_”
4、qfsdk_base
(1)qfgamebase
資源前綴為:“qfsdk_gmb_”
(2)qfsdkbase
資源前綴為:“qfsdk_base_”
(3)qianfanpay
資源前綴為:“qfsdk_pay_”
5、qianfansdk
資源前綴為:“qfsdk_”


二、Android studio 代碼分析
點擊Analyze菜單下的Inspect Code功能,可以對整個項目進行分析,類似link分析。

1、RecycleView的onBindViewHolder(ViewHolder holder,int position)方法中position不能設置成final
如果onclicklistener方法中需要調用position的話,可以使用holder.getAdapterPosition()方法得到position

2、當build.gradle文件中在Android的defaultconfig代碼塊中添加resourcePrefix "prefix_"時,會檢測相應資源是否已經添加前綴

3.檢測xml中是否有 Hardcoded text,提示使用@String方式修改


三/錯誤排名

1、第一:Android Resource Validation inspection (Android資源驗證檢查 )(243 errors)
在xml文件中未找到對應類,主要出現在xml資源文件和manifest文件中
2、第二:Resource with Wrong Prefix (前綴錯誤) (52 errors)
對應項目下的資源文件都需要標有特定前綴,可以看上面的標註
3、第三、Appcompat Custom Widgets (appcompat自定義部件) (14 errors)
如繼承TextView編寫自定義控件時,Android推薦使用android.support.v7.widget.AppCompatTextView;類似的還有AppCompatButton,AppCompatImageView等
4、第四:Missing explicit orientation (缺少明確的定位)(1 errors)
如LinearLayout未定義orientation
四、警告排名
1、第一:Spelling (拼寫警告) (52394 typos)
2、第二:Declaration redundancy (聲明冗余)大類 (7348 warnings)
(1)unused declaration (方法未調用) (3703 warning)
(2)Declaration access can be weaker (聲明可以縮小範圍) (1645 warning)
如將類的方法由public變為private
(3)Declaration can have final modifier (聲明可以使用final修飾) (1340 warning)
(4)Actual method parameter is same constant (方法名中的參數總是同一個常數)(280 warning)
3、第三:XML 大類 (5015 warning)
(1)Unbound XML namespace prefixes (XML中命名空間未限定)
4、第四:Properties Files (屬性文件類)
(1) unused Property(3088 warning) 多出現在.properties文件中
5、第五:Android>Link>Internationalization>Bidirectional Text
(1)Using left/right instead of start/end attributes (推薦使用start/end而不是left/right) (1383 warning) 使用left/right,若從右向左布局會出現問題。個人覺得這個不用改。
6、第六:Android>Link>Internationalization 國際化大類 (729 warning)
(1)Hardcoded text (578 warning) 推薦將字符串寫到string資源文件中
7、第七:Probable bugs (可能導致bug)大類 (470 warning) 推薦修改
8、第八:Android>Link>Performance 性能大類 (480 warning) 提升性能的修改,推薦修改
9、第九:Javadoc issues 大類 (899 warning)
10、第十、Android>Link>Accessibility 大類 (439 warning)
(1)Imageview without contentDescrip (439 warning)Imageview未提供文字描述
11、第十一、Code maturity issues 大類 (476 warning)
(1)Deprecated API usage 使用廢棄API(476 warning)

五、修改部分:
主要是Android>Link>Usability大類

資源前綴及代碼分析總結