注册 登录
发贴工具
查看: 98|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] 交互模块的开关控制

[复制链接]

2216

主题

2264

帖子

1万

积分

积分
13500
跳转到指定楼层
楼主
关闭close与释放内存

第一个:定义一个关闭当前窗口的函数
交互模块的开关控制 群发软件发帖工具
// 定义一个关闭当前窗口的函数function close() {    // 本示例创建一个带有一个按钮的窗口,点击按钮关闭当前窗口    // 初始化一个新的活动(窗口)    var ac = new activity();    // 加载布局代码,使用 LinearLayout 替换 vertical    ac.loadXML(`        <LinearLayout>            <Button id="button1" text="第一个按钮"/>        </LinearLayout>    `);    // 获取按钮的实例    var btn = ac.findViewById("button1");    // 确保按钮对象不为null后再设置点击事件    if (btn) {        // 设置按钮的点击事件监听器        btn.setOnClickListener(function() {            // 在新线程中执行 JavaScript 代码            new thread().runJsCode(function fun() {                // 使用 console.log() 打印信息                console.log('线程执行代码防止占用UI线程');                // 关闭窗口                ac.close();            }, "-线程名");        });    } else {        console.log("按钮未找到,无法设置点击事件。");    }}// 示例调用close(); // 调用关闭窗口的函数,显示带按钮的窗口
  • 函数定义:function close() 定义了一个名为 close 的函数,用于创建一个新窗口并设置按钮的点击事件。
  • 窗口初始化:var ac = new activity(); 创建一个新的活动实例,代表一个新的窗口。
  • 布局加载:使用 ac.loadXML(...) 方法加载 XML 格式的布局,使用 LinearLayout 容器包含了一个按钮 Button。
  • 按钮获取:var btn = ac.findViewById("button1"); 通过按钮的 ID 获取其实例。
  • 点击事件设置:
    • 通过判断 btn 是否为空,确保按钮存在。
    • 使用 btn.setOnClickListener(...) 设置点击事件,当按钮被点击时,会执行其中的代码。
  • 线程执行:使用 new thread().runJsCode(...) 启动新线程来执行代码。
  • 窗口关闭:ac.close(); 关闭当前窗口。

第二个:定义一个关闭应用的函数
交互模块的开关控制 群发软件发帖工具
// 定义一个关闭应用的函数function closeApp(arg0) {    // 这个函数的作用是关闭指定名称的应用    // 参数:    // String arg0: 需要关闭的应用包名 (package name)    // 检查传入的包名是否为空    if (arg0 != "") {        // 这里可以加入关闭应用的逻辑,比如通过 API 关闭应用        console.log("正在关闭应用: " + arg0);        // 关闭应用的相关逻辑代码        // 示例:调用系统 API 来关闭应用(例如 Android 上的相关逻辑)    } else {        // 如果包名为空,输出提示信息        console.log("未提供包名,无法关闭应用。");    }}// 示例调用app.closeApp("com.liubowang.drawingboard"); // 调用关闭应用的函数,关闭包名为 "com.liubowang.drawingboard" 的应用// 若不提供包名的情况app.closeApp(""); // 这将输出未提供包名的提示
  • 函数定义:
    • function closeApp(arg0):定义了一个名为 closeApp 的函数,接受一个参数 arg0,该参数是需要关闭的应用的包名,通常以字符串形式提供。
  • 参数说明:
    • String arg0: 作为输入,这个参数代表要关闭的应用的包名,例子如 "com.liubowang.drawingboard"。
  • 包名检查:
    • if (arg0 != ""): 该条件判断语句用来检查传入的参数 arg0 是否为空。如果包名不为空,表示有有效的应用需要关闭。
  • 输出关闭信息:
    • console.log("正在关闭应用: " + arg0);: 将关闭应用的信息打印到控制台,有助于调试和确认操作。
  • 关闭应用的逻辑:
    • 这个部分可以包含实际的代码逻辑,用于关闭应用。具体实现将依赖于不同平台的 API。例如,在 Android 中,可以使用某些系统调用来结束进程。
    • 示例中提到的 android.os.Process.killProcess(android.os.Process.myPid()); 是一种关闭应用进程的方式,具体需要根据实际业务场景来决定是否使用。
  • 处理空包名:
    • 如果 arg0 为空,函数将执行 console.log("未提供包名,无法关闭应用。");,反馈给用户未提供有效的包名,从而避免执行无效或错误的操作。
  • 示例调用:
    • app.closeApp("com.liubowang.drawingboard"); 是实际调用函数的方式,尝试关闭指定的应用。
    • app.closeApp(""); 是一个示例,表明如果不传入包名,将提示用户未提供包名的错误。

