autojs世界记忆大师都在用的方法

2024-02-22 22:10

本文主要是介绍autojs世界记忆大师都在用的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

牙叔教程 简单易学

使用场景

记忆数字

世界记忆大师数字项目的训练分三个步骤:出图、联结和记忆。
每个编码都在脑子里呈现出清晰、完整、立体、生动、有感觉的图像,还可以是动态的。
不仅要看到它的样子,还要听到它的声音、闻到它的味道、感受它的触觉,用各种感官去理解编码、感受编码。

在记忆的时候,一定要做到以下几点:清晰,奇特,动态,连贯!

如果你的图象不清晰,在你记忆的过程中就像是看屏幕不清晰的电视,当你回忆这段情景的时候,因为屏幕的不清晰,很多细节都被你忽略了,所以容易忘记。越是离奇的事物越容易加深人们的印象。

效果展示

在这里插入图片描述

autojs版本

8.7.7-0

代码简介

  • 脚本提供了一个数据库, 里面有图片, 1-100
  • 界面有一个输入框, 用来输入数字
  • 输入数字后, 会自动显示数字对应的图片
  • 两个数字为一组, 比如12为一张图片, 34位一张图片, 会自动以2位为一组, 切割数字

代码讲解

1. 停止其他脚本
engines.all().map((ScriptEngine) => {if (engines.myEngine().toString() !== ScriptEngine.toString()) {ScriptEngine.forceStop();}
});
2. 导入类
importClass(Packages.androidx.recyclerview.widget.RecyclerView);
importClass(Packages.androidx.recyclerview.widget.LinearLayoutManager);
importClass(android.graphics.drawable.BitmapDrawable);
3. 界面布局
ui.layout(<vertical margin="9"><horizontal><text text="手机号"></text><input id="mobile" hint="只能输入数字" w="*" digit="1234567890"></input></horizontal><androidx.recyclerview.widget.RecyclerView id="dataList" h="*" w="*" /></vertical>
);
4. recycleView布局
let boxXml = (<vertical w="*" padding="8" marginTop="6"><img id="img"></img><horizontal margin="20"><text id="name" w="*" gravity="center" textSize="25sp" textStyle="bold">名字</text></horizontal></vertical>
);
5. 设置recycleView的布局管理器
layoutManager = new LinearLayoutManager(context);
recyclerView.setLayoutManager(layoutManager);
6. 设置recycleView的adapter
let recycleAdapter = createGiftBoxAdapter(dataList);
recyclerView.setAdapter(recycleAdapter);
7. 设置输入框监听
ui.mobile.addTextChangedListener(new android.text.TextWatcher({afterTextChanged: function (content) {根据输入框中的内容修改dataList(content);},})
);
8. 退出时释放资源, 关闭数据库
events.on("exit", function () {db && db.close();
});##### 9. 打开数据库​```js
const TableName = "IMGDATA";
// 表名: IMGDATA
// 字段1 id 整数 主键 自增
// 字段2 name 字符串 不可为空
// 字段3 img BLOB bytes
let db = sqlite.open("/sdcard/脚本/memoryData.db",{ version: 1 },{onOpen: function (db) {db.execSQL("CREATE TABLE IF NOT EXISTS " +TableName +"(" +"`id` INTEGER PRIMARY KEY AUTOINCREMENT, " +"`name` TEXT NOT NULL UNIQUE, " +"`img` BLOB" +")");},}
);
10. 查找数字对应的图片信息
function 查找数字对应的图片信息(num) {let dataList = getAllDataName();var len = dataList.length;for (var i = 0; i < len; i++) {let item = dataList[i];if (item.name.indexOf(num) === 0 && item.name.replace(/\D/g, "").length === num.length) {let data = db.rawQuery("SELECT * FROM " + TableName + " WHERE id = ?", [item.id]).single();return data;}}db.close();db = null;throw new Error("没有找到图片");
}
11. 根据输入框中的内容修改dataList
function 根据输入框中的内容修改dataList(content) {if (!content) {return false;}content = content.toString();let num = 2;let arr = reSetData(content, num);dataList.splice(0, dataList.length);var len = arr.length;for (var i = 0; i < len; i++) {let item = arr[i];dataList.push(formatData(item));}recycleAdapter.notifyDataSetChanged();ui.dataList.post(function () {ui.dataList.smoothScrollToPosition(dataList.length);});
}
12. 根据输入框中的内容修改dataList
function createGiftBoxAdapter(dataList) {return RecyclerView.Adapter({onCreateViewHolder: function (parent, viewType) {// 视图创建let view;let holder;view = ui.inflate(boxXml, parent, false);holder = JavaAdapter(RecyclerView.ViewHolder, {}, view);return holder;},onBindViewHolder: function (holder, position) {// 数据绑定let data = dataList[position];// holder.itemView.img.attr("src", "file://" + data.img);let img = images.fromBytes(data.img);let drawable = new BitmapDrawable(img.bitmap);holder.itemView.img.setImageDrawable(drawable);holder.itemView.name.setText(data.name);},getItemCount: function () {return dataList.length;},});
}

声明

部分内容来自网络

bilibili

牙叔教程

微信公众号 牙叔教程

在这里插入图片描述

QQ群

747748653
在这里插入图片描述

在这里插入图片描述

这篇关于autojs世界记忆大师都在用的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736649

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert