鸿蒙 鸿蒙 OS 浅出学习笔记(三)

狂天 · 2021年06月17日 · 最后由 狂天 回复于 2021年06月18日 · 3994 次阅读

八、资源文件目录
资源文件(字符串,图片,音频等)统一存放在 resource 目录下。
resource 目录下默认有两个子目录:
rawfile 和 base。
区别是 rawfile 可自由创建多级子目录,base 目录的子目录则必须
符合命名规范。

除此之外还有由开发者自行创建的限定词目录。
限定词目录的创建目的是因为 resource 可以自动匹配与设备状态相符的限定词目录。

限定词命名规则:
语言文字国家或地区 - 横竖屏 - 设备类型 - 屏幕密度
注:开发者可以根据自己需求选择其中一类或几类使用。
注 2:限定词取值:https://www.w3cschool.cn/harmonyos/harmonyos-tvx63bwx.html

base 和限定词目录下可资源组目录:
element:存放数据变量
示例:

{
    "boolean":[
        {
            "name":"boolean_1",
            "value":true
        },
        {
            "name":"boolean_ref",
            "value":"$boolean:boolean_1"
        }
    ]
}

media:图片,音频视频
animation:动画
layout:布局
graphic:可绘制资源
profile:其他

九、应用数据管理
1.本地应该数据管理:
支持单设备的表数据存读。
2.分布式数据:
通过调用分布式数据接口,可将数据保存至分布式数据库中,
通过账号和应用标识对不同应用的数据进行隔离。
3.分布式文件:
每个设备上创建的应用文件都可被其他设备读取,因为每台设置上都会存储一份全量的文件路径,并可进行搜索。

十、应该权限管理
鸿蒙中所有应用均在应用泥沙盒内运行,应用只能访问有限的系统资源,系统管理应用对资源的权限。
应用权限由接口提供方(ability),接口使用方(应用),和系统(云侧和应用端侧)和用户共同参与,避免滥用。

1.权限声明:
应用或使用的三方库需要的权限需要在 config.json 中使用 “reqPermissions” 进行声明,不声明无法使用。
示例:

"reqPermissions": [
           {
               "name": "ohos.permission.CAMERA",
               "reason": "$string:permreason_camera",
               "usedScene": 
               {
                   "ability": ["com.mycamera.Ability", "com.mycamera.AbilityBackground"],
                   "when": "always"
               }
           },{
           ...
           }
       ]

2.动态权限申请:
需要应用在运行时主动调用系统动态申请权限的接口,系统弹窗由用户授权。
3.自定义权限:
一般情况下,系统已定义的权限已经可以满足应用的基本需要,如有特殊需要可通过 config.json 中的 defPermissions 来定义新的权限。
4.权限保护方法:
保护 ability:在 config.json 里对应的 Ability 中配置 permissions,可指定有相应权限的应用才能访问此 ability。
保护 API:ability 对外提供的数据,可针对不同对调用者进行鉴权。

权限使用原则:
1.只申请跟提供功能相关的权限;尽量使用不需要权限的操作来实现功能。
2.所需权限均要在 config.json 中声明。
3.敏感权限让用户知晓。
4.用户只在触发接近的功能时才提示请求授权。
5.用户未授权禁止提供给其他用户使用。
6.以包名作开头命名权限,防止跟系统权限重名。

十一、应用隐私保护
应用上架时,鸿蒙会根据隐私保护规则对应用进行校验,不满足条件无法上架。
数据使用原则:
1.勿要收集与应用提供服务无关的用户数据
2.应用申请应给予用户足够的提示
3.应用密钥及用户敏感数据应存在私有目录
4.应用开发的数据应优先在本地处理,本地无法处理才能上传至云服务

共收到 6 条回复 时间 点赞

要不要开通专栏?

恒温 回复

不用吧,也没啥人看,哎😂

狂天 回复

挺好的,鸿蒙需要更多人来普及

看了 支持楼主

感谢恒总支持啦🤓

L. 回复

谢谢兄弟支持

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册