第三个:关闭floatUI所有窗口
交互模块的开关控制 群发软件发帖工具
// 定义一个简单的 FloatWindow 构造函数来模拟浮动窗口function FloatWindow(name) {    this.name = name;    console.log(this.name + " 窗口已打开");}FloatWindow.prototype.close = function() {    console.log(this.name + " 窗口已关闭");};// 定义一个 floatUI 构造函数来管理浮动窗口function floatUI() {    this.windows = [];}floatUI.prototype.addWindow = function(name) {    var window = new FloatWindow(name);    this.windows.push(window);};floatUI.prototype.closeAll = function() {    this.windows.forEach(function(window) {        window.close();    });    this.windows = []; // 清空窗口数组    console.log("所有窗口已关闭");};// 创建一个 floatUI 实例并添加一些浮动窗口var ui = new floatUI();ui.addWindow("窗口1");ui.addWindow("窗口2");ui.addWindow("窗口3");// 关闭所有浮动窗口ui.closeAll();
  • 定义 FloatWindow 构造函数
    function FloatWindow(name) {    this.name = name;    console.log(this.name + " 窗口已打开");}
*   当你使用 `new FloatWindow(name)` 创建一个新实例时,会在控制台输出窗口已打开的信息。
  • 定义 FloatWindow 的 close 方法
    FloatWindow.prototype.close = function() {    console.log(this.name + " 窗口已关闭");};
*   当你调用 `window.close()` 方法时,会在控制台输出窗口已关闭的信息。
  • 定义 floatUI 构造函数
    function floatUI() {    this.windows = [];}
*   当你使用 `new floatUI()` 创建一个新实例时,会初始化一个空数组 `windows` 用于存储浮动窗口对象。
  • 定义 floatUI 的 addWindow 方法
    floatUI.prototype.addWindow = function(name) {    var window = new FloatWindow(name);    this.windows.push(window);};
