自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android-IM从零开始开发一个即时通讯项目

关于聊天室项目聊天室项目,也被称为即时通讯(IM)。其原理是服务器是一直在启动状态的线程,不断的从客户端(App)获取消息,收到消息后,进行类型和发送目标判断,以发送到群组或者单聊的方式,客户端收到消息后进行界面的展示。如果要自己开发即时通讯类的 App,那么必须得要后台,但是现在很多第三方工具已经给我们集成好了所有需要调用的接口工具。比如极光IM因为之前用的比较多的是极光的推送服务,也对极光的一些

2017-08-30 13:42:59 32816 25

原创 Flutter原理之线程

当我们在Flutter应用程序中执行耗时操作时,我们通常会使用线程来使应用程序响应迅速。在本文中,我们将介绍如何在Flutter中使用线程。

2023-03-07 09:29:49 763 1

翻译 Flutter线程、Future、async、await、Isolate关系

单线程,多线程,同步和异步。本文解释了 Flutter 中不同的代码执行模式。

2023-03-03 18:38:52 591

原创 js小程序ios日期解析失败NAN兼容

小程序中ios使用 new Date() 的时候,如果有 “-”分隔符,将会解析失败

2022-08-17 13:48:07 612

原创 ios打包报错 cannot load such file — sqlite3 (LoadError)

