自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 使用CIDR计算划分子网个数

CIDR表示法使用一个斜线后跟一个数字来表示网络前缀的长度,例如,192.168.1.0/24表示该IP地址的网络前缀长度为24位,即前三个字节(192.168.1)是网络前缀,最后一个字节是主机标识符。CIDR(无类别域间路由,Classless Inter-Domain Routing)是一种IP地址划分的方法,其目的是更加有效地使用IPv4地址空间。CIDR的原理是将一个IP地址划分为网络前缀和主机标识符两部分,其中网络前缀指示了IP地址所属的网络,而主机标识符则唯一标识了该网络中的一台主机。

2023-03-30 16:45:13 2625

原创 Flutter 使用Key来保持Widget的State对象

由于我们为MyCounter widget指定了全局唯一的key值,当它被移除时,它的_State对象不会被销毁,而是被保留在Flutter的Element树中。在_State类中,我们定义了一个私有变量_count来保存计数器的值,并在按钮被点击时调用setState来更新widget的状态。但是,如果我们需要保持StatefulWidget不被销毁,可以将它的key属性设置为一个全局唯一的值,这样当widget被移除时,它的State对象不会被销毁,而是被保留在Flutter的Element树中。

2023-03-30 15:45:43 433

原创 Flutter的Widget刷新时机以及优化

如果新的widget和旧的widget的Key相同,那么Flutter将会重用旧的widget,并仅更新它的属性。我们可以为每个列表项都指定一个唯一的Key,并确保它们的Type不变,这样当列表项的状态发生变化时,Flutter将只更新发生了变化的列表项,而不会更新其他列表项。由于它们的Type相同,Flutter将只更新它们的属性,而不会创建新的widget。如果新的widget和旧的widget的Type不同,那么Flutter将会创建一个新的widget,并将其插入到widget树中。

2023-03-30 14:08:13 1211

原创 Flutter中的Widget Key简介

如果我们在应用程序中运行上述代码,并点击任意一个计数器的按钮,所有的计数器都会被重新构建,导致计数器的状态丢失。总之,通过为每个widget指定Key,我们可以帮助Flutter正确地区分不同的widget,从而保留widget的状态,并提高应用程序的性能和响应性能。当我们使用StatefulWidget时,如果没有为widget指定Key,则当widget树中的某个节点发生变化时,Flutter会重新创建所有的State对象,这可能导致widget的状态丢失。

2023-03-30 11:52:14 937 4

原创 Windows 上使用adb pull导出带有特殊字符的目录

adb pull /data/data/xx:xxx 一般会报错。

2023-03-28 16:58:41 370

原创 在Flutter中如何处理耗时任务

Future和async/await是Dart中异步编程的核心概念,Flutter也广泛使用这些API来处理耗时任务。Future表示一个异步操作的结果,而async/await则用于编写异步代码,以避免在UI线程中执行耗时操作。// 处理响应数据 }

2023-03-27 21:02:37 1038

原创 Android 如何切换APN

然后,它使用 ContentResolver 对象来查询系统中的 APN 列表,并遍历 APN 列表,查找与传递的 APN 名称匹配的 APN。例如,有些 APN 可以提供更快的网络速度,但可能会产生更高的数据使用费用,而其他 APN 则可能会提供更稳定的网络连接和更低的数据使用费用。使用代码来指定 APN 接入点可能需要特定的权限。如果不想使用 android.permission.WRITE_APN_SETTINGS 权限来切换 APN,可以考虑使用系统的反射机制来访问非公开的 APN 设置 API,

2023-03-27 20:26:57 1064

原创 Android中免流上网时如何实现的

分流:分流是一种将应用程序的网络流量分配到不同的网络接口的技术。通过分流,可以将应用程序的某些流量分配到一个免费或免流的接入点上,从而达到免费或免流上网的效果。代理:代理是一种将网络流量通过一个代理服务器进行转发的技术。通过设置代理服务器,可以将应用程序的网络流量通过免费或免流的代理服务器进行转发,从而实现免费或免流上网的效果。:VPN(Virtual Private Network,虚拟私人网络)是一种将本地网络流量通过一个远程服务器进行转发的技术。

