自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Kevin写代码

无知和弱小不是生存的最大障碍,傲慢才是!

  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 UITextView左边距为0

UITextView左边距为0[TextView.textContainer setLineFragmentPadding:.0]; [TextView.layoutManager setAllowsNonContiguousLayout:YES];

2024-04-19 23:02:19 342

原创 ARM之栈与方法

计算机中的栈是一种线性表,它被限定只能在一端进行插入和删除操作(先进后出)。通常将可以插入和删除操作的一端称为栈顶,相对的一端为栈底。通常栈有递增堆栈(向高地址方向生长)、递减堆栈(向低地址方向生长)、满堆栈(堆栈指针指向最后压入堆栈的有效数据项)和空堆栈(堆栈指针指向下一个要放入的空位置)。ARM堆栈与计算机中的栈类似,都具有先进后出和递减满堆栈特点。在调用函数时用于保存一些临时数据。

2024-04-19 23:00:47 535

原创 iOS开发之为什么需要引用计数

在iOS开发中,与Swift语言都是通过引用计数进行内存管理,实际上PythonRubyC++等语言也提供了基于引用计数的内存管理方式,它们有一个共同点,那就是都是面向对象的编程语言。引用计数可以有效地管理对象的生命周期。

2024-04-13 21:27:17 446 1

原创 Flutter开发基础之动画专题

动画设计的作用是让UI界面更流畅、直观,能够有效的提升用户体验。在Flutter开发中,动画分为多个方面:基础动画、页面交互动画、绘图动画、矩阵变换等。

2024-04-13 18:26:54 647

原创 关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解

HTTP的由来HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果。HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。HTTP1.0HTTP1.0是建立一个非持久的连接,遵循TCP/IP协议

2024-04-11 21:32:12 2092

原创 Android开发之移除权限

在Android开发结束后,我们将build好的App Bundle上传至Google Play。这时Google可能会提示一些需要解决的错误,比如xx权限需要限制,需要解释为什么需要这些权限,需要添加文字描述和视频链接,但是我们检查一遍项目后发现并没有添加这些权限啊,那么为什么会有这些提示呢?这时我们会全局搜索项目找到这些文件,然后发现在build文件夹中有这些权限,但是我们并没有添加里面还有,以下是解决这一系列问题的过程。

2024-04-11 21:30:40 533

原创 UICollectionView左上对齐布局

最近完成的项目需要左上对齐的瀑布流,每个格子的尺寸不同,可以使用UICollectionView定义不同的尺寸,但是CollectionView的格子高度是相同的,我想要的是这样左上对齐分别是0、1、2;3、4;当前只能自定义一个组件来完成需求。

2024-04-09 20:36:02 383

原创 iOS集成Flutter与路由控制

本文的目的是将原生项目通过集成Flutter Module逐步将iOS和Android代码向Flutter代码迁移,从而最终实现iOS和Android的代码统一。以下以iOS集成Flutter为例。

2024-04-09 20:35:09 684

原创 Flutter开发进阶之错误信息

在Flutter开发中错误信息通常是由Exception和Error表示,Error表示严重且不可恢复的错误,一般会导致程序直接终止,而Exception可以被显式抛出,一般为代码逻辑错误,根据Flutter的解释说Exception为异常而Error为错误。

2024-04-06 21:45:39 684

原创 iOS使用CoreML对视频进行实时图片分割

我在使用DeepLabV3直接进行预测时,由于视频中的图像是不断改变的,我需要不间断的进行预测,这样就会频繁调用。但是通过AVCaptureSession得到的是CMSampleBuffer,所以这里需要做一些转换。我发现会有内存泄漏的情况导致内存一直增加,这个问题现在还没解决,欢迎大佬们一起交流。CMSampleBuffer的输出源就不做赘述了。我需要获取到视频中的图像。可以直接对图片进行预测。

2024-04-06 20:48:24 324

原创 iOS使用CoreML运用小型深度神经网络架构对图像进行解析

项目有点老了,需要做一些改造,下面是新的。

2024-04-04 11:10:19 911

原创 iOS开发之Swift标识符

