【每日学点鸿蒙知识】推送指定页面参数、Devtools 做Web调试、图片的加载与压缩、三方so 打进hap包、Url获取参数

server/2025/1/2 12:53:25/
1、HarmonyOS 定向推送指定页面怎么推送,带参数?

可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-router-V5

2、HarmonyOS Devtools 做Web调试?

参照以下链接,每一步都不可缺少:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-debugging-with-devtools-V5
Web组件支持使用DevTools工具调试前端页面。DevTools是一个 Web前端开发调试工具,提供了电脑上调试移动设备前端页面的能力。开发者通过setWebDebuggingAccess()接口开启Web组件前端页面调试能力,利用DevTools工具可以在电脑上调试移动设备上的前端网页,设备需为4.1.0及以上版本。
使用DevTools工具,可以执行以下步骤:

  1. 在应用代码中开启Web调试开关
  2. 开启调试功能需要在DevEco Studio应用工程hap模块的module.json5文件中增加如下权限,添加方法请参考在配置文件中声明权限。
  3. 将设备连接上电脑,在电脑端配置端口映射,配置方法如下
  4. 在电脑端Chrome浏览器地址栏中输入chrome://inspect/#devices,页面识别到设备后,就可以开始页面调试。
  5. 多应用调试请在调试地址内Devices中的configure添加多个端口号以同时调试多个应用
  6. windows便捷脚本,请复制以下信息建立bat文件,开启调试应用后执行
@echo off
setlocal enabledelayedexpansion:: Initialize port number and PID list
set PORT=9222
set PID_LIST=:: Get the list of all forwarded ports and PIDs
for /f "tokens=2,5 delims=:_" %%a in ('hdc fport ls') do (if %%a gtr !PORT! (set PORT=%%a)for /f "tokens=1 delims= " %%c in ("%%b") do (set PID_LIST=!PID_LIST! %%c)
):: Increment port number for next application
set temp_PORT=!PORT!
set /a temp_PORT+=1  
set PORT=!temp_PORT! :: Get the domain socket name of devtools
for /f "tokens=*" %%a in ('hdc shell "cat /proc/net/unix | grep devtools"') do (set SOCKET_NAME=%%a:: Extract process IDfor /f "delims=_ tokens=4" %%b in ("!SOCKET_NAME!") do set PID=%%b:: Check if PID already has a mappingecho !PID_LIST! | findstr /C:" !PID! " >nulif errorlevel 1 (:: Add mappinghdc fport tcp:!PORT! localabstract:webview_devtools_remote_!PID!if errorlevel 1 (echo Error: Failed to add mapping.pauseexit /b):: Add PID to list and increment port number for next application set PID_LIST=!PID_LIST! !PID!set temp_PORT=!PORT!set /a temp_PORT+=1  set PORT=!temp_PORT! )
):: If no process ID was found, prompt the user to open debugging in their application code and provide the documentation link
if "!SOCKET_NAME!"=="" (echo No process ID was found. Please open debugging in your application code using the corresponding interface. You can find the relevant documentation at this link: [https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/web/web-debugging-with-devtools.md]pauseexit /b
):: Check mapping
hdc fport lsecho.
echo Script executed successfully. Press any key to exit...
pause >nul:: Try to open the page in Edge
start msedge chrome://inspect/#devices.com:: If Edge is not available, then open the page in Chrome
if errorlevel 1 (start chrome chrome://inspect/#devices.com
)endlocal
  1. mac/linux便捷脚本,请复制以下信息建立sh文件,请自行注意chmod以及格式转换,开启调试应用后执行
#!/bin/bash# Get current fport rule list
CURRENT_FPORT_LIST=$(hdc fport ls)# Delete the existing fport rule one by one
while IFS= read -r line; do# Extract the tasklineIFS=' ' read -ra parts <<< "$line"taskline="${parts[1]} ${parts[2]}"# Delete the corresponding fport ruleecho "Removing forward rule for $taskline"hdc fport rm $tasklineresult=$?if [ $result -eq 0 ]; thenecho "Remove forward rule success, taskline:$taskline"elseecho "Failed to remove forward rule, taskline:$taskline"fidone <<< "$CURRENT_FPORT_LIST"# Initial port number
INITIAL_PORT=9222# Get the current port number, use initial port number if not set previously
CURRENT_PORT=${PORT:-$INITIAL_PORT}# Get the list of all PIDs that match the condition
PID_LIST=$(hdc shell cat /proc/net/unix | grep webview_devtools_remote_ | awk -F '_' '{print $NF}')if [ -z "$PID_LIST" ]; thenecho "Failed to retrieve PID from the device"exit 1
fi# Increment the port number
PORT=$CURRENT_PORT# Forward ports for each application one by one
for PID in $PID_LIST; do# Increment the port numberPORT=$((PORT + 1))# Execute the hdc fport commandhdc fport tcp:$PORT localabstract:webview_devtools_remote_$PID# Check if the command executed successfullyif [ $? -ne 0 ]; thenecho "Failed to execute hdc fport command"exit 1fi
done# List all forwarded ports
hdc fport ls
3、HarmonyOS 图片的加载与压缩服务?

