- 博客(47)
- 资源 (2)
- 收藏
- 关注
原创 Android | Handler
子线程完成耗时操作的过程中,通过 Handler 向主线程发送消息 Message,用来更新 UI 界面。因为 Android 是在主线程中更新 UI 的,在主线程出现耗时操作时,就会导致用户界面卡顿,所以我们一般都把耗时的操作(网络请求、IO 等)放到子线程中,然后通过 Handler 的方式让主线程更新 UI。
2023-10-24 09:47:15 260
原创 Android | ADB 命令
Android 调试桥,通过 C/S 的形式利用 PC 来操作 Android 设备,通过 ADB 可以利用 shell 直接操作真机或模拟器,比如传输文件、管理应用、拉取日志等。
2023-09-12 20:31:02 602
原创 Android | BroadcastReceiver
应用与 Android 系统或者其他应用之间可以相互收发广播消息,便于进行系统级别的消息通知。
2023-01-15 23:57:16 473
原创 树莓派 | “start4.elf: is not compatible” 问题解决
如果树莓派刷写系统后出现如下问题:此时可以前往如下网址,下载最新固件包。下载的固件包中包含很多文件,其中boot路径下为需要的部分。如果使用SD卡加载文件,只需利用读卡器读取SD卡,进入boot盘中,将固件替换为最新的内容即可。开机提示某一文件不可用,则将该与文件一同替换。即如果提示不可用,则将系统的boot盘中的与用下载的最新固件包中的相同文件替换即可。
2022-04-21 09:56:52 7236 6
原创 树莓派 | Raspberry Pi 4 bootloader版本更新与回退
如果需要更新树莓派的bootloader版本,可以前往如下地址下载最新的bootloader并更新。https://github.com/raspberrypi/rpi-eeprom/releases利用读卡器将已经刷写好镜像的SD卡插入电脑,进入boot盘,将boot盘中所有文件清空,此时点击右键-属性查看boot盘查看文件系统是否为FAT32。将下载好的文件解压至已清空的boot盘中,然后退出SD卡,将SD卡插入断电的树莓派,然后上电,等待10s左右,待绿色指示灯从常亮转变为不断闪烁则表示b
2022-04-21 09:42:22 3967
原创 openEuler | 树莓派安装openEuler-Raspi
一、获取镜像文件前往openEuler社区网站(https://www.openeuler.org/zh/download/),点击卡片openEuler21.09版本上的下载按钮,进入镜像选择页面,选择“raspi _img”,下载“openEuler-21.09-raspi-aarch64.img”。如果此时下载速度慢,则选择进入镜像仓库(https://www.openeuler.org/zh/mirror/list/),选择合适镜像源下载镜像文件。二、刷写镜像使用格式化SD卡工具(以S
2022-03-30 16:43:09 7764
原创 Android | 安全码SHA1
在获取一些第三方的SDK时,需要提供App数字证书的keystore的认证指纹。签名文件 keystore 的后缀一般为 .jks 或 .keystore 。发布版SHA1作为实际产品发布的App,该App的数字证书的 keystore 保存在用户自定义的路径中。在Android Studio中的Terminal使用如下命令管理密钥库,获取发布版SHA1,需要输入密钥库口令,是开发者自行设置的值:keytool -list -v -keystore <Android keystore储存位置&g
2021-10-25 19:53:14 3847
原创 Android | Intent
Android IntentAndroid 应用程序内不同组件之间的通信载体。Intent 封装了当前组件需要启动或触发的目标组件的信息。**优点1:**提供一致的编程模型封装“启动意图”,无论是对 Activity、Service、BroadcastReceiver来说都一致。**优点2:**利于高层次解耦,在程序只想启动具有某种特征的组件,不想和某个具体的组件耦合时可以使用 Intent。包含如下属性:Component:明确指定需要启动的目标组件。Action:该 Intent 所要完
2021-10-22 08:42:23 216
原创 Android | Android中的几种进程
Android 进程Android系统主动管理资源,为了保证高优先级程序的正常运行或者为了减轻系统内存负载,会主动终止低优先级的程序。可见程序的生命周期是由Android系统控制。#mermaid-svg-YmAuuBYn4x9Madqf .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-YmAuuBYn4x
2021-10-22 08:40:02 1159
原创 Android | Layout中XML文件(三)组件属性
关于Android Layout里使用的一些组件属性。(1)layout_width与layout_height 用于指定当前View的宽度与高度,这是不同布局管理器都包含的属性,可以指定固定值,也可以取match_parent与wrap_parent。前者match_parent用于表示当前控件的大小与父布局大小相同,也就是由父布局来决定当前控件的大小;后者wrap_parent用于表示让当前控件大小能够刚好容纳里面填充的内容,即让控件内容决定当前控件大小。一般推荐使用mat...
2021-07-09 17:47:15 905 3
原创 Android | Layout中XML文件(二)布局管理器
〇、总述为了更好地管理Android应用的用户界面的各个组件,Android提供了布局管理器。布局管理器根据运行平台来调整组件的大小,开发时只需要为容器选择合理的布局管理器即可。Android的布局管理器本身既是一个UI组件所有的布局管理器都是ViewGroup的子类。所有的布局都可以当作容器类使用,布局管理器也可以相互嵌套。一、LinearLayouyt 线性布局,可以将放入其中的组件水平(horizontal)或垂直(vertical,默认值)排布。线性布...
2021-07-07 10:52:43 979
原创 Android | Layout中XML文件(一)目录结构
Layout XML文件中相关标签的使用对于一个标准的Android工程来说,通常会具有以下目录结构:res目录是Android工程的资源目录,UI涉及的所有图片、数据等资源都存放于该目录之下。该目录下每一项资源都会由AAPT(Android Asset Packaging Tool)生成对应的id,并打包成R.java类,方便通过对应id访问对应资源。在Android Studio中,R.java所在目录一般为:app/build/generated/so...
2021-07-01 10:52:11 1481
原创 Android | Android Studio中对APP签名与打包
Android 签名Android 打包在Android Studio中打开Build - Generate Signed Bundle / APK出现如下窗口:选择APK,点击Next若之前没有.keystore文件,点击Great new创建新的数字证书文件。输入储存路径、密钥别名、密码、确认密码、证书有效期以及个人相关信息之后即可创建新的.keystore证书文件。输入完成后点击OK,会回到上一页,密钥信息会自动填入。点击Next进入版本选择debug是调试版本,relea
2021-05-11 09:41:08 362 2
原创 Android | AES加密算法的Android实现
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法。import android.text.TextUtils;import android.util.Base64;import android.util.Log;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;publi
2021-04-15 11:32:21 562 3
原创 Android | 使用MuMu模拟器调试Android Studio程序
Android Studio有自带的模拟器,但是最大的问题就是占用大量内存,调试的时候可能会导致设备卡顿等。使用第三方模拟器可以规避这个问题。常用的模拟器有夜神、网易MuMu等。在使用MuMu模拟器调试时,先要在命令行窗口中输入:adb connect 127.0.0.1:7555如果提示指令不存在,需要去查看是否将AndroidSDK中的platform-tools路径加入系统路径Path中。输入指令后,便能够在AS中找到响应AVD。附:网易MUMU模拟器:adb connect 1
2021-03-26 09:16:56 915 4
原创 verilog | 十二、状态机
-分类根据状态机的输出是否与输入条件相关,可将状态机分为两大类:摩尔(Moore)型状态机和米勒(Mealy)型状态机。 -摩尔状态机:摩尔状态机的输出仅仅依赖于当前状态,而与输入条件无关。 -米勒型状态机:米勒型状态机的输出不仅依赖于当前状态,而且取决于该状态的输入条件。根据状态机的数量是否为有限个,可将状态机分为有限状态机(Finite State Machine,FSM)和无限状态机(Infinite State Machine,ISM)。逻辑设计中...
2020-07-19 10:25:18 1542 1
原创 JavaCard | 智能卡-电子钱包
一、需求分析 设计一个电子钱包小程序,要求至少实现电子钱包安装、选择与撤销选择、存款、借款、获取身钱包余额、身份验证的功能。身份验证可通过PIN码来设置。 存款、借款、消费可以通过设置一余额变量Balance,通过读取相应操作指令,对变量Balance进行加、减、读取值来实现存款、借款、消费功能。 对不符合规定的操作,抛出异常来中断操作。 二、APDUC-APDU...
2020-07-06 19:11:00 2170 6
原创 verilog | 十一、m序列发生器
一、定义m序列:最长线性反馈移位寄存器序列的简称。是一种伪随机序列、伪噪声码。伪随机序列:不能预先确定但可以重复实现的序列。二、原理递推方程:特征方程:x^i仅指明其系数代表ci的值,x本身的取值并无实际意义。本原多项式:若反馈移位寄存器的特征多项式为本原多项式,则移位寄存器能产生m序列。若一个n次多项式f(x)满足:1)既约的:不能再因式分解;2)可整除(x^m + 1), m = 2^n - 1;3)除不尽(x^q + 1), q ..
2020-07-04 11:55:57 8566 4
原创 微机原理与接口技术 | 汇编 字节数据排序
目录一、题目要求二、算法设计三、程序测试四、源代码一、题目要求 在 buf 缓冲区中存放有 50 个字节数据(无符号数),编写程序将这些数据由小到大排序,排序后的数据仍放在该区域中。原始数据在源程序中由定义给出。输出如下: 1、在屏幕上先显示排序前的数据(十六进制),数据以每行 10 个的格式显示在屏幕上,数据与数据间用空格分开; 2、在屏幕上显示排序后的数据(十六进制),数据以每行 10 个的格式显示在屏幕上,数据与数据间用空...
2020-07-03 12:24:03 2591 1
原创 微机原理与接口技术 | 三、8086寻址方式
-8086寻址方式:寻址方式:指令中说明操作数所在地址的方法。指令区别:计算机指令通常包含操作码和操作数两部分。指令有单操作数、双操作数、无操作数的区别。双操作数要用逗号将两操作数分隔开,逗号右边操作数称为源操作数,逗号左边操作数称为目的操作数。1、立即寻址方式(Immediate Addressin)操作数以立即数的形式直接包含在指令内。-注意:所有指令中,立即数只能作源操作数,不能作目的操作数。以A~F打头的数字出现在指令中时,前面一定要加数字0,以免与其他符号相混淆。..
2020-06-21 09:41:56 3203
原创 微机原理与接口技术 | 二、8086系统结构
-8086CPU内部结构1、总线接口部件BIU(Bus Interface Unit):-描述:8086CPU与外部(存储器和I/O端口)的接口,提供16位双向数据总线和20位地址总线。-作用:地址形成、取指令、指令排队、读/写操作、总线控制;-组成:1)16位段地址寄存器:CS:代码段寄存器;DS:数据段寄存器;ES:附加段寄存器;SS:堆栈段寄存器;2)IP:16位指针寄存器,存放下一条要执行指令的偏移地址;3)20位物理地址加法器:将16位逻辑地址...
2020-06-21 09:40:16 2748 1
原创 微机原理与接口技术 | 一、微型计算机系统
-微型计算机构成:微处理器、存储器、输入/输出接口电路、系统总线1、微处理器:CPU(中央处理器),计算机系统核心。1)从存储器中取指令,指令译码;2)简单的算术逻辑运算;3)在处理器和存储器或I/O之间传送数据;4)程序流向控制;2、存储器:分为随机存储器RAM和只读存储器ROM主要用来存放程序和数据。3、输入输出接口电路:用于将外部设备和CPU或存储器相连接。4、总线:将CPU、存储器及I/O接口电路相连接,是负责在CPU与存储器和I/O之间传送地...
2020-06-21 09:40:07 2125
原创 verilog | 十、时钟信号与复位信号
1.常规时钟1) initial:parameter clk_period = 10;reg clk;initial beginclk = 1'b0;forever#(clk_period / 2) clk = ~clk;end2) always:parameter clk_period = 10;reg clk;initialclk = 0;always #(clk_period / 2) clk = ~clk;2.占空比可调时钟..
2020-06-21 09:39:57 5691
原创 verilog | 九、UDP
-UDP:用户自定义原语(User-defined Primitive),自成体系,UDP中不能调用其他原语或模块。UDP有两种类型:1、表示组合逻辑的UDP:输出仅取决于输入信号的组合逻辑;2、表示时序逻辑的UDP:下一个输出值不但取决于当前的输入值,还取决于当前的内部状态。输出端口必须被声明为reg类型。电平敏感的状态表输入项,优先级高于边沿敏感的状态表输入项;-组成:关键字primitive-endprimitive。-定义规则:1、输入端口:关...
2020-06-20 22:54:53 1408
原创 verilog | 八、时序与延迟
-分布延迟:将延迟值赋给电路中独立的门,或是在单独的assign语句中指定延迟值。-集总延迟:将所有路径的积累延迟汇总于输出门处。-引脚到引脚的延迟:分别把延迟给模块中从每个输入到每个输出之间的所有路径。-路径延迟建模:在模块的源引脚(输入或输入输出)和目标引脚(输出或输入输出)之间的延迟称为模块路径延迟。-specify块:关键字specify-endspecify;包含:给穿过模块的所有路劲指定引脚到引脚的时序延迟;在电路中设置时序检查;定义specparam常量;...
2020-06-20 22:53:44 2769
原创 verilog | 七、常用关键字
-过程连续赋值:过程赋值:将值赋给寄存器,之一直保存在寄存器中,直到另一个过程赋值将另外一个值存放在该寄存器中;过程连续赋值:允许在有限时间段内将表达式的值连续地加到寄存器或线网。左边只能是寄存器或寄存器组。-assign和deassign:-force和release:可改写(覆盖)寄存器、线网上的赋值。或者-defparam:在任意模块调用中改变参数值。或者-条件编译和执行:某部分代码只有设置了特定的表之后才能被编译。编译指令(`if...
2020-06-20 22:52:38 2170
原创 verilog | 六、verilog中的任务和函数
1、任务和函数必须在模块中定义,也只能在定义它们的模块中使用。2、任务用于代替普通Verilog代码,可包含延迟、时序、事件等;函数用于代替表示纯组合逻辑的Verilog代码。-任务:关键字task-endtask。必须使用任务而不能使用函数的条件:1.程序中包含延迟、时序、事件控制结构;2.没有输出、输出变量数目大于1;3.没有输入变量。任务使用示例:或者:-自动(可重入)任务:task后加关键字automatic。由于任务中声明项的...
2020-06-20 22:50:51 1223
Verilog_ViterbiDecoder.zip
2020-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人