- 博客(38)
- 资源 (9)
- 收藏
- 关注

原创 《硬件接入》3288板刷机及屏幕参数配置探索
最近在工控机上做了项目,涉及到地磅接入、打印机接入、海康威视摄像头接入等功能;摸索下来其实硬件接入都是比较简单的事,一般1-2天就可以完成一个单独模块开发了 。不过也遇到一些比较麻烦的事,比如买的3288板工控机,刷的固件是6.0.1,这个固件因为芯片厂家系统无法支持rs232 1800以下波特率读取(bug导致,这bug居然没人测出来?),而我接到的需求需要支持工厂的1200波特率 ,那么就导致我必须要修改工控机系统,刷机到支持该波特率的系统。刷机倒也不难,有官方的文档和工具如下图:这里主要对一
2021-05-21 11:16:18
12826
9
原创 《硬件接入》波特率转换问题
客户已有一台电脑连接某硬件,电脑第第三方硬件只支持1200波特率,我们的工控机硬件只支持2400以上波特率,2400以下无法识别。这就导致我们的系统和客户第三方软件系统无法兼容,只能选一个。百度了一下,某宝上还真有。
2023-05-09 16:14:50
255
原创 《Flutter进阶》flutter升级空安全遇到的一些问题及解决思路
空安全出来挺久了,由于业务需求较紧,一直没时间去升级空安全,最近花了几天去升级,发现其实升级也挺简单的,不要恐惧,没有想象中的多BUG。跨度大范围广,也算是一次综合型的基础升级,遇到的问题比较杂,但总体也算顺利,这里把一些步骤和问题回忆记录一下,希望能帮到大家。搜索你弃用的那个库名,一般来说后面会有plus、v2 、new 之类的别的库,可能就是原来那个库的空安全版本。会看到有哪些库已支持空安全,如果现在还不支持空安全的,那么这个库多半是弃用了,寻找新的库吧。直接升级,升级完再回来解决即可。
2023-04-03 10:02:10
874
转载 【转载】后端接口访问数据查询如何提高性能?从MySQL、ES、HBASE等技术出发解决慢查询!
后端接口访问数据查询如何提高性能?从MySQL、ES、HBASE等技术出发解决慢查询!
2022-06-11 10:57:38
788
原创 《Flutter入门疑难杂症》google.bintray.com 502 Bad GateWay
之前运行的好好的项目,前几天开始突然就无法编译了,报错信息如下Could not resolve all task dependencies for configuration ‘:app:releaseRuntimeClasspath’.Could not resolve com.mob:MobToolsMC:+.Required by:project :appproject :app > project :mobpush_pluginFailed to list versions f
2021-12-16 14:28:24
2698
1
原创 《Flutter进阶》用dart搭建服务端:dart_mars框架研究
如果你已经会用flutter开发app , 你想尝试做后端服务器和接口开发 , 那么看到这篇文章对你或许有启发 .文章主要是推荐一个大佬的dart开发服务器的思路 , 并介绍我在过程中对项目的理解 , 主要几点为什么想尝试dart服务端?为什么推荐dart_mars?dart_mars给的思路和启示...
2021-08-17 12:12:51
2401
1
原创 《dart服务端》mysql连接8小时断开机制的解决方案
最近在摸索dart写服务器 , 与dart_mars作者 汤盘清大佬有密切接触 , 与大佬一起讨论了mysql1: 0.19.2 的断开连接机制以及重连情况.问题表象使用mysql连接数据库之后 , 会出现8小时不做请求 , 连接被断开的情况 , 这时候再执行请求就会报错:INFO::2021-08-17 09:09:50.956301::283::Server::path = /open/article/queryUnhandled exception:Bad state: Cannot w
2021-08-17 12:08:57
541
原创 《硬件接入》海康威视接入及CPU性能优化思路
本文使用工控机开发主板处理器为RK3288.这个主板的性能一般 ,不开启摄像头预览的情况下, 运行app时cpu占用是3-5%, 接入海康威视的摄像头sdk之后发现 , 一旦开启surface渲染 , cpu立马飙升到70-80% , 而需求是希望在面上同时渲染2个摄像头....
2021-08-16 17:41:39
3338
原创 《Android 基础》 TTS离线语音合成语音播报使用
最近项目用到离线播报 , 简单对比了几家 , 最后决定选用云知声 , 科大讯飞虽然知名度高 , 但是是收费的(还挺贵) ,果断放弃.云知声 , 集成也算挺简单 , 不过官网的sdk可能不支持离线 , 我找了支持离线的老版本 , 缺点是播报的语速设置和音调设置无效 .集成步骤:1.引入so和jar;2.使用TTSUtils .playContent附2个文件的初步代码及jar.TTSUtils.java/** * CreateInfo: * wz created on 2021/8/3;
2021-08-03 17:37:08
1855
2
原创 《Flutter进阶》flutter推送jpush与mob对比及常见问题
android厂推解析数据问题mob flutter集成了tcp和厂推功能 , 对于tcp的数据,可以通过addPushReceiver方法获取到点击消息,并做跳转 MobpushPlugin.addPushReceiver((Object event) { try { if (event != null) { Map<String, dynamic> map = convert.jsonDecode(event); .
2021-07-22 11:56:29
789
4
原创 《Flutter入门疑难杂症》fluter版本号回滚、切换flutter版本号
有时需要做flutter的版本切换和回滚(主要是有些库与flutter版本的兼容性问题)其实也就是git版本管理,1、首先我们需要获取目标版本,可以通过下面的连接去查询官方版本号:https://github.com/flutter/flutter/tags?after=1.23.0-3.0.pre2、找到需要回滚的版本号的commit , 如图3、cd进入你的flutter目录,切换版本: git reset --hard fba99f6...
2021-04-27 16:44:36
643
原创 《Flutter入门疑难杂症》mac上搭建flutter开发环境以及常见坑汇总
去年五六月在一台很老的mac机(2014)上安装过as和flutter环境,对于一个长期用win的安卓开发来说,第一次配置和使用mac真的痛苦。今天,终于2014的8g机子报废了,公司配了一台2020新版mbp,32g+i7+1tb固态,香啊。。。花了半天时间重新配置了一下环境,虽然依然遇到不少问题,不过第二次解决起来就相对轻松很多了。这里简单记录一下遇到的问题和解决方案吧。首先下载android studio 和Xcode ,Xcode直接appstore下载,as的话找中文网站下载吧。一、终
2021-03-09 17:12:21
449
原创 《硬件接入》POS 76 打印机安卓端(JAVA)接入过程分享
最近项目中用到打印机打印功能 , 摸索了一两天 , 基本上完成需求开发 , 过程与大家分享一下.我们使用的打印机是爱普生POS 76 ,找了一下相关的使用手册POS76打印机使用文档.pdf打印机连接是免驱USB的 , 也就不需要驱动 , 只要找到对应的打印机 ,直接发送指令就行了.大体操作步骤是:1、遍历USB设备 ,找到打印机对应的USB设备;2、连接打印机并监听打印机在线状态;3、需要的时候调用print打印数据;具体实现如下:一、查找USB设备在安卓下有专门的硬件方法二、连接找
2021-02-20 11:03:20
622
原创 《硬件接入》耀华XK3190-A9+地磅安卓(java)接入过程分享
最近遇到在安卓上通过串口连接地磅的需求, 基本上实现了读数和判断地磅稳定状态 , 这里分享出来实现过程以方便大家开发.我们开发用的打印机是XK3190-A9+ ,需要这个打印机参数文档的可以耀华官网下载:http://www.yaohua.com.cn/companyfile/16/地磅是通过串口连接的,连接地磅主要参数有串口名称、波特率、一帧长度、以及是否校验,校验位等其他参数;我这边做的参数有:串口名称、波特率、一帧长度以及通讯方式;一、地磅参数1、串口名称在我安卓工控机上是已接入是RS232
2021-02-01 11:45:00
5548
1
原创 《Flutter进阶》模板快速开发
模板开发可以极大提高开发效率,比如敲stful就可以自动生成class extends StatefulWidget { @override _State createState() => _State();}class _State extends State<> { @override Widget build(BuildContext context) { return Container(); }}这是一个超级好用的功能啊~~~~
2020-12-19 15:32:12
448
1
原创 《Flutter进阶》灵活使用extension
什么是extension??简单来说extension可以让你扩展类的方法,并且不需要声明变量为extension就可以使用该方法。这是一个超好用的功能,我认为这个功能牛逼主要体现在:1.可以简化代码,减少嵌套,2.提高代码安全性,同时又不降低代码可读性。拿我的代码举几个例子:extension WidgetExtension on Widget { /** * 给widget增加expanded包裹 */ Widget get e { return Expanded
2020-12-19 15:12:38
741
1
原创 《Flutter入门疑难杂症》extension 无法编译
extension 是dart超级好用的一个功能语法 ,但是有时候调用会提示无法编译解决方案: 将本地的dart环境指定在2.7.0之后 , 因为该语法是2.7.0之后才支持的.pubspec.yaml内:environment:sdk: “>=2.7.0”
2020-12-19 14:48:20
404
1
原创 《Flutter入门疑难杂症》 iOS 14 下 image_picker 第二次点击读取拍照崩溃
这是flutter framework的bug.可以看以下原因:https://github.com/flutter/flutter/issues/66647https://github.com/flutter/flutter/issues/65995https://github.com/flutter/flutter/issues/67353解决方案:修改flutter版本 , 目前用 master 1.24.0-3.0pre 版本可以解决问题.切换版本步骤(请先记住当前flutter版
2020-12-09 21:11:33
1295
原创 《Flutter入门疑难杂症》extension on 无法识别的解决办法
dart 的 extension 无法使用 , 编译器无法识别解决方案:1.增加analysis_options.yaml 到根目录下:analyzer:enable-experiment:- extension-methods2.修改dart的版本 >2.6.0在pubspec.yaml下修改:environment:sdk: ">=2.7.0 "...
2020-12-09 21:00:38
881
原创 《Flutter入门疑难杂症》in_app_purchase重复购买无法结束上一个购买的问题
报错内容:PlatformException(storekit_duplicate_product_object, There is a pending transaction for the same product identifier. Please either wait for it to be finished or finish it manually using completePurchase to avoid edge cases., {applicationUsername: 132
2020-11-09 16:49:34
3324
原创 《Flutter入门疑难杂症》ScrollView滚动到指定widget位置,scrollControll.animateTo无效或者jumpTo回滚的问题
目的:控制Scrollview滚动到指定位置。主要流程,大部分链接都有了。我这遇到的是scrollView计算好滚动位置之后,调用animateTo无效,不起作用。调用jumpTo显示先跳转到位置,然后马上回滚了。解决方案:animateTo是Future方法,外面包裹一层async 再await就行。直接贴代码:给目标Widget设置globalkey final GlobalKey globalKey = GlobalKey(); Widget(key: globalKey,..
2020-09-23 17:40:27
3124
原创 《Flutter入门疑难杂症》获取网络图片,并自适应屏幕宽度(适合文章/帖子详情)
经常会遇到帖子详情/文章详情,需要动态显示网络图片,并且要求图片宽度自适应屏幕,高度进行等比例缩放,如下图:实现思路:1、下载图片;2、计算宽高比;3、显示;话不多说,直接贴代码,跑不通的可以留言。 //放在Column内,构建多张图片 List<Widget> _buildImgList(List<String>imgUrlList) { List<Widget> returnList = List(); for (int i = 0
2020-09-14 14:37:56
2853
原创 《Flutter入门疑难杂症》wechat_kit 获取网络图片调用微信分享
在用wechat kit分享的时候,遇到分享网页,但是图片需要使用自己服务端的图片链接,且图片可能大于32*1024的问题。解决方案:先下载图片,再进行压缩。贴代码: //加载网络图片 static Future<Uint8List> compressWebImage( int targetSize, String imgUrl) async { Uint8List bytes; if (imgUrl != null) { try {
2020-09-14 14:28:07
1013
原创 《Flutter入门疑难杂症》Flutter 底部弹窗高度自定义
不多说,直接上代码: static void showBottomWidget(BuildContext context, Widget widget) { showModalBottomSheet( context: context, isScrollControlled: true, builder: (BuildContext buildContext) { return StatefulBuilder(builder:
2020-08-12 11:00:24
1045
原创 《Flutter入门疑难杂症》 Flutter的UI适配方案
参考了大神的,直接贴代码:import 'package:flutter/material.dart';import 'dart:ui' as ui show window;/** * @Author: thl * @GitHub: https://github.com/Sky24n * @Email: 863764940@qq.com * @Email: sky24no@gmail.com * @Description: Screen Util. * @Date: 2018/9/8
2020-08-08 11:52:00
750
原创 《Flutter入门疑难杂症》Flutter判断未知来源安装权限以及打开未知来源安装界面
背景:很多APP有强制更新功能,不更新就退出app,但是permission_handler 并没有提供未知来源的判断权限,而使用install_plugin进行安装,则会直接弹出允许未知安装的应用,中间缺少判断是否可以安装的权限。判断方法:从flutter调用原生方法,原生判断安装再返回。flutter内: static Future checkInstallPermission() async { // Native channel var result; try {
2020-08-06 19:09:29
1858
原创 《Flutter入门疑难杂》TextField 双击报错:No Media Query widget found._OverlayEntryWidget widgets require a Media
原因:使用了FlutterEasyLoading,但是没有正确使用导致的。正确的使用方法:Flutter Easy Loading 要包括在Material App内,直接贴代码:class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter EasyLoading', theme:
2020-07-13 11:59:18
903
7
原创 《Flutter入门疑难杂症》imagepicker ImagePicker().getVideo()返回.jpg
imagepicker,选择视频上传,ImagePicker().getVideo()返回的file是一个jpg!!版本:image_picker 0.6.7+3应该是版本bug,命名是错的,文件是视频文件,也可以播放!!这个坑啊,坑啊。
2020-07-02 19:44:22
3339
10
原创 git 的Permission denied !!!!
如果反复进行ssh 创建和更换都没解决问题,还有一个可能!当前的用户是否有创建文件夹的权限!!!绕了我半天~~对文件夹设置读写权限参考:https://blog.youkuaiyun.com/qq_37342374/article/details/82186602ssh创建参考:https://blog.youkuaiyun.com/qq_38656557/article/details/84615529...
2020-05-29 16:02:45
321
原创 《Flutter入门疑难杂症》ios deactivate没反应的解决方案
flutter 监听返回页面 ,经常会用到这个方法: void deactivate() { super.deactivate(); var bool = ModalRoute.of(context).isCurrent; if (bool) { print('处理返回页面操作'); } }但是这个方法发现在ios上不会执行 ,原因不详,知情的小伙伴们告知一下.解决方案 :使用then方法替代: Navigator.pushNamed(con
2020-05-20 15:58:02
2166
原创 《Flutter入门疑难杂症》获取全局contex:globalkey
1,创建keyclass Global{static GlobalKey navigatorKey = GlobalKey();}2,main.dart中引用key@overrideWidget build(BuildContext context) {MaterialApp app = MaterialApp(navigatorKey: RouteUtil.navigatorKey,routes: {…}}3,全局使用Global.navigatorKey.currentSta
2020-05-20 14:12:11
2663
原创 《Flutter入门疑难杂症》SingleChildScrollView中嵌套TextField ,controller.text赋值时自动滚动的解决方法
问题 :布局是SingleChildScrollView 中若干个column ,超出屏幕之下 有TextField的时候,调用controller.text ="XXX"进行赋值 ,会自动将SingleChildScrollView 滚动到TextField所在位置.解决方案:给ScrollView增加一个controll .在initState的时候 调用线程回滚即可. ScrollController scrollController = ScrollController();: Sing
2020-05-20 14:08:16
1911
4
原创 《Flutter入门》Table 横向滚动+固定表头/固定第一列实现
先上实现图:代码: //创建一个表单 Widget _buildChart() { return ItemContainerH16( child: Row( children: <Widget>[ Container( child: Table(children: _buildTableColu...
2020-04-17 16:23:28
7160
8
原创 一张图告诉你最简单的android和ios的适配
经常遇到适配的问题,设计给的图片是PX的,我们用的是px,那么在安卓上怎么做适配呢?看这张图就行了(图片转载自25学堂)如图所示,大多时候设计会给ios的设计稿,一般是第二种,这种设计稿,1pt=2px,那么在安卓端对应的是哪个呢?对的,就是720*1280的,那么看前面写的,这种尺寸下,2px=1dp=1sp?懂了吗?就是设计稿上标注的px除以2就是你的dp或者sp了,这个是最简单的适配。至于复杂
2016-10-13 16:24:52
2663
原创 安卓无法收到推送的问题
相信大多人的项目中都会用到推送,极光友盟等,然而经常又被运营和测试问:为什么收不到推送???我的结论是这样的(以极光为例):一:app在运行中: 基本上是可以收到推送的。如果无法收到推送,可能有以下几种: 1、没有网络(一般可以忽略,用户、测试、运营都不是笨蛋); 2
2016-10-13 16:05:27
13484
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人