com. 公司名称简写.应用名称简写(拼音或者英文).bean 放javabean类
com. 公司名称简写.应用名称简写(拼音或者英文).util 放各种工具类 (图片,字符,时间,dalog 等)
com. 公司名称简写.应用名称简写(拼音或者英文).net 放和服务器交互的类
com. 公司名称简写.应用名称简写(拼音或者英文).view 放 自定义view的类
com. 公司名称简写.应用名称简写(拼音或者英文).db 放 本地数据库操作相关的类
当然 上面的公司名称可以换成别的 ,尽量用简写或者英文 比如qq: 就可以写成 com.tencent.qq.activity,大家明白这个意思就好。
二.类文件命名
1. activity
activity 我习惯分为两种考虑, 一种是列表数据的, 第二种是普通的activity 。这么分有个好处就是找这个类的时候方便。当你看到这个界面时列表数据的时候 直接搜索listActivity就能过滤掉一大部分,然后再筛选会简单很多。这个大家从上面我定义的包名中就看出来了。
所以 activity的命名是 : 功能简写+Activity
功能简写+ListActivity
登录:LoginActivity
用户列表:UserListActivity
2. layout xml
全部小写,用_隔开 xml命名 分为几种
主Activity用到的xml : activity_activity名称简写.xml activity_login.xml
include的xml:include_功能简写.xml include_top_search.xml
adapter中用到的xml:item_adapter名称简写.xml item_user_list.xml
dialog用到的xml:dialog_功能简写.xml dialog_show_tips.xml
自定义view用的xml :view_view名称简写.xmlview_header.xml 这个就是共用的view 也可以用common_view名称简写.xml替换
附加:xml中 控件id命名
模块名称_view的逻辑名称_view缩写
用户名EditText : login_username_et
登录确认Button: login_confirm_btn
LayoutView lv
RelativeView rv
EditText et
TextView tv
Button btn
ImageButton imgBtn
ImageView iv
CheckBox cbx
RadioButton rbtn
其他的类似 不一一列举 这些都不是规定死的 ,大家自己定义,前提能区分开不同的控件并且能让别人看懂。
3.工具类等
工具类功能简写+Util : DialogUtil.java 、 TextUtil.java
三. 图片等资源文件命名
背景图片: bg_功能_说明 bg_login_commit
图标图片: icon_功能_说明 icon_tab_set
功能也可以换为 acvitiy名称简写
共用的图片 前面都加 common
四.程序中变量 常量命名
在说这个之前要给大家补充一下 标识符命名。就是变量和常量名字
我一般就用两种:
1 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。
protected TextView mWatchCountInfoTv;
protected TextView mNicknameTv;
protected TextView mLocationTv;
protected TextView mVideoTopicTv;
protected TextView mVideoTitleTv;
2.下划线命名法:单词与单词间用下划线做间隔。
private static final int MSG_SHOW_GIFT = 20;
private static final int MSG_SHOW_EXPRESSION = 21;
private static final int MSG_SHOW_RED_PACK = 22;
private static final int MSG_SHOW_JOIN_USER = 23;
1. 静态常量
名称都是 功能说明_类别 统一下划线命名法
private static final int MSG_SHOW_GIFT = 20;
private static final int MSG_SHOW_EXPRESSION = 21;
private static final int MSG_SHOW_RED_PACK = 22;
private static final int MSG_SHOW_JOIN_USER = 23;
2.变量
这个分为两种 全局变量 还是 局部变量
如何做好面试突击,规划学习方向?
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
我搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。
在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
参考docs.qq.com/doc/DSkNLaERkbnFoS0ZF