移动开发

iOS之MD5加密、加盐

MD5加密:HASH算法一种、 是生成32位的数字字母混合码。 特点: 1、任意数据得出的MD5值长度都是32 2、对原数据进行任何改动,所得到的MD5值都有很大区别 应用: 主要运用在数字签名、口令加密等方面 MD5改进(加盐等): 现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度 加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5 写一个NSString分

使用make进行golang编译中的小问题及解决方案

报错信息:Clock skew detected. Your build may be incomplete. make: Warning: Clock skew detected. Your build may be incomplete. 表示检测到了时钟偏差,通常发生在将代码从开发主机拷贝到编译主机进行编译,而两个设备系统之间的时间上存在差距。 解决方案: find ./ -type

Android中加载Gif动画

Gif动画,我使用了三种方式 1.自定义控件加载gif动画 ①.首先自定义一个GifView,用于显示Gif图片,具体代码如下: public class GifView extends View { private Resources resources; private Movie mMovie; private long mMovieStart; priv

ViewModel源码阅读笔记

MVVM模式实现了数据和页面的分离。ViewModel的生命周期需要跟随引用他的activity或者fragment。接下来我们就来看看,ViewModel是如何实现生命周期的伴随的。 先从ViewModel的创建开始看 XXXViewModel viewModel = new ViewModelProvider(fragment).get(XXXViewModel.class) kotlin

Windows 刷新按钮是如何工作的?

今天我们来聊聊 Windows 刷新按钮是如何工作的? 在当前,遵循相同的过程,但照片现在保存在数字压缩文件中,该文件具有 MP4 或 MKV 等扩展名。 它使视频便携,我们可以在我们的电脑上打开它。 因此,将您的操作系统生成的帧视为图像。 帧一个接一个地显示在屏幕上,让您感觉一切都是连续的。 每个框架都包含不同的 UI(用户界面)组件,例如背景、图标及其名称。 构建每个框架时,所有组件都放置在其

Android 开机自启动Service

1、修改AndroidManifest.xml文件 // 添加接收开机广播的权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> // 注册接收开机广播的receiver <receiver android:name=".BootBroadcastReceiver">

iOS 中为什么更新UI都要放在主线程

分析:首先在子线程中是不能进行UI 更新的,而可以更新的结果只是一个幻像:因为子线程代码执行完毕了,又自动进入到了主线程,执行了子线程中的UI更新的函数栈,这中间的时间非常的短,就让大家误以为分线程可以更新UI。如果子线程一直在运行,则子线程中的UI更新的函数栈 主线程无法获知,即无法更新。 其次因为开辟线程时会获取当前环境,如点击某个按钮,这个按钮响应的方法是开辟一个子线程,在子线程中对该按钮进

Xcode14.3打包的APP在iOS13.x上启动崩溃闪退

Xcode14.3 ,iOS13.6.1, iOS13.6, iOS13.3, iOS13.x 今天用Xcode 14.3打包安装在iOS 13.x的手机启动崩溃,但是连着Xcode调试时没有问题,不连着Xcode14.3时启动APP就闪退。 从苹果官网看到也有不少人遇到,但是没有具体的解决方案。 目前从以下几点处理这个问题: 1.降级Xcode到14.2打包可解决该问题 2.app 最低目标版

Dart简介4--异步支持

说明 在很多语法中,回调处理异步任务是很常见的操作,然而回调多了是一件很老火的事情。Dart给了我们很友好的方式,可以允许我们写出和同步代码很像的异步代码。 1,Future Future一个异步操作的最终完成(或失败)及其结果值的表示。简单来说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作。一个Future只会对应一个结果,要么成功,要