在iOS开发中,使用Swift语言时,标识符是用来命名变量、常量、函数、类、结构体、枚举等程序实体的;这些标识符使得Swift代码更加清晰、易于理解和维护。

2024-04-04 11:08:17 1123

原创 Flutter开发之objectbox

在之前进行iOS开发的时候使用WCDB去进行管理数据库很方便,它支持ORM(Object-Relational Mapping,对象关系映射),用于实现面向对象编程语言里不同类型系统的数据之间的转换。那么在Flutter开发过程中有没有对应的工具呢?

2024-03-30 17:01:23 591

原创 iOS开发进阶之列表加载图片

列表加载图片通常使用UITableView或UICollectionView,由于列表中内容数量不确定并且对于图片质量要求也不确定,所以对于图片加载的优化是很有必要的。

2024-03-30 11:04:07 512

原创 Flutter开发之下标

在iOS开发中使用下标就很方便,本文主要是记录一下Flutter中系统自带的下标,还可以通过对应的方法编写自己的下标。

2024-03-27 20:33:35 479

原创 iOS开发之SwiftUI

在iOS开发中SwiftUI与和Swift不同,它采用了,相对而言SwiftUI声明式语法简化了界面开发过程,减少了代码量。由于SwiftUI是Apple推出的界面开发框架,从iOS13开始引入,Apple使用它的目标是为了打通iOSiPadOSmacOSwatchOS和tvOS用户界面,保证在不同设备上的一致用户体验(),所以作为iOS开发不可避免的需要逐步向其过渡。本文主要通过实际开发去了解SwiftUI的优势和具体实现形式。

2024-03-25 22:29:28 771

原创 Flutter开发进阶之瞧瞧Future

在Flutter开发中,异步编程是处理较长时间的操作(网络请求、文件I/O、复杂计算任务等)的方式,而不会阻塞主线程的执行。在异步操作中,Future是代表异步操作最终可能完成的对象,这个对象会在将来的某个时间点完成,并带有操作的结果或异常。这篇文章将从基本概念和用法去了解Future。

2024-03-24 21:13:30 228

原创 Flutter开发进阶之瞧瞧RenderObject

通过上回我们了解到Flutter执行`build`Tree的逻辑线,当Tree构建完成后会交给Flutter底层的渲染事件循环去执行将内容渲染到屏幕的操作。但是渲染的操作到底是如何串起来的呢?这篇文章将会从`Element`联系到`RenderObject`去瞧瞧逻辑线形成闭环。

2024-03-23 19:53:10 931

原创 Flutter开发进阶之瞧瞧BuildOwner

说到关于Element Tree的构建还缺最后一块拼图,build的重要过程中会调用。负责管理构建过程,它持有当前构建周期的所有相关信息,并协调。的状态管理去进行对应的生命周期管理,同个Tree下。后会激活的循环)会重新构建Tree渲染到屏幕上。它负责协调构建过程,当Element添加进。的初始化过程中会将自身作为参数调用。我们忽略debug部分的内容,本身只存储了UI的结构数据,在。中时,Flutter循环调用的。方法会将一个需要重新构建的。的实例,它可以包含其他子。的初始化方法创建对应的。

2024-03-23 11:46:47 1311

原创 Flutter开发进阶之瞧瞧State

上回说到`StatefulWidget`会将自身作为参数创建`StatefulElement`,然后StatefulElement的创建过程首先要调用`_state = widget.createState()`,会创建并持有一个state通过对其生命周期的管理去对`Widget`进行刷新,创建state后还会将自身交给state持有`state._element = this;`。接下来会通过解析`State`的构成去理解`State`。

2024-03-21 20:06:50 387

原创 Flutter开发进阶之瞧瞧Widget

在Flutter开发中,WIdget是构建界面的基本单元;Widget是不可变的,意味着一旦创建如果需要改变UI就需要重新创建一个新的Widget;在实际开发中,Widget通常由一个个Widget组合而成,从而形成嵌套的树形结构,复杂的UI就是由这一个个Widget构建而成;Widget分为有状态和无状态,无状态Stateless根据输入参数渲染UI,有状态Stateful可以管理自己的状态并重建UI。这篇文章将通过解析Widget的构成去理解Widget。