2023-03-27 20:22:55 1396

原创 Android 设备通过WIFI传输数据 - 点对点传输

点对点传输(P2P)又是WLAN直连,他可以在没有中间接入点的情况下,通过 WLAN 进行直接互联。他有用户介入操作少,比蓝牙传输速度高等特点,对设备的要求仅仅为14,同时他又不占用wlan0网卡。WLAN P2P 需要使用到 WifiP2pManager ,同时需要以下权限,这里面有一些是运行时权限,需要用户同意后才能使用。<uses-sdk android:minSdkVersion="14" /><uses-permission android:name="android.pe

2020-11-30 12:12:17 3955 1

原创 Kotlin 封闭类与枚举区别

在Java或者Kotlin中枚举可以携带属性,向下面这样。使用属性可以做一些差异性判断,比如静态工厂。enum class Car2(val maxSpeend:Int) { AUDI(200),BWM(210),BENZ(220)}但是在实际开发中,有一些属性并不是直接就能确定的,甚至随着程序的运行才能确定,就用到了封闭类。举个例子:sealed class Car3(val maxSpeed:Int) { object AUDI:Car3(200) object BW

2020-11-23 11:15:48 321

原创 React Native 拆包思想

在这里使用 Metro 的方式进行拆包,拆包的目的是可以按业务需要进行按需加载,同时可以热更新和热修复。分包思路为:基础包+业务包1+业务包2+…。由上面可以看到,app有原来的一个bundle分拆为多个,在app启动的时候,先加载公共部分bundle,启动之后按需加载业务bundle。每个bundle都对应一个容器,在android里面是Activity,而在iOS里面是ViewController。那么就可以理解为把之前单容器bundle的app,拆分为多个容器加载。规划代码拆分在进行bund

2020-11-20 14:48:19 1272 3

原创 MacOS开发 - StatusBar状态栏弹出菜单

MacOS StatusBar状态栏弹出菜单Created: Nov 10, 2020 4:14 PM一个最简单的弹出菜单是这个样子首先新建一个macOS工程,一切默认即可。填写项目名称和其他信息。首先清理SwiftUI代码。只保留程序入口即可。打开 AppDelegate.swift 在 AppDelegate 这个类的类变量中声明menu。如果不在类变量中声明,状态栏的图标会闪一下就消失。let statusItem = NSStatusBar.system.statusItem(wi

2020-11-14 08:08:37 1779

原创 Apk 拆包替换文件

在Android的开发测试过程中,为了替换assets文件或者更改smail文件,需要把apk拆开。这个过程用到apktool和jarsigner。其中apktool需要自己安装;jarsigner是jdk自带的,也就是说需要java开发环境。apktool安装地址:https://ibotpeaches.github.io/Apktool/如果你使用mac系统,可以使用homebrew安装。brew install apktool其他系统参照官方方法:https://ibotpeaches.gi

2020-11-14 07:58:28 2402

原创 Dart对比快速入门

文章目录定位声明数据类型数据类型numbers、strings和booleanslistmapRunes函数流程控制面向对象普通构造器和继承minixfactory构造器和多态setter和getter异常异步生成器其他import关键字空判断`..`运算符Typedefs注释最后代码地址定位首先本文是通过对比其他语言(主要是java)快速入门,建议您至少要熟悉一门静态语言或者动态语言。Dar...

2019-01-29 11:49:31 1390

原创 使用frp访问公司内部网站

功能简介观看之前,建议你有ssh和简单的shell使用经验。顾名思义,这是一个通过内网穿透自建代理来访问公司内网的教程。说到内网穿透、代理都不是什么新鲜的概念,但是这些工具组合起来确实有很多好玩的地方。在这里,就是他们其中的一种组合游戏。好戏开始之前,我们先提出几个疑问,让我猜猜你想的对不对。1. 我在家里可以访问公司内网吗,比如打卡,收发邮件之类的?2. 我需要哪些必备的东西呢?...

2019-01-28 17:15:59 2692

空空如也

空空如也

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

TA关注的人

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