错误信息cannot load such file — sqlite3 (LoadError)xcode kernel_require rb require usr/bin/ipatool:24The data couldn’t be read because it isn’t in the correct format[+14639 ms] 2021-12-27 17:25:00.807 xcodebuild[13713:54898] [MT] IDEDistribution: -[IDED

2021-12-28 14:45:21 2199

原创 java.lang.IllegalStateException: You need to use a Theme.AppCompat theme

最近在做 FlutterPlugin ,需要把 Android 和 ios 的依赖接入,并且桥接给 Flutter 调用在 Flutter 端执行跳转的时候遇到了这个问题百度了解决方案解决方案1修改继承的 Activity 为 AppCompatActivity,但由于我这是Flutter 项目,而 Flutter 只有一个 FlutterActivity 所以,这个方法不管用。解决方案2修改 AndroidManifest.xml 里 MainActivity 的 theme android

2021-11-18 11:05:01 428

原创 升级Xcode13.1报错 CocoaPods installed but not working Failed to build gem native extension

升级 xcode 之后需要对 CocoaPods 更新。在执行 flutter doctor 的时候出现 CocoaPods installed but not working。说明本地没有安装 CocoaPods,有可能是升级的时候清理掉了。需要重新安装在安装的时候也出现了问题 Failed to build gem native extension首先检查 CocoaPods 是否安装pod --version或者gem list --local | grep cocoapods没有的

2021-11-04 16:58:28 1235

原创 Flutter构建正式包出错解决方案Execution failed for task ‘:app:lintVitalRelease‘. > Could not resolve all art

FAILURE: Build failed with an exception.What went wrong:Execution failed for task ‘:app:lintVitalRelease’.Could not resolve all artifacts for configuration ‘:app:debugRuntimeClasspath’.Failed to transform libs.jar to match attributes {artifactType.

2021-09-03 15:47:43 2432

原创 AndroidStudio自动下载 jxbrowser 卡住解决办法

最近更新了 Android Studio到 Arctic Fox 版本后,打开项目会自动下载 jxbrowser ,但是这个插件是 Google 的,正常是不能下载成功的,虽然不影响开发,但一直出现下载状态挺难受解决方法很简单就是设置代理找到设置 Setting -> Appearance & Behavior -> System Settings -> HTTP Proxy,选择 Auto-detect proxy settings,输入镜像地址,确定再重启AndroidS

2021-08-24 11:09:09 751

原创 Flutter标签Wrap换行溢出屏幕问题

在自定义标签的时候,我们希望这个组件可以自适应宽度,这样在文本长度不确定的情况下可以自动伸缩大小如果直接用Wrap ,并且子组件是 Row 的情况下标签超过屏幕宽度会溢出 Wrap( runSpacing: 6.w, spacing: 8.w, children: List.generate( 5, (index) => Row(

2021-08-18 15:27:07 1644 1

原创 一文解决Flutter中使用TextField遇到的各种疑难杂症

####页面中有输入框,键盘弹起,页面溢出可以使用 SingleChildScrollView 包裹布局这里还需要了解一个 Scaffold 中的一个属性 resizeToAvoidBottomInset/// If true the [body] and the scaffold’s floating widgets should size/// themselves to avoid the onscreen keyboard whose height is defined by the//

2021-08-06 13:17:01 3330

原创 Android Studio 4x版本搜索使用在线依赖包

有两年没做安卓了,之前 v7 包的recyclerview,cardview等需要升级 到androidx, 记录一下1.从包管理图标进入,或者 File->Project Structure->2.加号 Library3.搜索框里填入要搜索的名称,模糊搜索需要带 * 号在新版中可能要求升级到 androidx点击后会出现让你备份保存到窗口,点确定就行,然后点击 Do Refactor开始等待就行了...

2021-05-10 13:47:59 338

原创 Flutter集成百度定位和百度地图

准备请尽量先阅读官方文档,本文是对官方文档的合并整理,结合自己项目集成过程。插件请以官方最新版本为主。《百度定位、地图Flutter插件开发文档》《Api中心》在使用前请先去申请百度的 key,需要提供应用 IOS 的 Bundle Identifier(包名),和 Android 的 SHA1 及包名《Android SHA1 文档》一、项目中引入插件 flutter_bmflocation: ^1.0.4 flutter_baidu_mapapi_map: ^2.0.1 flu

2021-04-07 14:52:18 3966 16

原创 Flutter滚动到指定位置,只需要一行代码

要求在切换tab的时候,视图滚动到指定 widget,我们第一时间会想到 使用ScrollView,ScrollController 能用来控制位置的滚动,而且网上相关文章也比较少,大多是用 controller 的 jumpTo 和 animateTo 来控制位置。效果如图...

2021-03-25 16:50:22 7737

原创 Flutter开发中的一些小技巧整理

一、Text 组件外围包裹了 GestureDetector 手势组件点击的时候响应范围太小解决方式:Text 外围使用 TextButton 包裹使用 InkWell 组件包裹二、List 的使用在数据量比较小的时候比如固定布局,可以使用 List.generate() ,来循环渲染。ListView.builder 适用于列表长度比较多,比如存在分页数据,ListView.builder 外部如果有其他组件需要一起滚动,则需要 禁用内部的滚动事件physics: NeverS.

2021-02-19 14:36:32 486

原创 Flutter AndroidStudio打开编辑pubspec.yaml卡死

Android studio - preferences查看自己项目是否安装了这两个插件,如果安装的话卸载

2020-12-19 14:28:27 448 4

原创 Flutter返回键禁止退出App和双击退出方法整理

一、按返回键禁止退出适用于即时通讯项目######1、先在lib下新建文件android_back_desktop.dartimport 'package:flutter/cupertino.dart';import 'package:flutter/services.dart';class AndroidBackTop { //初始化通信管道-设置退出到手机桌面 static const String CHANNEL = "android/back/desktop"; //设置

2020-11-20 16:43:18 1988

原创 使用hexo+github免费搭建个人博客网站超详细教程

很多人都想搭建自己的博客,但是奈何技术有限,服务器部署,HTML,域名解析,等等,这一大堆东西可真有的折腾。但是如果有这样一个机会,不需要太复杂的操作,不要服务器,不要域名,不用写html,你愿意去尝试吗?可以先看一下我自己的http://wapchief.com 背景图有点大,3M多,可能加载比较慢,但是一进去能看到默认的有个背景,然后是默认背景慢慢被覆盖的情况。 当时也是费了半天功夫才搭建好

2020-11-16 10:57:53 35468 29

原创 Flutter This widget has been unmounted, so the State no longer has a context (and should be...

This widget has been unmounted, so the State no longer has a context (and should be considered defunct).E/flutter ( 644): Consider canceling any active work during “dispose” or using the “mounted” getter to determine if the State is still active.错误翻译:此

2020-11-10 16:02:21 12866 8

原创 Flutter Failed assertion: line 4830 pos 12: ‘<optimized out>‘: is not true.

部分手机上在调用 Navigator.of(context).pop();的时候遇到不能返回的情况,控制台报错,打开错误位置发现是 assert(!_debugLocked);导致的。关于这个变量bool _debugLocked = false; // used to prevent re-entrant calls to push, pop, and friends// 用于防止push、pop和friends的重复调用由于我们在这里使用了 pop 所以应该是返回被重复调用的bug解决办法

2020-10-16 09:44:16 3586

原创 Flutter修改SDK路径 - Mac

在安装过sdk之后,如果想更换路径,1、首先在系统目录下找到.bash_profile文件,右键选择打开方式为文本编辑,修改里面的路径之后保存,较新的 mac系统还有一个 .zshrc也修改,内容保持和.bash_profile内容文件一样就行。或者直接在终端输入open -a TextEdit ~/.bash_profile一样能修改2、修改android studio路径如果只修改了步骤1,可能会报以下错误Warning! The ‘flutter’ tool you are curren

2020-10-12 14:28:03 2525

原创 Flutter Container 宽度随内容变化,限制最大宽度,聊天气泡

如图片效果代码Row( mainAxisSize: MainAxisSize.min, children: <Widget>[ Expanded(child: SizedBox()), Container( alignment: Alignment.centerRight, decoration: BoxDecoration( border: Border.

2020-09-15 18:56:32 5148

原创 Flutter集成Google、Facebook等第三方登陆完整流程

前言国内的登陆一般可以通过极光、友盟等这些第三方平台提供的sdk,实现一键接入。国外的就比较杂了,比如常用的 GitHub、Twitter、apple、Microsoft等, Google 提供了 firebase 统一验证的机制,虽然不能统一登陆方式,但是通过 firebase 能使登陆流程更加规范化,减少后端开发的工作量,而且要使用 Google 登陆前,必须要集成 firebase,同时它也是国际型项目等首选方案,它等服务还包括推送,邮箱验证,统计、即时通讯等。文章只演示 Google 和 Face

2020-08-28 17:01:52 7262 3

原创 Vue 接入firebase验证、Google登陆、Facebook登陆完整流程

简介需求是在 Vue 项目上同时接入 Google 登陆和 Facebook 登陆。查阅文档发现 firebase 提供了,Google 和 Facebook 等多家联合验证方式。也就是最终拿到各个平台等 token 之后都要再通过 firebase 做最后的验证,生产 firebase 验证后的 token,可以节省后端的开发时间。但前端仍然要去集成各自但 sdk ,文章以 Google 和 Facebook 为例,先介绍项目相关配置。##账号配置###1.firebase先创建应用,然后在 Au

2020-08-13 13:59:54 3680 2

原创 Jetpack都这么火了,你还不知道?

前言其实标题是给自己写的,有大概一年没做安卓了,Android技术的更新实在出乎意料,kotlin已经逐渐开始取代Java。最近被很多人问到Jetpack,表示没用过,瞬间觉得out了。包括现在流行的MVVM框架,都是这两年比较火的Android框架,是目前Android程序员必须要掌握的技术内容,于是赶紧抽空恶补一下相关知识。Jetpack介绍你可以把它叫做 — 程序开发组件。是 G...

2020-04-14 16:16:31 1364

原创 Flutter iOS 读取录音文件 FileSystemException

在使用一个第三方录音组件库的时候遇到的问题,记录一下flutter_sound错误内容FileSystemException: Cannot open file1、先看我的FromData用于提交的数据包 FormData formData = FormData.from({ "type": 'audio', "fil...

2019-10-17 11:29:13 1713

原创 The preferred solution is to cancel the timer or stop listening to the animation in the dispose() ca

错误内容:The preferred solution is to cancel the timer or stop listening to the animation in the dispose() callback. Another solution is to check the “mounted” property of this object before calling setS...

2019-10-14 19:21:25 1113 2

原创 flutter 使用socket io 和 EventBus 开发及时通讯

1、网上找一圈,关于flutter及时通讯的文章太少了。实际项目需要用socket io 来实现客户端的消息收发,服务端已经写好了。一开始的思路是使用 socket io + 数据库,但数据库用起来是个麻烦事,其实socket io 目前现有的框架集成到项目中总是有各种各样的bug和兼容问题。所以在折腾很久之后选择了一个降级的socket io 库。目前没有发现什么问题,结合eventbus...

2019-09-20 11:28:01 4058 3

原创 Flutter 路由页面跳转管理

一、当前页A 跳转 B (无参)Navigator.of(context).push( MaterialPageRoute( builder: (BuildContext context) => (PageB())), );二、当前页A 跳转 B (有参)A:Navigator.of(context).pu...

2019-08-30 17:34:11 910

原创 Flutter 自定义圆形进度条

//进度条class CircleProgressBar extends CustomPainter { Paint _paintBackground; Paint _paintFore; final double pi = 3.1415926; var progress; //0-360 CircleProgressBar(this.progress) { _...

2019-08-26 17:57:52 2587 2

原创 Taro小程序自定义圆形进度条progress

代码import { ComponentClass } from 'react'import Taro, { Component } from '@tarojs/taro'import { View, Canvas,Text } from '@tarojs/components'import './progress.scss'type PageOwnProps = {}type ...

2019-05-23 17:53:22 3700 2

原创 小程序开发常用小技巧

::-webkit-scrollbar{width: 0;height: 0;color: transparent;}

2019-04-17 11:31:20 227

原创 小程序修改Radio默认样式

1、修改checkBox样式/* 重写 checkbox 样式 *//* 未选中的 背景样式 */checkbox .wx-checkbox-input{ border-radius: 50%;/* 圆角 */ width: 40rpx; /* 背景的宽 */ height: 40rpx; /* 背景的高 */}/* 选中后的 背景样式 (红色背景 无边框 可根据U...

2019-04-09 16:25:15 2920 1

原创 Android Gradle依赖管理、去除重复依赖、忽略

常用依赖 //1.直接依赖第三方开源库,一般是托管在 jitpack 或者 jcenter implementation 'com.google.code.gson:gson:2.2.4' implementation 'com.android.support:cardview-v7:25.0.0' implementation 'com.android.support:design:...

2018-12-12 15:49:54 30533 3

转载 Activity之间传递数据的方式及常见问题总结

Activity之间传递数据一般通过以下几种方式实现:通过intent传递数据通过Application使用单例静态成员变量。(可以考虑 WeakReferences)持久化(sqlite、share preference、file等)一、通过intent传递数据(1)直接传递,intent.putExtra(key, value)(2)通过bundle,intent.putE...

2018-12-07 16:51:24 2139

原创 Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'. > More than one

Error:Execution failed for task ‘:app:transformNativeLibsWithMergeJniLibsForDebug’.More than one file was found with OS independent path ‘lib/armeabi-v7a/libgnustl_shared.so’错误异常android { defaul...

2018-12-04 18:20:21 1640

原创 Android TextView自定义选中弹出菜单记笔记功能

效果图两种方案实现一、 通过onActionItemClicked完整代码: mManusTv.setCustomSelectionActionModeCallback(new ActionMode.Callback() { @Override public boolean onCreateActionMode(ActionM...

2018-10-23 17:11:58 4300 13

原创 Android PopupWindow 部分机型(魅族)点击外部不能取消的bug

解决办法: 在showAs之前设置setBackgroundDrawable(new BitmapDrawable());完整代码:LayoutInflater inflater = (LayoutInflater) mContext .getSystemService(Context.LAYOUT_INFLATER_SERVICE); ...

2018-09-17 14:09:57 556

原创 Android 针对华为手机调用裁剪出现圆形裁剪框的处理

在网上找的教程大都是:if(android.os.Build.MODEL.contains("HUAWEI")) {//华为特殊处理 不然会显示圆 intent.putExtra("aspectX", 9998); intent.putExtra("aspectY", 9999); } else ...

2018-06-12 18:57:25 4135 2

原创 解决AndroidStudio Gradle方式引用第三方库重复依赖的问题

在一些使用依赖比较多的项目可能出现这个问题。比如sample中使用了下面的依赖implementation 'com.android.support:appcompat-v7:25.0.0'implementation 'com.allenliu.versionchecklib:library:2.0.5'而第三方库中,同样存在相同的依赖,但是版本不同,那么就可能出现上述问题。c...

2018-05-30 19:41:33 13365 1

org.apache.http.legacy.jar

由于从ANDROID SDK从API LEVEL 23开始去掉了http相关特性,所以在用API LEVEL 23以上ANDROID SDK版本进行编译时,需要增加对org.apache.http.legacy.jar的引用

2017-10-20

空空如也

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

TA关注的人

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