2024-03-20 22:35:28 1255 1

原创 Flutter开发进阶之使用Socket实现主机服务(二)

在Flutter开发实践中,有一些业务是需要主从机合作搭配的服务,其中一些重要的数据和功能是交由主机进行存储和管理,从机再通过UDP和TCP与主机通讯去获得权限,一般在同一个局域网内的多端实现。

2024-03-19 20:35:51 982

原创 Flutter开发进阶之使用工具效率开发

软件开发团队使用Flutter开发的原因通常是因为Flutter开发性能高、效率高、兼容性好、可拓展性高,作为软件PM来说主要考虑的是范围管理、进度管理、成本管理、资源管理、质量管理、风险管理和沟通管理等,可以看到Flutter开发与项目管理完美契合。

2024-03-17 22:06:46 636

原创 Nginx启动服务

浏览器跳转Nginx服务时,访问的是/usr/share/nginx/html路径内。至此,nginx服务部署完成!

2024-03-06 20:17:11 537

原创 Flutter开发之CupertinoApp

最近由于使用Flutter编程更多,使用Flutter更顺手,相对于其他前端框架来说,Flutter在跨平台、响应式UI、自绘引擎、即插即用的组件和庞大的社区生态支持方面有更大的优势;Flutter拥有更低的学习成本,更高的开发效率和比SwiftUI稍低的渲染性能。在使用Flutter开发iOS风格的应用时,不可避免的使用到的组件就是CupertinoApp,它一般是应用的入口组件。

2024-03-02 12:50:49 667

原创 Flutter开发之Slider

本文是关于介绍Slider相关属性的含义。具体使用方式按照含义去使用即可。

2024-02-28 20:52:29 568

原创 Flutter开发进阶之Flutter Web加载速度优化

通常使用Flutter开发的web加载速度会比较慢,原因是Flutter web需要加载的资源处于国外,以下是据此所做的相应优化。

2024-02-28 20:23:56 1945

原创 Flutter开发进阶之Package

通常我们在Flutter开发中需要将部分功能与整体项目隔离,一般有两种方案Plugin和Package,Application是作为主体项目,Module是作为原生项目接入Flutter模块。当独立模块不需要与原生项目通讯只需要Plugin就可以,但是当需要与原生通讯就需要Package。

2024-02-24 23:36:58 781

原创 Flutter开发iOS问题记录

Flutter启动iOS使用LaunchScreen.storyboard时布局错乱显示出两张不同的启动图,如果使用拖线布局可能会产生此问题;原因是Debug模式下,Flutter也实现了热重载,默认编译方式为JIT,而iOS 14+系统对这种编译模式做了限制,导致无法启动;可以通过更改Xcode编译模式:Xcode使用Release模式编译,这个时候Flutter编译方式为AOT,可正常启动。不更改Xcode编译模式,更改Flutter编译配置,强制设置为release也可。

2024-02-04 18:52:16 1057

原创 Flutter开发进阶之Canvas

在Flutter开发中Canvas作为一个绘制2D图形的工具,提供了一系列绘图方法,可以用来绘制各种形状、线条、文本和图像等;Canvas对象是作为CustomPainter的子组件进行构建的;

2024-01-28 22:39:00 1550

原创 移动端开发进阶之蓝牙通讯(四)

在移动端开发实践中,可能会要求在不同的设备之间切换,从而提升用户体验;或者为了提升设备的利用率,实现设备之间的连接和协同工作;不得不通过多端连接,将多个设备连接在一起,实现设备之间的数据共享、远程控制等功能,根据具体的应用场景和需求采用蓝牙的多端连接进行实现。

2024-01-18 23:01:44 1108

原创 Flutter开发进阶之使用Socket实现主机服务(一)

在Flutter开发实践中,有一些业务是需要主从机合作搭配的服务,其中一些重要的数据和功能是交由主机进行存储和管理,从机再通过UDP和TCP与主机通讯去获得权限,一般在同一个局域网内的多端实现。

