自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flutter 使用MobSDK 报错

打开External Libraries--Flutter Plugins--image_picker--android--build.gradle,找到如下代码,注释掉Maven的三行代码,这个错误就解决掉了。期间android studio可能会提示,直接选择我要编辑就可以。

2022-10-25 10:56:19 608 1

原创 ERROR: Error installing cocoapods: ERROR: Failed to build gem native extension

最近升级pod报错,解决方案1.brew cleanup -d -v2.brew install cocoapods3.安装失败执行brew link cocoapods

2021-08-18 15:47:30 608

原创 flutter入门之理解Isolate及compute

不错的文章 都是干货https://www.jianshu.com/p/07b19f4752ea

2021-04-29 14:24:59 294

原创 Flutter LayoutBuilder

松约束 紧约束

2021-04-27 14:26:06 265

原创 Flutter异常捕获

Flutter异常分类Dart异常 Framework异常1.Dart异常全局捕获//异步抛出异常runZoned( () => runApp(MyApp()), onError: (Object obj, StackTrace stack) {//进行上报处理 },);});2.Framework异常ErrorWidget.builder = (FlutterErrorDetails details){ //上报处理//自定义错误提.

2021-03-31 10:12:23 373 1

原创 Flutter绘制弧线

如图所示,实现带弧度的容器,用CustomPaint实现,直接上代码import 'dart:math';import 'package:flutter/material.dart';import 'package:flutter/rendering.dart';void main() { runApp(MyApp());}class MyApp extends StatelessWidget { // This widget is the root of yo...

2021-03-30 13:43:50 2022

转载 Flutter2 重点更新一览

收藏一下,转自老孟https://mp.weixin.qq.com/s/EzS3dtpZB_i9p358qqlBpg

2021-03-06 11:44:23 224

原创 mac清理

拿走不谢!!链接:https://pan.baidu.com/s/1E6ynriOKqpzo4bbzYUJiPQ 提取码:w26a

2021-03-06 10:46:06 216

转载 Flutter性能提升 方案

转自老孟的https://mp.weixin.qq.com/s/XttPvLDFfehI97kNi1GsrQ重建最小化原则在调用 setState() 方法重建组件时,一定要最小化重建组件,没有变化的组件不要重建,看下面的Demo,这是一个设置页面,import'package:flutter/material.dart';classSettingDemoextendsStatefulWidget{@override_SettingDemoStatecreateSt...

2021-01-21 09:50:31 283

原创 React-Native弊端

RN是一套js工具包,原理是通过js桥接转换成对应的原生ios和Android代码,弊端是什么呢?RN是依赖原生SDK版本的,如果RN开发是在高版本原生SDK基础上开发的,用户端SDK未升级,会导致方法未找到崩溃异常。还有一种情况,RN在老版本原生SDK基础上开发,但用户端SDK版本很高,有可能一些老的方法禁用,导致方法无效总结:1.RN太过于依赖原生系统2.同样一套代码在ios和Android表现形式有可能不同(UI),由于ios和Android的设计风格不同...

2021-01-19 10:17:49 431

原创 Flutter 开屏方案

前言在APP项目中闪屏页(或启动页)的作用是为了解决在程序显示第一帧之前,不要出现白屏的现象,尤其是在纯RN和Flutter的项目里面,资源加载完成到显示的速度会比Native要逊色一些。这里主要总结纯Flutter项目可选择的闪屏页实现方案,大部分为 pub.dev 上比较受欢迎的几种。Native 处理这里就不多说了,Native处理闪屏页不管是Android还是iOS官方都有很成熟的解决方案。flutter_splash_screen 插件flutter_splash_scr.

2021-01-13 17:25:06 1535

转载 滴滴DoKit For Flutter正式开源

原文链接:https://juejin.cn/post/6914111076099915784?utm_source=gold_browser_extension

2021-01-05 15:28:39 661

原创 Flutter tabbar自定义indicator的固定宽度、圆角

看看源码研究一下:那么找到TabBar有一个indicator的属性。看注释大体是说如果使用自定义的indicator,那么indicatorColor、indicatorWeight、indicatorPadding都将被忽略默认的indicator是UnderlineTabIndicator然后在UnderlineTabIndicator中找到了答案,我们把UnderlineTabIndicator拷贝出来改个名修改如下两处就可以固定宽度和修改圆角:...

2020-12-29 10:11:52 1610 1

原创 flutter状态管理 scoped_model

场景:在App中共享数据实现:1. 添加依赖scoped_model: ^1.0.12.定义Model的派生类,如UserModel//user_model.dartimport 'package:scoped_model/scoped_model.dart'; class UserModel extends Model{ String _user; String get user => _user; set user(value) => _user

2020-11-25 10:45:57 166

原创 Flutter 安卓微信分享提示签名不对

安卓release-apk安装之后分享提示签名不对,是由于打包默认是混淆的,需要去掉混淆

2020-09-11 13:45:39 1323

原创 Flutter-ListView重用机制

先介绍一下iOS的cell重用机制,然后对比ListView的item"重用"机制.iOS的TableViewCell重用机制通过对每一个类型的cell绑定重用id标志 根据重用id去取出重用池里面的cell对象,池子里没有或者数量不够,tableView会new一个新的出来. 去更新该cell,调整frame并移动到可视区域.ListView的item"重用"机制ListView因为没有item的重用id,所以每次滑动ListView,它会重新创建、布局、绘制可见区域内的item,一般会

2020-09-07 14:34:02 3953

原创 Flutter 刘海屏适配

对于Flutter来说,刘海屏主要适配的是上下的边距, 需要把不可点击的区域留出来,同时要把背景颜色和图片放上去。对于上面的边距, 如果使用 Scaffold , appBar已经自动为我们做好了适配,直接使用就行了。如果使用的是自定义布局的话, Flutter 提供了媒体查询的接口, 可与获取到上边距和下边距的值我们只需要在布局Widget的时候, 把这个值计算进去就ok了。需要注意的是:上边距在 iPhoneX 上的值是 44, 在其他设备上的值是 20, 是包含了电池条的高度的。

2020-09-03 19:15:50 1251

原创 Flutter 层叠布局 Stack、Positioned

层叠布局和Web中的绝对定位、Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。绝对定位允许子组件堆叠起来(按照代码中声明的顺序)。Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置。alignment:此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子组件。所谓部分定位,在这里特指没有在某一个轴上定位:left、

2020-09-01 11:07:20 365

原创 Flutter 数据持久化

在开发应用的时候,有时候需要本地存储一个临时数据,这时候可以使用 Flutter 的 shared_preferences插件,此插件在 iOS 上使用 NSUserDefaults,在 Android 上使用 SharedPreferences,为简单数据提供持久存储。先安装依赖:dependencies:shared_preferences: ^0.4.2基本使用shared_preferences 使用的存储方式是 key-value 形式。虽然使用键值存储非常简单方便,但它有一些限制:

2020-09-01 10:23:21 801

转载 Android和iOS上的视图渲染原理

View,几乎是所有界面系统中的基类,在iOS里面是UIView,在Android里是View。 那么,到底View是什么东西,他做了些什么,他是怎么做到的,在这篇文章中,希望能带给大家一些启发。抽象View实际上是一个抽象类,他负责对渲染、布局以及触摸事件进行抽象。渲染抽象我们知道,不管是 iOS 还是 Android,他们的渲染引擎都是 OpenGL,OpenGL是面向C语言的(...

2020-04-28 11:39:07 924

原创 mac更新10.15之后。pod失败

方案1brew link --overwrite cocoapods方案2brew reinstall cocoapodsbrew install rubybrew link --overwrite cocoapodspod search 失败sudo rm /Library/Caches/CocoaPods/search_index.json...

2020-04-21 10:56:18 466

原创 es6 let和var区别

一、声明变量var和let的区别:1. let不允许重复声明变量2. let不存在变量提升:3.let所声明的变量,只能在let命令所在的代码块内有效。4.如果未在let语句中初始化变量,则将会自动为其分配JavaScript值undefined。二、let和const两个变量声明命令,他们都具有下面这些特性:1、块局作用域;2、不存在变量提升,一定声明后才能使用;...

2020-04-02 10:44:12 156

原创 mac安装三方软件提示 XXX已损坏,打不开

一直有朋友同事反映,从网上下载的软件或者朋友给发送的软件,以及输入法等常用软件,安装时总是提示“已损坏,移至废纸篓”这类信息,根本无法打开。其实,这是新系统(macOS Sierra 10.12.X)惹的祸。新系统加强了安全机制,默认不允许用户自行下载安装应用程序,只能从Mac App Store里安装应用。解决方法打开终端输入代码:sudo spctl --master-disable(...

2020-03-26 14:40:41 388

原创 CocoaPods 升级之后遇到的问题. CDN: trunk Repo update failed

最近升级CocoaPods之后,pod install之后出现CDN: trunk Repo update failed ,这是由于搜索源变了,在Podfile文件中添加source 'https://github.com/CocoaPods/Specs.git' ,搜索就可以了.pod search 的时候有些库会出问题,执行pod repo remove trunk移除trunk源,就...

2020-03-06 14:48:16 1383

转载 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。...

2018-11-20 16:56:47 283

转载 iOS ipv4和ipv6转换

关于ip地址主要是ipv4转换成ipv6的解决办法   以前的坑:以前也遇到过关于ipv6审核被拒绝的问题,公司给的服务器地址是ip地址,不是域名,所以在苹果审核的时候遇到了ipv6的问题,如果是域名的话问题很容易解决,不过最终还是找到了解决办法,在此分享给大家。前提是我的项目都是用tcp做网络通信,没有用到http,所以我的项目用到了这个GCDAsyncSocket.h第三方,于是我在这...

2018-09-20 16:23:55 1499

转载 很好用的抓包工具 wireshark

wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容,...

2018-08-16 11:11:12 2730

原创 performSelector: withObject:anArgument afterDelay 和子线程

 - (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay;添加到子线程为什么不执行?我们知道,当一个应用启动时,系统会开启一个主线程,并且把主线程的runloop激活,也就是run起来,并且主线程的runloop是不会停止的。所以...

2018-08-15 14:48:19 624

转载 UIViewController的瘦身计划(iOS架构思想篇)

这篇文章里会涉及如下几个方面: 1、代码的组织结构,以及为何要这样写。2、那些场景适合使用子控制器,那些场景应该避免使用子控制器?3、分离UITableView的数据源和UITableViewDataSource协议。4、MVVM的重点是ViewModel,不是响应函数式。5、MVVM中,ReactiveCocoa或RXSwift实现数据绑定的带来的弊端。6、用策略模...

2018-08-09 09:13:35 227

转载 内联函数 inline

  引入内联函数是为了解决函数调用效率的问题 由于函数之间的调用,会从一个内存地址调到另外一个内存地址,当函数调用完毕之后还会返回原来函数执行的地址。函数调用会有一定的时间开销,引入内联函数就是为了解决这一问题。 那么引用内联函数到底有什么区别呢?万一面试问到了,那只能回答”为了解决函数调用效率的问题”? 代码一 说明:定义一个add(int,int)函数并...

2018-08-02 14:38:22 226

原创 MIME与mime.types

当你刚安装完Nginx,打开默认的配置文件nginx.conf时,你会看到http上下文中有这一行配置:include mime.types; 有的小伙伴就有疑问了:mime.types是什么文件?在Nginx中又是什么作用呢? 下面我们就来看看,mime.types究竟是怎么回事。一、MIME与电子邮件说起MIME,我们首先要说说电子邮件。早期的电子邮件只能支...

2018-08-01 11:58:07 3659

原创 解释型语言和编译型语言

首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序说到翻译,其实翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。用编译型语言写的程序执行之前,需要一个专门的编译过程,通过编译系统(不仅仅只是通过编译器,编译器只是编译系统的一部分)把高...

2018-07-31 10:38:58 280

转载 单点登录

转载:http://blog.csdn.net/xqhys/article/details/63920161?locationNum=3&fps=1一、什么是单点登录SSO(Single Sign-On)  SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录...

2018-07-16 21:28:08 206

原创 有IP地址为何还需要MAC?

相邻结点之间必须用第二层的地址才能通信,MAC地址物理地址,是第二层地址的一种,IP地址是逻辑地址以网络中的路由器为例子,当路由器收到IP数据包之后,先根据IP地址中的网络号判断这个数据包应该发到哪里(具体为从哪个接口出去或者说下一跳应该是哪里),然后在具体发送的时候,跟根据下一跳的IP地址得到MAC地址,然后再以这个MAC地址封装IP包,成为数据帧,然后从相应接口转发出去,对方接收到之后,先根据...

2018-06-14 08:09:31 356

原创 Http协议、Tomcat、servlet

HTTP协议Http,超文本传输协议是互联网上最广泛的一种网络协议,所有的www文件都必须遵守这个标准。Http协议由http请求和http响应组成http请求:1.请求行请求方式 POST、GET、PUT、DELETE等请求的资源 /DemoEE/form.html协议版本 http/1.12.请求头cookie 浏览器缓存的cookie信息User-Agent 客户端浏览器与操作系统相关信息C...

2018-06-08 15:14:06 257

原创 GCD基本使用

GCD基本使用注意点01 异步函数+并发队列:开启多条线程,并发执行任务02 异步函数+串行队列:开启一条线程,串行执行任务03 同步函数+并发队列:不开线程,串行执行任务04 同步函数+串行队列:不开线程,串行执行任务05 异步函数+主队列:不开线程,在主线程中串行执行任务06 同步函数+主队列:不开线程,串行执行任务(注意死锁发生)07 注意同步函数和异步函数在执行顺序上面

2018-06-06 15:31:47 331

原创 Xcode 10 beta 运行libstdc++报错处理

最近体验xcode beta10出现以下问题:这个错误原因是因为iOS12.0中去掉了lstdc++.6.0.9.tbd动态库, iOS12.0中全部采用libc++代替lstdc++的动态库(如下图):因为beta版本Xcode是无法打包上传appstore,所以肯定还是需要Xcode9.4+Xcode10并行使用,而且现在部分第三方SDK依旧要依赖于lstdc++.6.0.9.tbd动态库,如...

2018-06-06 15:30:51 5778 1

原创 最近很坑的 开发者账号同意协议 Edit Phone Number

昨天在更新 APP 版本时遇到苹果说让同意协议:The updated Apple Developer Program License Agreement needs to be reviewed.In order to update your existing apps and submit new apps to the App Store, the user with the Legal r...

2018-04-24 12:12:41 3138

原创 理解Java中字符流与字节流

1. 什么是流    Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。2. 字节流    Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据。Java中最基本的两个字节流类是In...

2018-04-20 10:16:56 238

原创 npm install -g ionic cordova 安装失败的解决方案

通常情况下 npm install -g ionic cordova 是可以成功安装的。 如果 npm install -g ionic cordova 安装失败 解决方法: 在安装ionic 和cordova 之前,先安装 express 按下列步骤:1) npm install express 2) npm install -g ionic 3) npm install -g ...

2018-04-04 09:42:09 2349

空空如也

空空如也

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

TA关注的人

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