树懒_移动开学笔记_day31_编程规范_安全卫士
来源:互联网 发布:水冷 风冷 知乎 编辑:程序博客网 时间:2024/05/22 23:59
树懒
day31
手机安全卫士
Android开发参考文档
一、Android编码规范
1. java代码中不出现中文,最多注释中可以出现中文和xml代码中注释
2. 成员变量,局部变量、静态成员变量命名、常量(宏)命名 1). 成员变量: activity中的成员变量以m开头,后面的单词首字母大写(如Button mBackButton; String mName);实体类和自定义View的成员变量可以不以m开头(如ImageView imageView, String name), 2). 局部变量命名:只能包含字母,组合变量单词首字母出第一个外,都为大写,其他字母都为小写 :驼峰法则 3). 常量(宏)命名: 只能包含字母和_,字母全部大写,单词之间用_隔开 UMENG_APP_KEY3. Application命名 : 项目名称+App, 如SlimApp,里面可以存放全局变量,但是杜绝存放过大的实体对象4. activity和其中的view变量命名 activity命名模式为:逻辑名称+Activity view命名模式为:逻辑名称+View 5. layout及其id命名规则 layout命名模式:activity_逻辑名称,或者把对应的activity的名字用“_”把单词分开。命名模式为:模块名称_view的逻辑名称_ view缩写, 用单词首字母进行缩写 view的缩写详情如下 LinearLayout:lly RelativeLayout:rly TextView:tv ImageView:iv ImageButton:ib Button:btn ListView:lstView6. strings.xml中的 1). id命名模式: activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称,strings.xml中,使用activity名称注释,将文件内容区分开来 2). strings.xml中使用%1$s实现字符串的通配,合起来写7. drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称/ic_逻辑名称 (逻辑名称: 这是一个什么样的图片,展示功能是什么)8. styles.xml 将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中;9. 使用layer-list和selector,主要是View onClick onTouch等事件界面反映10. 切图需求 1). 多图片组合的,尽量分拆成多个可重用的图片,避免一个图片太大. 2). 尽量使用.9图片,自动适配适配界面。11.服务端可以实现的,就不要放在客户端 1). 图片过大时,服务端压缩图片后返回来可减少很多问题出现 2). 及时更新的数据,尽管本地有缓存12. 引用第三方库要慎重,避免应用大容量的第三方库,导致客户端包非常大,或者其他非 本应用的信息会出现,影响体验。13. 处理应用全局异常和错误,将错误以邮件的形式发送给服务端14. 使用静态变量方式实现界面间共享要慎重 15. Log(TAG,详细描述), 加开关,打包时关掉log,提高运行速度。如 if (SlimConf.DEBUG) { Log.d(TAG, "plan_init_enabled= " + plan_init_enabled); }16. 单元测试(逻辑测试、界面测试),避免次生问题随着解决问题增加。17. 不要重用父类的handler,对应一个类的handler也不应该让其子类用到,否则会导致msg.what冲突,方法是声明父类handler为private18. activity中的Listener Activity只用一个View.OnClickListener, View.OnTouchListener等Listener中处理所有控件的逻辑,即,XXActivity impliments OnClickListener方式实现接口,绑定周期,减少接口实例数量 注意:尽量不要给每个点击控件设置一个View.OnClickListener实例 19. 如果多个Activity中包含共同的UI处理,那么可以提炼一个AbsXXActivity.java或者XXActivityBase.java,可以是一个抽象类,把通用部分叫由它来处理,其他activity只要继承它即可,可以是一个抽象activity,子类定义具体需求的函数(重载或者重写)20. 使用button+ViewGroup实现tab效果时,使用Button.setSelected(true),确保按钮处于选择状态,并使activitygroup的当前activity与该button对应21. 如果所开发的为通用组件,为避免冲突,将drawable/layout/menu/values目录下的文件名增加前缀22.数据一定要效验,例如 字符型转数字型,如果转换失败一定要有缺省值;if(object instanceof User) 服务端响应数据是否有效判断;23.有的按钮要避免重复点击,避免重复发送几个http请求或耗时任务等。 方法:点击之后setEnable(false), 一段时间之后setEnable(true),24. 复杂循环体超过8行时,需要在外部加注释;25. 方法,函数名字尽量体现其功能含义(函数名能完全体现功能是可以不要注释;函数中的注释一定按照缩进格式注释。函数内部单行注释写在该行上面);26. 函数行数尽量不能超过100(if,for语句中的行数不能超过50,超过时,提出来作为函数使用(Switch除外))。27. 同一个类文件中不能出现雷同的code段,相同的部分提出来作为函数使用,或者使用函数重载,用参数的数量和类型来控制其功能区别。
二、项目包结构设计
三、手机安全卫士介绍
1. 功能介绍
本项目是一款针对于手机安全和手机软件管理方面的应用软件,实用性好,功能强大。功能包括手机防盗、电话短信拦截、软件管家、进程管理、流量统计、手机杀毒、缓存清理、设置中心、号码归属地查询、短信备份、手机广告等功能
2. 效果展示
3. 目标: 承上启下
巩固基础(用到基础中涉及的知识), 基础练级、技术练级
项目中的技术和开源框架实现 ,积累开发经验
四、导航界面设计
1. 欢迎动画效果
2. 图片滑动效果(ViewPager)
3. 缓存工具类
4. 日志工具类
五、Splash界面
1. Splash界面作用或者意义
2. 实现
界面设计
检测新版本
0 0
- 树懒_移动开学笔记_day31_编程规范_安全卫士
- 树懒_移动开学笔记_day41_安全卫士_进程管理
- 树懒_移动开学笔记_day39&day40_安全卫士_分页查询_反射
- 树懒_移动开学笔记_day42&day43_安全卫士_看门狗_签名
- 树懒_移动开学笔记_day32_安全卫士2_自定义控件
- 树懒_移动开学笔记_day36&day37&day38_安全卫士_ViewPage_归属地_黑名单
- 树懒_移动开学笔记_day19_高级UI编程思路
- 树懒_移动开学笔记_day20_ui_Toast_dialog编程思路
- 树懒_移动开学笔记_day01_web_html
- 树懒_移动开学笔记_day03_web_JavaScript高级
- 树懒_移动开学笔记_day06_http_servlet
- 树懒_移动开学笔记_day07_request_response
- 树懒_移动开学笔记_day08_cookie_session
- 树懒_移动开学笔记_day09_jsp
- 树懒_移动开学笔记_day10_jsp_el_jstl
- 树懒_移动开学笔记_day12_mysql语法
- 树懒_移动开学笔记_day13_jdbc_sql注入
- 树懒_移动开学笔记_day25_服务
- C语言中sprintf()函数的用法
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- Java 8函数式编程学习笔记
- 基本数据类型字节数大小
- ubuntu android-studio创建右侧快捷启动方式
- 树懒_移动开学笔记_day31_编程规范_安全卫士
- 杭电acm2010水仙花数
- 5253 连接的管道【最小生成树prim+优先队列】
- NOIP模拟20150904总结
- matlab的plot调用函数不能用了,总出现错误:Attempt to execute SCRIPT plot as a function
- 基于R做相关分析
- 【Python系列3】两个txt文件通过id进行关联
- UVa 140:Bandwidth(暴力)
- C++ #include<string> 和 using std::string