Image组件来支持在应用中显示图片,提供ImagePacker来支持开发者进行图片的压缩和打包Image官网参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-image-V5

ImagePacker官网参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5

4、HarmonyOS怎么把第三方so 打进hap包里面呢

nativeLib/headerPath声明了模块的c/cpp接口文件,并通过打包暴露给依赖模块:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-cpp-V5

5、HarmonyOS 使用 url.parse.params.get() 方法获取的value获取的是解码后的内容?

toString方法并不会解码,params.get 是将params中的原始按照key来get出value,规则是会解码的


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

相关文章

PyCharm专业实验2 查找算法实现与比较

一、实验目的 本文的实验目的是对随机生成的含20个元素的列表使用至少三种不同的排序算法进行排序&#xff0c;并通过事前和事后的性能分析来比较这些算法的效率。 二、实验内容 数据准备&#xff1a; 随机生成一个包含20个元素的列表&#xff0c;元素值在1到100之间。排序算…

如何给 Flask 项目创建 Systemd 服务 ?

为 Flask 应用程序创建 systemd 服务文件是确保应用程序在 Linux 系统上顺利运行的一种极好的方法&#xff0c;它提供了一种健壮且可靠的方式来管理应用程序进程。本文将指导您完成为 Flask 应用程序创建和配置 systemd 服务。 1: Create a Flask Application 创建一个样例 F…

VuePress搭建个人博客

VuePress搭建个人博客 官网地址: https://v2.vuepress.vuejs.org/zh/ 相关链接: https://theme-hope.vuejs.press/zh/get-started/ 快速上手 pnpm create vuepress vuepress-starter# 选择简体中文、pnpm等, 具体如下 .../19347d7670a-1fd8 | 69 .../19…

WebRTC服务质量(11)- Pacer机制(03) IntervalBudget

WebRTC服务质量&#xff08;01&#xff09;- Qos概述 WebRTC服务质量&#xff08;02&#xff09;- RTP协议 WebRTC服务质量&#xff08;03&#xff09;- RTCP协议 WebRTC服务质量&#xff08;04&#xff09;- 重传机制&#xff08;01) RTX NACK概述 WebRTC服务质量&#xff08;…

Linux(13)——网络概述

目录 一、TCP/IP 网络模型&#xff1a; 1、应用层&#xff08;Application&#xff09;&#xff1a; 2、传输层&#xff08;Transport&#xff09;&#xff1a; 3、互联网层&#xff08;Internet or network&#xff09;&#xff1a; 4、链路层&#xff08;Link&#xff0…

网络编程:TCP和UDP通信基础

TCP 简易服务器&#xff1a; #include<myhead.h>int main(int argc, const char *argv[]) {int oldfd socket(AF_INET,SOCK_STREAM,0);if(oldfd -1){perror("socket");return -1;}//绑定要绑定的结构体struct sockaddr_in server {.sin_family AF_INET,.…

Linux day1204

五.安装lrzsz lrzsz 是用于在 Linux 系统中文件上传下载的软件。大家可能会存在疑问&#xff0c;我们用 MobaXterm 图形化界面就可以很方便的完成上传下载&#xff0c;为什么还要使用这个软件来 完成上传下载呢&#xff1f;实际上是这样的&#xff0c; Linux 的远程连接工具…

嵌入式开发 的算法与数据结构

Python基础 Python是一种广泛使用的高级编程语言&#xff0c;因其简单易学、功能强大而受到众多开发者的喜爱。自1991年由荷兰程序员吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;发布以来&#xff0c;Python逐渐发展成为数据科学、人工智能、Web开发、自动化等多个领…