day38_实战项目安全卫士之第01天

01_代码组件结构

  1. 按业务功能来划分模块

    智能手表:

    1. 时间 模块
    2. 养生 模块
    3. 跑步测速 模块
    4. 收音机 模块
    5. 定位 模块
    6. 蓝牙接听电话
  2. 按代码类型划分模块

    1. activity
    2. service
    3. broadcast receiver
    4. content provider
    5. dao(数据存取对象)
    6. engine(业务层,不是service)
    7. utils
    8. 自定义view

图示:

更新界面都是通过Adapter中的notify

 

命名规范:

  1. 界面组件命名规范

    组件名的简称___布局文件名/activity名___作用名

    如:

            ProgressBar 在splash界面中,起到了显示进度:pb_splash_loading

     

            

02_splash界面的显示

  1. splash界面的作用

    1. 展示LOGO
    2. 初始化数据
    3. 访问网络(耗时操作)
  2. 开发splash界面

    1. 定义布局显示splash界面
      1. 注意修改样式:

        全屏,无标题

        <item name="android:windowFullscreen">true</item>

        <item name="android:windowNoTitle">true</item>

03_alpha动画

  1. 定义动画

    AlphaAnimation 渐变动画

    RotateAnimation 旋转动画

    ScaleAnimation 比例动画

    TranslateAnimation 位移动画

    Animation             动画集

     

04_渐变,旋转动画

        渐变和旋转动画的构造函数

 

动画集的使用:true动画插入器

 

05_网络读取json数据,并且解析成对象

  1. 访问网络监测版本变化

    1. 在tomcat中创建版本信息数据

            IP 10.0.2.2 模拟器访问本机服务器的固定Ip

  1. 读取json数据获取最新的版本号,比对自己的版本

 

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

 

06_检查版本是否更新apk

sleep程序:

SystemClock.sleep(3000-(endTimeMills-mStartTimeMillis));

发送message:

// 弹出对话框,显示新版本的描述信息,让用户点击是否更新

Message msg = Message.obtain();

msg.what = SHOWUPDATEDIALOG;

handler.sendMessage(msg);

接收message的handler:

intent打开新界面:

Intent intent = new Intent(SplashActivity.this, HomeActivity.class);

startActivity(intent);

dialog的this:

07_下载新的apk

 

AS导入 开源库:

httpUtils:

 

 

 

instant run requires 'Tools|Android|Enable ADB integration' to be enabled

 

 

文件目录:

08_安装apk

 

  1. 子线程访问tomcat服务器获取json格式的数据
  2. 解析json数据
  3. 获取自己的版本
  4. 比较版本
  5. 版本一直直接进入主界面
  6. 版本不一致,对话框提示是否更新新版本(handler发消息)
  7. 如果取消,直接进入界面
  8. 如果是更新,下载新版本(xutils)
  9. 下载到sd卡
  10. 安装apk (拷贝上层源码 packageinstall的清单文件)

09_取消对话框处理

  1. 更新apk常见问题

  2. 用户返回对话框
    1. 禁用

  1. 定义取消的事件

 

11_apk的签名

 

adb的修复:

必须要保持签名一致

12_显示下载的进度

 

13_主界面的创建

自定义view的构造方法:

 

TextView文本滚动:

 

 

background和src设置图片的区别:

background是填充的

14_状态选择器

状态选择器不接受颜色,间接创建颜色

 

15_自定义对话框保存密码

.9.png 出问题

 

对话框的layout文件

 

建立工具类:MyConstants(接口),SpTools

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值