手机卫士的目标
- 提升编码量
- 提升bug的修复能力
- 提升业务分析能力
- 提升彪马见识
代码的组织方式
- 项目结构
- 报的管理
org.itheima.safe.activity:所有的activity
org.itheima.safe.fragment:所有的fragment
org.itheima.safe.view:所有的view
org.itheima.safe.service:所有的service
欢迎界面(splash/wecome)
- 提升品牌知名度,展现LOGO
- 检测版本更新
splash界面
- splash界面布局
- 获取版本名称和版本号
- 获得最新版本后提示是否更新,不更新就直接进入主界面
- 获取最新的版本号,假如更新,创建对话框,显示下载的进度,下载最新的apk文件,下载完毕后,提示用户是否安装,不安装跳转到主界面,假如安装,发送隐式意图安装apk,安装结束后跳转到主界面
- 设置错误友好提示,设置错误码,以便查看错误
home主界面
- home主界面布局
- 实现主界面上属性动画
自定义控件实现跑马灯
自定义控件.简单分类:
- 继承View或者viewGroup,形式的自定义控件
- 组合式自定义控件
- 继承特殊的视图,例如:继承ListView
不管采用哪种方式,他们都会实现三个构造方法:
- 带有一个参数(上下文)—–>主要采用Java代码创建对象
- 带有两个参数(上下文,属性)—->主要是xml文件定义控件
- 带有三个参数(上下文,属性,样式)—>主要是xml文件定义控件
自定义控件的好处就是:能够在基础控件上面,拓展更多的功能
- 面向对象: 多态性(方法重写)
自定义控件如果写在xml文件中,一定是全路径:完整的包名称+类名称
xml定义图形资源Shape/状态选择器Selector[很重要]
位置:
- 在res文件下面新建文件夹drawable
新建xml文件
a.如果是Shape标签-->根节点就是<shape> b.如果是Selector选择器-->根节点就是<selector>
对于选择器而言:按压状态一定写在上面,默认状态一定写在下面
界面跑马灯的实现
组合自定义控件
- 新建一个独立布局,将多个控件组合在一起
- 新建一个类,需要继承布局的根布局
- 需要新建的布局挂载
- 布局中使用
自定义的属性
- 到values文件中创建一个attrs
- 新建属性
- 使用属性
命名空间
属性设置
- 接受属性,设置属性
代码逻辑
- 实现字体的跑马灯效果,使用自动以空间的效果
- 实现设置按钮的点击设置,要使用自定义控件来实现,可以让实现多项选择变得简单
- 使用图片选择器达到理想的效果
- 在已有的控件上实现自定义组合控件
- 使用自定义控件加载布局
- 加载自定义属性
- 设置自定义属性
- 使用gridView完成九宫格的布局
- 手机防盗的设置
初始化密码的操作
显示密码对话框
判断密码是否为空,两项密码是不是一致
跳转到下个页面