Android/鸿蒙应用的资源配置技巧

server/2024/10/18 4:34:54/

HarmonyOS NEXT的发布是一道分界线,它将脱离安卓架构,成为真正独立的操作系统,也被称为“纯血鸿蒙”。

目前已有多家头部企业正加速鸿蒙原生应用开发,包括支付宝、美团、京东、钉钉、小红书、新浪、网易等,覆盖便捷生活、出行文旅、金融便利、社交资讯、生产力工具、影音娱乐、游戏等领域,鸿蒙原生应用版图已基本成形。

对于我们开发者而言,也许是又一次技术升级。随着纯血鸿蒙的横空出世,国内厂商适配鸿蒙的热情空前高涨。

今天遇到个有趣的问题,特此记录一下。
相信大家对于Android项目中的颜色资源并不陌生,如下图所示:
在这里插入图片描述
而鸿蒙项目中的颜色资源是以这种方式存在的,如下图所示:
在这里插入图片描述
如果从项目中手动处理这些资源,那将是费时费力还不讨好。

这就需要用脚本来处理。

#!/bin/bash# 设置输入和输出文件
INPUT_FILE="/Users/XXX/src/main/res/values/colors.xml"
OUTPUT_FILE="colors.json"# 开始生成 JSON
echo '{"color": [' > "$OUTPUT_FILE"# 解析 XML 文件并生成 JSON
xmllint --xpath "//color" "$INPUT_FILE" | while read -r line; do# 提取 name 和 valuename=$(echo "$line" | sed -n 's/.*name="\([^"]*\)".*/\1/p')value=$(echo "$line" | sed -n 's/.*>\(.*\)<.*/\1/p')# 添加到 JSON 数组echo "  {\"name\": \"$name\", \"value\": \"$value\"}," >> "$OUTPUT_FILE"
done# 移除最后一个逗号
sed -i '' -e '$ s/,$//' "$OUTPUT_FILE"# 结束 JSON 数组
echo "]}" >> "$OUTPUT_FILE"echo "转换完成,输出文件为 $OUTPUT_FILE"

机智的你发现字符串也一样可以这样做,只需对上述脚本做些许改动即可。



#!/bin/bash# 设置输入和输出文件
INPUT_FILE="/Users/XXX/src/main/res/values/strings.xml"
OUTPUT_FILE="strings.json"# 开始生成 JSON
echo '{"string": [' > "$OUTPUT_FILE"# 解析 XML 文件并生成 JSON
xmllint --xpath "//string" "$INPUT_FILE" | while read -r line; do# 提取 name 和 valuename=$(echo "$line" | sed -n 's/.*name="\([^"]*\)".*/\1/p')value=$(echo "$line" | sed -n 's/.*>\(.*\)<.*/\1/p')# 添加到 JSON 数组echo "  {\"name\": \"$name\", \"value\": \"$value\"}," >> "$OUTPUT_FILE"
done# 移除最后一个逗号
sed -i '' -e '$ s/,$//' "$OUTPUT_FILE"# 结束 JSON 数组
echo "]}" >> "$OUTPUT_FILE"echo "转换完成,输出文件为 $OUTPUT_FILE"

这样我们就轻松地完成了从Android到鸿蒙的资源迁移。
接下来就是正常的业务开发啦。


http://www.ppmy.cn/server/132678.html

相关文章

GESP CCF python一级编程等级考试认证真题 2024年9月

一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 据有关资料&#xff0c;山东大学于1972年研制成功DJL-1计算机&#xff0c;并于1973年投入运行&#xff0c;其综合性能居当时全国第三位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成…

性能优化-SQL查询优化技巧全解

SQL查询优化技巧全解 在数据库操作中&#xff0c;SQL查询的性能直接影响到应用程序的响应速度。本文将深入探讨SQL查询优化的关键技术&#xff0c;并结合实例展示如何使用itBuilder这款强大的数据库设计、建模软件&#xff0c;来辅助提升开发效率。 1. SQL查询基础与执行计划…

自由学习记录(7)

文件的判断是否存在&#xff0c;带上文件自己的名字 XmlSerializer (Person)serializer.Deserialize(reader); 如果出错之后&#xff0c;没有try来接&#xff0c;就会直接程序报错暂停&#xff0c; 有了的话无论如何都会继续正常进final using则是正常 为什么要用 using&a…

python爬虫实战案例——从移动端接口抓取微博评论,采用cookie登陆,数据存入excel表格,超详细(15)

文章目录 1、任务目标2、网页分析3、代码编写3.1 代码分析3.2 完整代码1、任务目标 1、目标网站:微博文章(https://m.weibo.cn/detail/4813628149072458),这是微博某一篇博文,用于本文测试 2、要求:爬取该博文下,所有一级评论和二级评论,以及每条评论的作者,最后保存至E…

中国全国省市区县汇总全国省市区json省市区数据2024最新

简介 包含全国省市区县数据,共3465个。 全国总共有23个省、5个自治区、4个直辖市、2个特别行政区。 ——更新于2024年10月16日,从2017年开始,已经更新坚持7年 从刚开始1000个左右的城市json,到现在全国省市区县3465个。 本人感觉应该是目前最完善的~ 每年都在更新中,…

【3dgs】Gaussian-SLAM发展关键历程梳理

【3dgs】Gaussian-SLAM 0. 写在前面1. 3D Splatting与SLAM流程2. Splatting SLAM&#xff1a;单目/RGB-D(2024年新作&#xff09;2.1 相机跟踪精度2.2 新视图渲染性能2.3 消融实验 3. Gaussian-SLAM&#xff08;Photo-SLAM&#xff09; Photo-SLAM技术原理详解 ORBSLAM3dGS&am…

inode、Data block、superblock

理解 inode是可以理解为文件的身份证&#xff0c;记录基本信息&#xff1b;超级区块则是系统的总览图&#xff0c;掌管全局设置&#xff1b;而数据区块则是存储柜&#xff0c;存放文件内容。三者合作&#xff0c;确保文件存取有序高效 inode inode于存储文件的元数据&#x…

【word】文章里的表格边框是双杠

日常小伙伴们遇到word里插入的表格&#xff0c;边框是双杠的&#xff0c;直接在边框和底纹里修改边框的样式就可以&#xff0c;但我今天遇到的这个有点特殊&#xff0c;先看看表格在word里的样式是怎么样&#xff0c;然后我们聊聊如何解决。 这个双杠不是边框和底纹的设置原因…