博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 手机卫士--阶段小结1
阅读量:7069 次
发布时间:2019-06-28

本文共 1918 字,大约阅读时间需要 6 分钟。

本文地址:,转载请注明源地址。

本文对之前手机卫士开发进行一个小结。

1、SplashActivity

版本名称的展示,从清单配置文件中获取版本名称,PackageManager
服务端新版本的检测(本地版本号<服务器版本号)
展示logo

2、手机防盗

sim卡绑定:每一款手机都会有相应的卡的序列号,一旦替换掉原有电话卡,序列号会发生改变

3、手机卫士分包

基础课程分包方式,每一个类包名,
com.itheima.db
com.itheima.db.dao 组件方式

业务逻辑划分

例如对于icbc

com.icbc.money

com.icbc.meeting
com.icbc.travel
组件划分(四大组件:activity,服务,广播,内容提供者(内容解析者))

mobilesafe

com.wuyudong.mobilesafe.activity

com.wuyudong.mobilesafe.service

数据库操作

com.wuyudong.mobilesafe.db
com.wuyudong.mobilesafe.db.dao

工具类

com.wuyudong.mobilesafe.utils

自定义控件(android原有控件,不能满足需求),自定义组合控件

com.wuyudong.mobilesafe.view
com.wuyudong.mobilesafe.ui.widget

4、应用去头

方式一:每个类都需要去添加此代码
在setContentView(R.layout.activity_splash);
前设置以下代码
requestWindowFeature(Window.FEATURE_NO_TITLE);

方式二:统一去掉所有activity的头

@android:style/Theme.Light.NoTitleBar方式去头,使用老版本主题样式
修改默认样式文件为
<style name="AppTheme" parent="AppBaseTheme">
<!-- 在去头的同时,还保留高版本的样式主题 -->
<item name="android:windowNoTitle">true</item>
</style>

5、packageManager获取当前应用版本名称,版本号

版本名称:用于展示(阴影效果,颜色)

版本号:用于和服务端的apk比对,

如果服务器端的版本号>本地版本号 弹出对话框提示用户更新
服务器版本号<=本地版本号 直接进入应用程序主界面

6、网络请求发送

客户端发送请求

服务端以流的形式返回数据,数据需转换成字符串,(json)

7、json解析

看见什么解析什么,解析相应字段的时候,一定要去copy不要手写

8、json解析异常情况

json一旦解析出现错误,通过断点调试是最好的调错方式

断点调试常用按钮:
绿色:跳转到下一个断点
红色:断开本次断点调试
下一步:执行当前代码,执行到下一步
跳转到方法内部执行

9、xutils使用过程

(1)导入xutils的jar包

(2)添加xutils需要使用的权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
(3)获取HttpUtils对象,下载指定链接地址的apk
(4)HttpUtils对象调用download(下载链接地址,下载后放置文件的路径,下载过程中方法的回调
onStart()
onloading()
onSuccesd()
onFail() )
(5)下载apk后的安装过程,

10、打包生成apk过程

(1)生成签名文件,并且指定所在位置
(2)使用生成的签名文件,给工程打包生成一个apk
11、安装apk注意事项
升级
1,注意事项:将原有应用覆盖掉,包名一致

2,签名一致???

从Eclipse运行至手机上的应用,使用的是bin目录下的应用,使用debug.keystore签名应用

手机卫士版本一,右键运行至手机的,所以使用签名是debug.keystore

手机卫士版本二,单独打包,生成相应签名文件heima74keystore

生成一个heima74keystore作为签名文件的apk

签名一致,包名不同:生成两个手机卫士apk,包名是应用的唯一性标志

签名不同,包名一致:覆盖安装失败

版本更新流程如下:

你可能感兴趣的文章
BigDecimal 使用浅析
查看>>
分享按钮网站
查看>>
初识三层架构
查看>>
类型转换
查看>>
经典面试题:如何保证缓存与数据库的双写一致性?
查看>>
你真的了解Netty中@Sharable?
查看>>
DELPHI 初学.
查看>>
C# .net基于Http实现web server(web服务)
查看>>
一天一个设计模式(18)——状态模式
查看>>
Codeforces Round #337 Alphabet Permutations
查看>>
树链剖分前传
查看>>
poj 2417 && poj3243(Baby-Step Giant-Step)
查看>>
动画链接
查看>>
序列化
查看>>
BOOL与bool TRUE与true FALSE与false 区别
查看>>
第十三篇、jQuery Mobile
查看>>
webService入门理解
查看>>
js函数对象
查看>>
小程序:如何在wxml页面中调用JavaScript函数
查看>>
MyEclipse For Linux版本的下载
查看>>