首页
苏兮影视
随笔记
壁纸
更多
直播
时光轴
友联
关于
统计
Search
1
v2ray节点搭建
849 阅读
2
软件添加id功能按钮
815 阅读
3
QQ扫码无法登录的解决方案
616 阅读
4
typecho非常有特色的模块
606 阅读
5
QQxml消息卡片生成源码
567 阅读
谈天说地
建站源码
经验教程
资源分享
动漫美图
登录
Search
标签搜索
java
rust
flutter
esp32c3
springboot
安卓
linux
vue
docker
joe
快捷键
git
fish shell
maven
redis
netty
dart
groovy
js
设计模式
尽意
累计撰写
109
篇文章
累计收到
39
条评论
首页
栏目
谈天说地
建站源码
经验教程
资源分享
动漫美图
页面
苏兮影视
随笔记
壁纸
直播
时光轴
友联
关于
统计
搜索到
109
篇与
的结果
Android连接mqtt闪退解决方案
集成android mqtt的时候报错:java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/localbroadcastmanager/content/LocalBroadcastManager;在谷歌官网找到这个类被废弃了,应该是mqtt源码实现使用了这个类,导致找不到类而报错,解决方案是:在build.gradle里添加依赖:implementation 'com.android.support:support-v4:30.4.1'其中30:是指你的编译版本,这个操作应该是,v4兼容包里有LocalBroadcastManager。添加了依赖之后报错:这是因为有混合库添加了依赖的原因,这时我们可以在gradle.properties文件中添加一句话,让它支持混合库使用。android.enableJetifier=true问题解决
2023年02月04日
254 阅读
0 评论
1 点赞
安卓隐显示启动
一、Activity 显式启动 (代码示例):public class MyActivity extends Activity { Button buttonStart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buttonStart = (Button) findViewById(R.id.start); buttonStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //显示启动 Intent intent = new Intent(); intent.setClass(MyActivity.this, SecondActivity.class); startActivity(intent); } }); } }...二、Activity 隐式启动 (代码示例):public class MyActivity extends Activity { Button buttonStart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buttonStart = (Button) findViewById(R.id.start); buttonStart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //隐式启动 Intent intent = new Intent(); intent.setAction("asdf.SecondActivity"); startActivity...
2022年11月21日
181 阅读
2 评论
1 点赞
2022-11-20
Maya快捷键
Enter 完成当前操作 ~ 终止当前操作Insert 插入工具编辑模式W 移动工具e 旋转工具r 缩放工具 操纵杆操作y 非固定排布工具s 设置关键帧i 插入关键帧模式(动画曲线编辑)Shift E 存储旋转通道的关键帧Shift R 存储缩放通道的关键帧Shift W 存储转换通道的关键帧Shift Q 选择工具,(切换到)成分图标菜单 Alt q 选择工具,(切换到)多边形选择图标菜单 q 选择工具,(切换到)成分图标菜单 t 显示操作杆工具= 增大操纵杆显示尺寸减少操纵杆显示尺寸 窗口和视图设置 移动被选对象快捷键 功能解释 快捷键 功能解释Ctrl a 弹出属性编辑窗/显示通道栏a 满屏显示所有物体(在激活的视图)f 满屏显示被选目标Shift F 在所有视图中满屏显示被选目标Shift A 在所有视图中满屏显示所有对象 ' 设置键盘的中心集中于命令行空格键 快速切换单一视图和多视图模式Alt ↑ 向上移动一个象素Alt ↓ 向下移动一个象素Alt ← 向左移动一个象素Alt → 向右移动一个象素Alt '设置键盘中心于数字输入行播放控制 选择物体和成分快捷键 功能解释 快捷键 功能解释Alt 。 在时间轴上前进一帧 Alt , 在时间轴上后退一帧. 前进到下一关键帧, 后退到上一关键帧Alt v 播放按钮(打开/关闭)Alt/Shift V 回到最小帧K 激活模拟时间滑块F8 切换物体/成分编辑模式F9 选择多边形顶点F10 选择多边形的边F11 选择多边形的面F12 选择多边形的UVsCtrl I 选择下一个中间物体Ctrl F9 选择多边形的顶点和面 显示设置 快捷菜单显示快捷键 功能解释快捷键 功能解释鼠标左键4 网格显示模式 5 实体显示模式6 实体和材质显示模式7 灯光显示模式d 设置显示质量(弹出式标记菜单)空格键 弹出快捷菜单(按下)空格键 隐藏快捷菜单(释放)Alt m 快捷菜单显示类型(恢复初始类型)1 低质量显示 2 中等质量显示3 高质量显示] 重做视图的改变[ 撤消视图的改变Alt s 旋转手柄附着状态 翻越层级 文件管理快捷键 功能解释 快捷键 功能解释↑ 进到当前层级的上一层级↓ 退到当前层级的下一层级← 进到当前层级的左侧层级→ 进到当前层级的右侧层级Ctrl N 建立新的场景Ctrl O 打开场景Ctrl S 存储场景1 桌面文件管理(IPX版本专有) 雕刻笔设置 菜单模式选择快捷键 功能解释快捷键 功能解释Alt f 扩张当前值 Ctrl m 显示(关闭)+主菜单Alt r 激活双重作用(开启/关闭) 鼠标右键h 转换菜单栏(标记菜单)Alt a 显示激活的线框(开启/关闭) F2 显示动画菜单Alt c 色彩反馈(开启/关闭) F3 显示建模菜单鼠标左键u 切换雕刻笔作用方式(弹出式标记菜单) F4 显示动力学菜单o 修改雕刻笔参考值 F5 显示渲染菜单b 修改笔触影响力范围(按下/释放) 吸附操作m 调整最大偏移量(按下/释放) 快捷键 功能解释n 修改值的大小(按下/释放) C 吸附到曲线(按下/释放)/ 拾取色彩模式--用于:绘制成员资格、绘制权重、属性绘制、绘制每个顶点色彩工具 X 吸附到网格(按下/释放), 选择丛(按下/释放)-用于绘制权重工具 V 吸附到点(按下/释放)编辑操作(显示/隐藏)对象快捷键 功能解释快捷键 功能解释z 取消(刚才的操作) Ctrl h 隐藏所选对象Shift Z 重做(刚才的操作) Ctrl/Shift H 显示上一次隐藏的对象g 重复(刚才的操作) 三键鼠操作Shift G 重复鼠标位置的命令 快捷键 功能解释Ctrl d 复制 Alt+鼠标右键 旋转视图Shift D 复制被选对象的转换 Alt+鼠标中键 移动视图Ctrl g 组成群组 Alt+鼠标右键+鼠标中键缩放视图p 制定父子关系 Alt+Ctrl+鼠标右键 框选放大视图Shift P 取消被选物体的父子关系 Alt+Ctrl+鼠标中键 框选缩小视图MAYA快捷键大全1 :低质量显示2 :中等质量显示3 :高质量显示4 :网格显示5 :实体显示模式6 :实体和材质显示模式7 :灯光显示模式D+左健 :设置显示质量F8 :切换物体/元素编辑模式F9 :选择物体顶点F10 :选择物体的边F11 : 选择物体的面F12 : 选择UVS Ctrl+I 选择下一个中间物体Ctrl+F9 :选择多边形的顶点和面A :吸附到曲线X 吸附到网格V :吸附到点S :设置关键帧I :插入关键帧。 :前进到下一关键帧 , :后退到下一关键帧K :击活模拟时间滑块Shift+E 储存旋转通道的关键帧Shift+R :储存缩放通道的关键帧Shift+W 储存转换通道的关键帧Alt+. 在时间轴上前进一帧Alt+, 在时间轴上后退一帧ALT+V 播放按钮Alt/Shift+V 回到最小帧回车 :完成当前操作~ 终止当前操作Inset 插入工具编辑模式W 移动工具 E旋转工具 Q 选择工具 R 放缩工具Shift+Q 选择工具,切换到成分图标菜单T 显示操作杆工具= 增大操作杆显示尺寸 - 减小操作杆显示尺寸空格(按下不松开) 弹出快捷菜单 空格 (按下立即松开) 快速切换单一视图和多视图模式ALT+M 快捷菜单显示类型CTRL+A 弹出属性编辑窗/显示通道栏A 满屏显示所有物体 (在激活的视图) F 满屏显示所被选目标Shift+F在所有视图中满屏显示被选目标 Shift+A 在所有视图中满屏显示所有对象ALT+↑ 向上移动一个象素 ALT+↓ 向下移动一个象素 ALT+← 向左移动一个象素ALT+→ 向右移动一个象素 ‘ 设置键盘的中心集中于命令行 ALT+‘ 设置键盘中心于数字输入行↑ 前进到当前层级的上一级 ↓ 退到当前层级的下一层级 ← 进到当前层级的左侧层级→ 进到当前层级的右侧层级 ] 重做视图的改变 [ 撤消视图的改变 ALT+S 旋转手柄附着状态CRL+M显示(关闭)+主菜单 空格+H 转换菜单栏(标记菜单) CTRL+N建新的场景CTRL+O 打开场景 CTRL+S 储存场景 Z 取消(刚才的操作) Shift+Z重做(刚才的操作)鼠标滑轮 放大缩小视图 CYRL+左健+中建 =ALT+右健 放大缩小视图 ALT+中健,移动视图【Enter】完成当前操作 【S】设置关键帧【~】终止当前操作 【I】 插入关键帧模式(动画曲线编辑)【Insert】插入工具编辑模式 【Shift + E】 存储旋转通道的关键帧【W】移动工具 【Shift + R】 存储缩放通道的关键帧【e】 旋转工具 【Shift + W】 存储转换通道的关键帧【r】 缩放工具操纵杆操作【y】 非固定排布工具【T】显示操作杆工具【Shift + Q】 选择工具,(切换到)成分图标菜单【Alt + Q】 选择工具,(切换到)多边形选择图标菜单【Q】 选择工具,(切换到)成分图标菜单【=】 增大操纵杆显示尺寸【-】 减少操纵杆显示尺寸〓窗口和视图设置〓 〓移动被选对象〓【Ctrl + A】 弹出属性编辑窗 / 显示通道栏 【Alt +↑】 向上移动一个象素【A】 满屏显示所有物体(在激活的视图) 【Alt +↓】 向下移动一个象素【F】 满屏显示被选目标 【Alt + ←】 向左移动一个象素【Shift + F】 在所有视图中满屏显示被选目标 【Alt + →】 向右移动一个象素【Shift + A】 在所有视图中满屏显示所有对象 【'】 设置键盘的中心集中于命令行【空格键】 快速切换单一视图和多视图模式 【Alt + '】 设置键盘中心于数字输入行〓播放控制〓 〓选择物体和成分〓【Alt + 。】 在时间轴上前进一帧 【F8】 切换物体 / 成分编辑模式【Alt + ,】 在时间轴上后退一帧 【F9】 选择多边形顶点【.】 前进到下一关键帧 【F10】 选择多边形的边【,】后退到上一关键帧 【F11】 选择多边形的面【Alt + V】 播放按钮(打开 / 关闭) 【F12】 选择多边形的 UVs【Alt + Shift + V】 回到最小帧 【Ctrl + I】 选择下一个中间物体【K】 激活模拟时间滑块 【CtrlF + 9】 选择多边形的顶点和面〓显示设置〓 〓快捷菜单显示〓〓鼠标左键〓【4】 网格显示模式 【空格键】 弹出快捷菜单(按下)【5】 实体显示模式 【空格键】 隐藏快捷菜单(释放)【6】 实体和材质显示模式 【Alt + M】 快捷菜单显示类型(恢复初始类型)【7】 灯光显示模式 混合操作【d】 设置显示质量(弹出式标记菜单)【1】 低质量显示 【]】 重做视图的改变【2】 中等质量显示 【[】 撤消视图的改变【3】 高质量显示 【Alt + s】 旋转手柄附着状态〓翻越层级〓 〓文件管理〓【↑】 进到当前层级的上一层级 【Ctrl + N】 建立新的场景【↓】 退到当前层级的下一层级 【Ctrl + O】 打开场景【←】 进到当前层级的左侧层级 【Ctrl + S】 存储场景【→】 进到当前层级的右侧层级 【1】 桌面文件管理( IPX 版本专有)〓雕刻笔设置〓 〓菜单模式选择〓【Alt + f】 扩张当前值 【Ctrl + m】 显示(关闭) + 主菜单【Alt + r】 激活双重作用(开启 / 关闭)〓鼠标右键〓【h】 转换菜单栏(标记菜单)【Alt + a】 显示激活的线框(开启 / 关闭) 【F2】 显示动画菜单【Alt + c】 色彩反馈(开启 / 关闭) 【F3】 显示建模菜单〓鼠标左键〓【u】 切换雕刻笔作用方式(弹出式标记菜单) 【F4】 显示动力学菜单【o】 修改雕刻笔参考值 【F5】 显示渲染菜单【b】 修改笔触影响力范围(按下 / 释放)〓吸附操作〓【m】 调整最大偏移量(按下 / 释放)【n】 修改值的大小(按下 / 释放)【C】 吸附到曲线(按下 / 释放)【/】 拾取色彩模式 -- 用于:绘制成员资格、绘制权重、属性绘制、绘制每个顶点色彩工具【X】 吸附到网格(按下 / 释放 )【,】 选择丛(按下 / 释放) - 用于绘制权重工具【V】 吸附到点(按下 / 释放)〓编辑操作〓 〓(显示 / 隐藏)对象〓【z】 取消(刚才的操作) 【Ctrl + h】 隐藏所选对象【Shift + Z】 重做(刚才的操作) 【Ctrl + Shift + H】 显示上一次隐藏的对象【g】 重复(刚才的操作)【Shift + G】 重复鼠标位置的命令【Ctrl + d】 复制【Shift + D】 复制被选对象的转换【Ctrl + g】 组成群组【p】 制定父子关系【Shift + P】 取消被选物体的父子关系〓三键鼠操作〓【Alt + 鼠标右键】 旋转视图【Alt + 鼠标中键】 移动视图【Alt + 鼠标右键 + 鼠标中键】 缩放视图【Alt + Ctrl + 鼠标右键】 框选放大视图【Alt + Ctrl + 鼠标中键】 框选缩小视图转载互联网
2022年11月20日
344 阅读
0 评论
1 点赞
typecho 数据库 批量修改文章内容
进入phpmyadmin后执行下面语句UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'原内容','新内容');...
2022年11月19日
154 阅读
1 评论
1 点赞
2021-08-20
Smali语法:Registers(寄存器)
介绍对于dalviks字节码寄存器都是32位的,它能够表示任何类型,2个寄存器用于表示64位的类型(Long and Double)。一个方法中指定的寄存器个在一个方法(method)中有两中方式指定有多少个可用的寄存器。指令.registers指令指定了在这个方法中有多少个可用的寄存器,指令.locals指明了在这个方法中非参(non-parameter)寄存器的数量。然而寄存器的总数也包括保存方法参数的寄存器。参数是如何传递的?当一个方法被调用时,该方法的参数被保存在最后N个寄存器中。如果一个方法有2个参数和5个寄存器(V0-V4),参数将被保存在最后的2个寄存器内V3和V4.非静态方法的第一个参数,总是被方法调用的对象。例如,你写了一个非静态方法LMyObject;->callMe(II)V。这个方法有2个int参数,但在这两个整型参数前面还有一个隐藏的参数LMyObject;所以这个方法总共有3个参数。比如说,在方法中指定有5个寄存器(V0-V4),只用.register指令指定5个,或者使用.locals指令指定2个(2个local寄存器+3个参数寄存器)。该方法被调用的时候,调用方法的对象(即this引用)会保存在V2中,第一个参数在V3中,第二个参数在v4中。除了不包含this隐藏参数,对于静态方法都是相同的。寄存器名称有两种寄存器的命名方式,对于参数寄存器有普通的V命名方式和P命名方式。在方法(method)中第一个参数寄存器,是使用P方式命名的第一个寄存器,让我们回到前面的例子中,有三个参数和5个寄存器,下面的这个表显示了对每个寄存器的普通V命名方式,后面是P方式命名的参数寄存器。v0 the first local registerv1 the second local registerv2 p0 the first parameter registerv3 p1 the second parameter registerv4 p2 the third parameter registerYou can reference parameter registers by either name - it makes no difference.你可以使用名称引用参数寄存器,他们没有区别。引入参数寄存器的目的P命名方式被引入去解决,在编辑smail代码时候共同的烦恼。假设你有一个方法(mehtod),这个方法带有一些参数,并且你需要添加一些代码到这个方法中,这时发现需要一些额外的寄存器,你会想“没有什么大不了的。我只需要使用.registers指令添加寄存器数量就可以了。”不幸的是没有想象的那么容易,请记住,方法中方法的参数被保存在最后的寄存器里。如果你增加了寄存器的数量,达到让寄存器中的参数被传入的目的。所以你不得不使用.registers指令重新分配参数寄存器的编号。但如果在方法中P命名方式,被用来引用参数寄存器。你将很容易的在方法中去修改寄存器数量,而不用去担心现有寄存器的编号。注意:在默认的baksmali中,参数寄存器将使用P命名方式,如果出于某种原因你要禁用P命名方式,而要强制使用V命名方式,应当使用-p/--no-parameter-registers选项。Long/Double values正如前面提到的,long和double类型都是64位,需要2个寄存器。当你引用参数的时候一定要记住,例如:你有一个非静态方法LMyObject;->MyMethod(IJZ)V,LMyObject方法的参数为int、long、bool。所以这个方法的所有参数需要5个寄存器。p0 thisp1 Ip2, p3 Jp4 Z另外当你调用方法后,你必须在寄存器列表,调用指令中指明,两个寄存器保存了double-wide宽度的参数。来自:https://code.google.com/p/smali/wiki/Registers
2021年08月20日
179 阅读
0 评论
1 点赞
1
...
18
19
20
...
22