*   当你调用 `ui.addWindow(name)` 方法时,会创建一个新的 `FloatWindow` 对象,并将其添加到 `ui.windows` 数组中。同时,`FloatWindow` 的构造函数会在控制台输出窗口已打开的信息。
  • 定义 floatUI 的 closeAll 方法
    floatUI.prototype.closeAll = function() {    this.windows.forEach(function(window) {        window.close();    });    this.windows = []; // 清空窗口数组    console.log("所有窗口已关闭");};
*   当你调用 `ui.closeAll()` 方法时,会遍历 `ui.windows` 数组中的每个 `FloatWindow` 对象,并调用其 `close` 方法来关闭窗口。每个窗口关闭时,`FloatWindow` 的 `close` 方法会在控制台输出窗口已关闭的信息。最后,清空 `ui.windows` 数组,并在控制台输出所有窗口已关闭的信息。执行过程
  • 创建 floatUI 实例
    var ui = new floatUI();
*   控制台输出:无(因为 `floatUI` 构造函数中没有输出信息)
  • 添加浮动窗口
    ui.addWindow("窗口1");ui.addWindow("窗口2");ui.addWindow("窗口3");
*   控制台输出:        窗口1 窗口已打开        窗口2 窗口已打开        窗口3 窗口已打开
  • 关闭所有浮动窗口
    ui.closeAll();
*   控制台输出:        窗口1 窗口已关闭        窗口2 窗口已关闭        窗口3 窗口已关闭        所有窗口已关闭总结
在执行 ui.addWindow("窗口1")、ui.addWindow("窗口2") 和 ui.addWindow("窗口3") 时,控制台会输出每个窗口已打开的信息。然后在执行 ui.closeAll() 时,控制台会输出每个窗口已关闭的信息,最后输出所有窗口已关闭的信息。如果你没有看到打开窗体的输出,可能是控制台没有显示这些信息,或者你在执行代码时没有注意到这些输出。
第四个:HUI交互模块关闭
交互模块的开关控制 群发软件发帖工具
// 定义 HUI 模块var HUI = {    name: "HUI交互模块",    isOpen: false, // 模块是否开启    // 打开模块    open: function() {        this.isOpen = true;        console.log(this.name + " 已打开");        // 这里应该是调用显示窗口的逻辑        // 比如可能是使用某个框架的显示窗口方法    },    // 关闭模块    close: function() {        if (this.isOpen) {            this.isOpen = false;            console.log(this.name + " 已关闭");            // 这里应该是调用隐藏窗口的逻辑            // 比如可能是使用某个框架的隐藏窗口方法        } else {            console.log(this.name + " 已处于关闭状态");        }    }};// 示例:打开 HUI 模块HUI.open(); // 打开窗口// 示例:关闭 HUI 模块HUI.close(); // 关闭窗口
这段代码的主要目的是创建一个简单的管理模块,以便控制其打开和关闭状态。open 和 close 方法分别用于管理模块显示的逻辑。虽然代码中的显示和隐藏逻辑需要根据实际使用的框架或设备予以实现,但基本的逻辑结构已经完成。这使得代码在组织方式上清晰,并提供了一个位于将来可能添加界面功能的基础。
第四个: JsWebView 模块浏览器关闭
交互模块的开关控制 群发软件发帖工具
// 定义 JsWebView 类function JsWebView(url) {    this.url = url;    this.isOpen = false;    // 打开 WebView    this.open = function() {        this.isOpen = true;        console.log("WebView 打开,加载 URL: " + this.url);        // 这里可以添加实际打开 WebView 的代码    };    // 关闭 WebView    this.close = function() {        if (this.isOpen) {            this.isOpen = false;            console.log("WebView 已关闭");            // 这里可以添加实际关闭 WebView 的代码        } else {            console.log("WebView 已处于关闭状态");        }    };}// 创建 JsWebView 实例var myWebView = new JsWebView("https://example.com");// 打开 WebViewmyWebView.open();// 关闭 WebViewmyWebView.close();
定义 JsWebView 类
function JsWebView(url):构造函数接受一个 URL,用于加载内容。
this.url:存储传入的 URL。
this.isOpen:跟踪 WebView 的打开状态,初始值为 false。
打开 WebView
this.open = function():一个方法用于打开 WebView。
将 isOpen 设置为 true,并输出 WebView 打开和加载的 URL 信息。
可在此处插入实际打开 WebView 的代码。
关闭 WebView
this.close = function():一个方法用于关闭 WebView。
检查 isOpen 状态,如果 WebView 打开,则设置为 false 并输出已关闭的信息;如果已关闭,则输出已处于关闭状态的信息。
可在此处插入实际关闭 WebView 的代码。
创建实例并调用
var myWebView = new JsWebView(“https://example.com"):创建 JsWebView 的实例,并传入一个 URL。
调用 open() 方法打开 WebView,并调用 close() 方法关闭 WebView。
该示例展示了如何创建一个简单的 JsWebView 类,能够打开和关闭 WebView。您可以将其作为基础,根据具体需求扩展或者集成到其他 JAVA/JavaScript 代码中去。在实际应用中,”打开” 和 “关闭” 的逻辑会根据使用的平台进行实际实施。
第五个: 关闭日志窗口
交互模块的开关控制 群发软件发帖工具
// 假设 logWindow 对象已经存在,并包含有 close 方法var logWindow = {    isOpen: false,    open: function() {        this.isOpen = true;        console.log("日志窗口已打开");    },    close: function() {        if (this.isOpen) {            this.isOpen = false;            console.log("日志窗口已关闭");        } else {            console.log("日志窗口已处于关闭状态");        }    }};// 使用示例logWindow.open();   // 打开日志窗口logWindow.close();  // 关闭日志窗口logWindow.close();  // 尝试再次关闭
第六个:释放 YOLO
交互模块的开关控制 群发软件发帖工具
复制// OCR 部分let img = screen.screenShotFull();let ocrres = img.paddleOCR(640, [0, 0, 1, 1]);printl(ocrres); // 打印 OCR 结果// 查找含有 "qq" 的文字目标var qqrect = ocrres.findIncludeText("qq");if (qqrect) {    qqrect.hidClick(); // 点击找到的目标} else {    printl("没有找到包含 'qq' 的文本"); // 提示未找到}// YOLO 部分// 初始化 yolov5var yolo = new yoloV5();// 加载插件文件夹里的识别库var labelPath = project.getResourcesPath() + 'close.txt';var paramPath = project.getResourcesPath() + 'close.param';var binPath = project.getResourcesPath() + 'close.bin';// 加载模型var model = yolo.loadModel(labelPath, paramPath, binPath, 4, false);if (model != null) {    printl('模型加载失败');} else {    var img = screen.screenShotFull(); // 再次截图    var res = yolo.detectPercent(img, [0, 0, 1, 1], 0.4, 0.45, 640);    printl(res); // 打印检测结果    if (res != null && res.length > 0) {        // 无障碍点击        // res[0].click(); // 如果有检测结果,可以点击第一个    } else {        printl("没有检测到目标"); // 提示未检测到    }}// 释放 YOLOyolo.Close();
OCR(光学字符识别)和 YOLO(You Only Look Once,对象检测算法)来处理图像,查找文本和目标。以下是代码的逐步解释:
1. OCR 部分let img = screen.screenShotFull(); // 截取整个屏幕let ocrres = img.paddleOCR(640, [0, 0, 1, 1]); // 使用 PaddleOCR 进行文字识别printl(ocrres); // 打印 OCR 结果
  • screen.screenShotFull():截取当前屏幕的完整图像并赋值给变量 img。
  • img.paddleOCR(640, [0, 0, 1, 1]):通过 PaddleOCR 对截取的图片进行文字识别。640 是识别图像的尺寸,[0, 0, 1, 1] 是识别区域的参数。
  • printl(ocrres):将识别结果打印到控制台,以便查看识别的文本。
    // 查找含有 “qq” 的文字目标
    var qqrect = ocrres.findIncludeText(“qq”);
    if (qqrect) {
    qqrect.hidClick(); // 点击找到的目标
    } else {
    printl("没有找到包含 'qq' 的文本"); // 提示未找到
    }

  • ocrres.findIncludeText("qq"):在 OCR 结果中查找包含字符 “qq” 的文本,返回相应的文本框区域。
  • if (qqrect):检查找到的目标框 qqrect 是否存在。
    • 如果存在,则调用 hidClick() 方法模拟点击该文本目标。
    • 如果不存在,则输出”没有找到包含 ‘qq’ 的文本”的提示信息。

2. YOLO 部分// 初始化 yolov5var yolo = new yoloV5(); // 创建 YOLO 实例// 加载插件文件夹里的识别库var labelPath = project.getResourcesPath() + 'close.txt';var paramPath = project.getResourcesPath() + 'close.param';var binPath = project.getResourcesPath() + 'close.bin';
  • new yoloV5():创建一个新的 YOLO 实例,用于对象检测。
  • 加载识别库:通过 getResourcesPath() 方法获取模型文件的路径,并将标签、参数和二进制文件路径分配给 labelPath、paramPath 和 binPath 变量。
    // 加载模型
    var model = yolo.loadModel(labelPath, paramPath, binPath, 4, false);
    if (model != null) {
    printl('模型加载失败'); // 如果 model 不为 null,表示加载失败
    } else {
    var img = screen.screenShotFull(); // 再次截图var res = yolo.detectPercent(img, [0, 0, 1, 1], 0.4, 0.45, 640); // 进行对象检测printl(res); // 打印检测结果if (res != null && res.length > 0) {    // 无障碍点击    // res[0].click(); // 如果有检测结果,可以点击第一个} else {    printl("没有检测到目标"); // 提示未检测到}
    }

  • yolo.loadModel(...):加载 YOLO 模型,使用之前准备的标签、参数和二进制文件。
  • if (model != null):检查模型加载是否成功。如果返回的 model 不为 null,则输出”模型加载失败”。
  • screen.screenShotFull():再次截取屏幕进行对象检测。
  • yolo.detectPercent(...):在指定区域内进行对象检测,返回检测结果。
  • printl(res):打印检测结果。
  • if (res != null && res.length > 0):检查检测结果数组是否有内容。
    • 如果存在检测结果,注释部分提到可以点击第一个目标。
    • 如果没有检测到目标,输出”没有检测到目标”的提示信息。

3. 释放资源// 释放 YOLOyolo.Close(); // 释放 YOLO 模型的资源
  • yolo.Close():释放 YOLO 模型占用的资源,以清理内存和其他使用。






unto多坐标点屏幕变化检测:全面监控10秒next深度解析贝塞尔曲线的计算过程与优化策略
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