2024-01-17 00:13:25 1189

原创 移动端开发进阶之蓝牙通讯(三)

移动端蓝牙通讯的主要特点是无线、便捷和高效;它能够摆脱传统有线连接的束缚,让用户更加自由地使用设备;同时,蓝牙通讯协议经过多年的发展和完善,已经具备了较高的传输速度和稳定性,可以满足多种应用场景的需求;在实际应用中,移动端蓝牙通讯可以应用于多种场景,如音频传输、数据传输、设备控制等。以物联网(IoT)为例,通过蓝牙技术,物联网设备可以实现快速、稳定、可靠的无线连接,从而进行数据传输、设备控制等操作。以下就以Flutter开发实战蓝牙通讯过程。

2024-01-16 19:26:21 1418

原创 移动端开发进阶之蓝牙通讯(二)

蓝牙广播是一种无线通讯技术,通过无线电波传输数据;在蓝牙低功耗(BLE)协议中,广播通信是其重要组成部分,主要有两类使用场景:单一方向的、无连接的数据通信,数据发送者在广播信道上广播数据,数据接收者扫描、接收数据;连接的建立;此外,每个设备在使用时,同一时刻,只会在一个信道进行工作,不会占用其他信道,这样可以有效地避免干扰,即使一个信道存在干扰,另外的信道也可以很好地工作;

2024-01-15 22:29:59 991

原创 移动端开发进阶之蓝牙通讯(一)

移动端进阶之蓝牙通讯需要综合考虑蓝牙版本选择、协议栈使用、服务匹配、设备连接、安全性和硬件支持等方面。

2024-01-15 12:18:01 1076

原创 Flutter开发进阶之并发操作数据库

首先可以通过对数据库的操作加锁来保证,比如sqflite提供了事务(Transaction),在事务中执行数据库操作可以确保操作的原子性,即要么全部成功,要么全部失败;首先我所在的设备作为主机要监听子机的UDP广播,然后将通过我验证的子机向其发送我开放的TCP的地址和端口。假设对其响应的本身是对数据库进行操作,而主机内部也同时对数据库有了操作,这时候就要注意数据库的线程安全了;通过使用事务,我们可以实现对数据库操作的加锁,确保同一时间只有一个线程可以访问数据库中的特定资源。

2024-01-14 19:19:12 809

原创 Flutter开发进阶之动画

自定义路径动画可以根据需要绘制任何形状的路径,并在动画中改变路径的形状、位置和颜色等属性实现相应的效果。@override// 返回true表示需要重新绘制,这里我们简单地将返回true,以便每次重新渲染时都会重新绘制路径。@override// 获取屏幕的宽高,以便根据需要调整绘制的比例。// 设置画笔颜色为红色。// 创建路径并绘制。这里我们只是简单地将一个圆形的路径绘制在屏幕上。您可以根据需要创建复杂的路径。// 在屏幕中心绘制一个圆形的路径。您可以根据需要修改路径的形状和位置。

2024-01-13 23:21:44 1128

原创 Android开发基础(四)

Android开发基础(四)本篇将从Android数据存储方式去理解Android开发。

2024-01-12 22:54:33 510

原创 Android开发基础(三)

Android开发基础(三)本篇将介绍Android权限管理。

2024-01-12 22:25:46 455

原创 Android开发基础(二)

异:Java 和 Kotlin 的语法存在显著差异,Kotlin 的语法更加简洁,减少了样板代码的数量,使得代码更加清晰易读;Kotlin 对于空值的安全性处理比 Java 更强大,Kotlin 中的非空类型可以自动处理空值问题,减少了空指针异常的可能性;Kotlin 支持扩展函数,可以在不修改原有类的基础上为其添加新的方法,而 Java 则不支持这一特性;

2024-01-12 17:54:18 1823

GitKraken for Mac

GitKraken git 工具

2024-03-13

JsonToDart-JSON-To-Dart-2.16

flutter开发使用json转model的插件。

2024-03-13

yololib 代码注入

代码注入 Framework yololib工具 开发模块 代码安全技术

2020-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除