客户端开发

来源: https://www.worthpen.top/blog?id=6566174c6aa58e39d9301937

1 应用密钥(key)

1.1 key(密钥)的基本概念

通常所说的密钥加密是采用的是非对称加密方式。即,每个key都含有一对密钥和一个hash值(指纹),一对密钥也就是公钥和私钥。公钥可以分发出去,私钥自己保密。用公钥加密的内容,只能用私钥解出;用私钥加密的内容,只能用公钥解出。

1.2 什么是.jks文件?

.jks文件是密钥库格式的文件,文件中保存了一个密钥库,密钥库中又保存了多个密钥。每个密钥中包含了两条数据:(1)密钥实体(Key entity)— 密钥(secret key)又或者是私钥和配对公钥(采用非对称加密)(2)可信任的证书实体(trusted certificate entries)— 只包含公钥因此,我们平时说的证书也就是公钥,密钥也就是私钥,这里翻译可能有点乱,看了好多资料也没个准确的定义,重点是意会。

1.3 Alias(别名)又是什么?

别名则是这条密钥的名字,用来人为地区别分不同的密钥,密钥是字符,也不太好背。

1.4 jks和别名的password(密码)的关系?

jks的密码就是密钥库的密码,拥有这个密码就可以得到这个密钥库里所有密钥的公钥。别名的密码就是私钥的密码,拥有这个密码就可以得到私钥的密码,一般这个密码是开发者自己保留。

1.5 APK的签名机制有什么作用?

(1)APK的升级安装:APK如果使用一个key,发布时另一个key的相同的APK文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉。
(2)功能和数据共享:Android提供了基于签名的权限机制,一个APK可以向另一个以相同证书签名的APK开放自己的功能和实现数据共享。# 2 热更新
APP的热更新,类似于游戏中APP内下载更新,不需要重新安装,实现用户无感BUG修复。

3 应用版本号命名规则

软件版本号由四部分组成:
第一部分为主版本号。当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。
第二个部分为子版本号。当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。
第三个部分为阶段版本号。一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。
第四部分为日期版本号加其他。用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。
格式:<主版本号>.<次版本号>.<修订版本号>.<日期版本号>_<其他标记>,如 1.0.0.1225_zhangsan
上传服务器的版本命名规则:
versionName_versionCode

4 px, dp和sp等单位的区别

https://zhidao.baidu.com/question/2055784248244093667.html

5 应用架构

针对Flutter,我设计了如下架构:
app系统层(提供app通用的模块)
app应用层(提供app特有内容:
view.package(业务界面模块:
page.dart
通用widget.dart)
model.package(业务逻辑模块)
other.package(包含国际化等文件))

6 可以自动换行的自定义空间的设计思路

可以通过预先设定列数,比如先设定两列,再给要加入的自定义控件增加ID属性,ID为奇数则在第一列,偶数则在第二列。

7 多端数据同步

详情查看:知乎收藏/flutter/离线数据同步的思路。

8 app框架所需内容

splash界面;
统一路由;
国际化插件;
登录;
更新;
反馈;
隐私。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoilingHotPot

听说打赏我的人,都发顶会顶刊了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值