程序人生
verlecon
这个作者很懒,什么都没留下…
展开
-
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 · 3635 阅读 · 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 · 302 阅读 · 0 评论 -
React Native 拆包思想
在这里使用 Metro 的方式进行拆包,拆包的目的是可以按业务需要进行按需加载,同时可以热更新和热修复。分包思路为:基础包+业务包1+业务包2+…。由上面可以看到,app有原来的一个bundle分拆为多个,在app启动的时候,先加载公共部分bundle,启动之后按需加载业务bundle。每个bundle都对应一个容器,在android里面是Activity,而在iOS里面是ViewController。那么就可以理解为把之前单容器bundle的app,拆分为多个容器加载。规划代码拆分在进行bund原创 2020-11-20 14:48:19 · 1147 阅读 · 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 · 1593 阅读 · 0 评论 -
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 · 2255 阅读 · 0 评论 -
Dart对比快速入门
文章目录定位声明数据类型数据类型numbers、strings和booleanslistmapRunes函数流程控制面向对象普通构造器和继承minixfactory构造器和多态setter和getter异常异步生成器其他import关键字空判断`..`运算符Typedefs注释最后代码地址定位首先本文是通过对比其他语言(主要是java)快速入门,建议您至少要熟悉一门静态语言或者动态语言。Dar...原创 2019-01-29 11:49:31 · 953 阅读 · 0 评论