欢迎来到天天文库
浏览记录
ID:19298239
大小:17.48 KB
页数:7页
时间:2018-09-30
《android,设计规范,官方文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、android,设计规范,官方文档 篇一:Android开发规范参考文档 Android开发参考文档 一、Android编码规范1.java代码中不出现中文,最多注释中可以出现中文.xml代码中注释 2.成员变量,局部变量、静态成员变量命名、常量(宏)命名 1).成员变量:activity中的成员变量以m开头,后面的单词首字母大写(如ButtonmBackButton;StringmName);实体类和自定义View的成员变量可以不以m开头(如ImageViewimageView,Stringname),
2、 2).局部变量命名:只能包含字母,组合变量单词首字母出第一个外,都为大写,其他字母都为小写 3).常量(宏)命名:只能包含字母和_,字母全部大写,单词之间用_隔开UMENG_APP_KEY 3.Application命名 项目名称+App,如SlimApp,里面可以存放全局变量,但是杜绝存放过大的实体对象 4.activity和其中的view变量命名 activity命名模式为:逻辑名称+Activity view命名模式为:逻辑名称+View 建议:如果layout文件很复杂,建议将layout分成
3、多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 5.layout及其id命名规则 layout命名模式:activity_逻辑名称,或者把对应的activity的名字用“_”把单词分开。 命名模式为:view缩写_模块名称_view的逻辑名称,用单词首字母进行缩写 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:ib Button:btn 6.中的
4、 1).id命名模式: activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称,中,使用activity名称注释,将文件内容区分开来 2).中使用%1$s实现字符串的通配,合起来写 7.drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称/ic_逻辑名称 (逻辑名称:这是一个什么样的图片,展示功能是什么) 8. 将layout中不断重现的style提炼出通用的style通用组件,放到中; 9.使用layer-li
5、st和selector,主要是ViewonCclickonTouch等事件界面反映 10.切图需求 1).多图片组合的,尽量分拆成多个可重用的图片,避免一个图片太大. 2).尽量使用.9图片,自动适配适配界面。 11.服务端可以实现的,就不要放在客户端 1).图片过大时,服务端压缩图片后返回来可减少很多问题出现 2).及时更新的数据,尽管本地有缓存 12.引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大,或者其他非本应用的信息会出现,影响体验。 13.处理应用全局异常和错误,将错误以邮
6、件的形式发送给服务端 14.使用静态变量方式实现界面间共享要慎重 15.Log(TAG,详细描述),加开关,打包时关掉log,提高运行速度。如 if(){ }(TAG,"plan_init_enabled="+plan_init_enabled); 16.单元测试(逻辑测试、界面测试),避免次生问题随着解决问题增加。 17.不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致冲突,方法是声明父类handler为private 18.activity中的Listener
7、 Activity只用一个,View.中处理所有控件的逻辑,即,XXActivityimplimentsOnClickListener方式实现接口,绑定周期,减少接口实例数量 注意:尽量不要给每个点击控件设置一个实例 19.如果多个Activity中包含共同的UI处理,那么可以提炼一个或者,可以是一个抽象类,把通用部分叫由它来处理,其他activity只要继承它即可,可以是一个抽象activity,子类定义具体需求的函数(重载或者重写) 20.使用button+activitgroup实现tab效果时,使用(
8、true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应 21.如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀 22.数据一定要效验,例如 字符型转数字型,如果转换失败一定要有缺省值;if(objectinstanceof
此文档下载收益归作者所有