<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[anakin.jin的专栏]]></title><description><![CDATA[找好方向，一直向前 :)]]></description><link>https://blog.csdn.net/Ani</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Ani]]></copyright><item><title><![CDATA[Flutter中Provider 的使用例子]]></title><link>https://blog.csdn.net/Ani/article/details/128456014</link><guid>https://blog.csdn.net/Ani/article/details/128456014</guid><author>Ani</author><pubDate>Wed, 28 Dec 2022 10:06:40 +0800</pubDate><description><![CDATA[如何使用 flutter中的 provider]]></description><category></category></item><item><title><![CDATA[开工了，加油]]></title><link>https://blog.csdn.net/Ani/article/details/122834719</link><guid>https://blog.csdn.net/Ani/article/details/122834719</guid><author>Ani</author><pubDate>Wed, 09 Feb 2022 08:32:26 +0800</pubDate><description><![CDATA[加油，又是一年！

不努力就堕落
]]></description><category></category></item><item><title><![CDATA[FreeRTOS 中的 task 优先级 及 实际测试验证]]></title><link>https://blog.csdn.net/Ani/article/details/118511756</link><guid>https://blog.csdn.net/Ani/article/details/118511756</guid><author>Ani</author><pubDate>Tue, 06 Jul 2021 13:10:58 +0800</pubDate><description><![CDATA[官方文章在这里：https://www.freertos.org/taskandcr.html

Task 可以理解为线程 ，线程当然就是优先级(priority)的概念，如果两个线程，有不同的优先级，当然就是优先级高的优先执行（占用CPU资源）。 那问题来了， 是怎么 占用 呢？

如果一个线程A在运行过程中，另一个优先级更高的线程B启动了（进入 Ready 状态），则B会立即执行（进入 Running 状态），A则立马会停止（进入 Ready 状态）



现在做一个测试程序来验证一下，

测试环境：.]]></description><category></category></item><item><title><![CDATA[2020 年终总结]]></title><link>https://blog.csdn.net/Ani/article/details/113772840</link><guid>https://blog.csdn.net/Ani/article/details/113772840</guid><author>Ani</author><pubDate>Tue, 09 Feb 2021 17:06:13 +0800</pubDate><description><![CDATA[又又又是一年！

记个流水帐，聊胜于无！

flutter 有更好，更深的理解，也越来越喜欢它了，因为以前也做过 RN, xamarin 所以对它的易用深有体会，想说的就一句话，WC! 太TMD好用了！

有机会把现在用的PC上的程序也改到flutter来开发，喜欢就用！



今年有大的比例开发嵌入式，C语言原来很喜欢，记得大学的时候学了C语言，有空还去机房练习练习，但是现在再回过头来使用C，感觉真是效率上有很大的问题啊。内存的管理也是大隐患，相比.net, dart ,js 无论从效率，优雅程度上都觉.]]></description><category></category></item><item><title><![CDATA[flutter - SingleChildScrollView [转]]]></title><link>https://blog.csdn.net/Ani/article/details/109045534</link><guid>https://blog.csdn.net/Ani/article/details/109045534</guid><author>Ani</author><pubDate>Tue, 13 Oct 2020 10:07:09 +0800</pubDate><description><![CDATA[原文地址：https://www.cnblogs.com/upwgh/p/11419310.html

在我们实际的项目开发中，经常会遇到页面UI内容过多，导致手机一屏展示不完的情况出现，以Android为例，在Android中遇到这类情况的做法通常就是使用ScrollView将内容包裹起来，如果不做可滑动的处理，Android上的表现为页面的部分内容无法展示，而在Flutter中，如果内容过多无法展示完全，屏幕的边界会给我们一个OVERFLOWED的警告提示，在Flutter中我们通常使用SingleCh]]></description><category></category></item><item><title><![CDATA[WPF 如何安装使用 CEFSharp]]></title><link>https://blog.csdn.net/Ani/article/details/106503907</link><guid>https://blog.csdn.net/Ani/article/details/106503907</guid><author>Ani</author><pubDate>Tue, 02 Jun 2020 20:55:18 +0800</pubDate><description><![CDATA[做一个记录，经常忘记配置，也给需要的人节省时间



在WPF中使用CEFSharp时，很容易碰到问题，现将步骤整理如下：

1。在 NuGet 中找到 CefSharp.Wpf 并安装

2。关闭vs, 重新打开

3。references中会看到引用都有 黄色感叹号，像下面这样



4。点击 最上面Toolbar中， Debug 边上的 x64 ,然后从下拉框中点击 Configuration Management 。 选择 x64 。 把对应项目也选择 x64





上面两处红框都选择 x6..]]></description><category></category></item><item><title><![CDATA[Flutter 阴影框效果]]></title><link>https://blog.csdn.net/Ani/article/details/106383623</link><guid>https://blog.csdn.net/Ani/article/details/106383623</guid><author>Ani</author><pubDate>Wed, 27 May 2020 15:57:37 +0800</pubDate><description><![CDATA[记录一下，防止忘记 :)

更详细的说明看另一朋友的：https://ninghao.net/video/6443







每一个Item的实现代码：


Container(
            height: 80,
            margin: EdgeInsets.only(top: 16, left: 38, right: 33),
            decoration: BoxDecoration(
                color: Theme
   ..]]></description><category></category></item><item><title><![CDATA[dart 版本的 Diffie-Hellman 实现]]></title><link>https://blog.csdn.net/Ani/article/details/106190977</link><guid>https://blog.csdn.net/Ani/article/details/106190977</guid><author>Ani</author><pubDate>Mon, 18 May 2020 13:37:50 +0800</pubDate><description><![CDATA[最近工作中要用到这个算法，从而实现数据交换时的安全。

在flutter/dart的库中没有找到直接能使用的，所以去找了几个版本，最后用C#的一个版本做了移植（原代码出处请看代码内注释）。

希望对需要的人有帮助。



代码如下：


//
// DiffieHellmanManaged.cs: Implements the Diffie-Hellman key agreement algorithm
//
// Author:
//	Pieter Philippaerts (Pieter@mental.]]></description><category></category></item><item><title><![CDATA[flutter defaultTextStyle]]></title><link>https://blog.csdn.net/Ani/article/details/105732218</link><guid>https://blog.csdn.net/Ani/article/details/105732218</guid><author>Ani</author><pubDate>Sun, 26 Apr 2020 08:41:11 +0800</pubDate><description><![CDATA[source article:https://www.woolha.com/tutorials/flutter-using-defaulttextstyle-examples



在做一个功能的时间想到，如果一个 Text 没有设置style,它的默认style来自哪里？



This tutorial shows you how to useDefaultTextStylewidg...]]></description><category></category></item><item><title><![CDATA[2019 年终总结]]></title><link>https://blog.csdn.net/Ani/article/details/104068863</link><guid>https://blog.csdn.net/Ani/article/details/104068863</guid><author>Ani</author><pubDate>Wed, 22 Jan 2020 13:07:26 +0800</pubDate><description><![CDATA[今天是最后一个工作日，又是一年的结束

上次年终总结的目标：

1。 英语。

2。 Azure Cloud

3。BLE

4。图像识别(护照OCR)



1，2，都没有去完成，基本上完全放弃了。因为中途来了一个项目，实在是时间紧的不得了。

3，4 基本算完成。

 陆陆续续花了好多天的时间去了解了BLE的原理，但是今天回忆一下，好像都忘记了 :(

 opencv 看完...]]></description><category></category></item><item><title><![CDATA[Flutter中InheritedWidget使用的最佳实践 (转)]]></title><link>https://blog.csdn.net/Ani/article/details/103634562</link><guid>https://blog.csdn.net/Ani/article/details/103634562</guid><author>Ani</author><pubDate>Fri, 20 Dec 2019 16:28:04 +0800</pubDate><description><![CDATA[原文：https://blog.zhoulujue.com/InheritedWidget/

Flutter的Widget层级可以做得非常深，在Widget层级间传递数据会让效率变得很低，也会多处很多bolierplate代码。

例如下面的accountId，scopeId，如果MyWidget肯本用不到它们，accountId,scopeId还是要作为MyWidget的final参数，因为...]]></description><category></category></item><item><title><![CDATA[Flutter synchronized lock]]></title><link>https://blog.csdn.net/Ani/article/details/103405039</link><guid>https://blog.csdn.net/Ani/article/details/103405039</guid><author>Ani</author><pubDate>Thu, 05 Dec 2019 15:31:16 +0800</pubDate><description><![CDATA[涉及到多线程时，必须要考虑锁，数据同步。

找到资料：synchronized：https://pub.dev/packages/synchronized#-readme-tab-



最基本的一个应用：

 有一个变量a, 当多个线程访问时，必须保证同一时刻只有一个线程在读取/设置（类似于 C# 中的 lock(){} ）。我们可以使用 synchronized 来处理就非常容易了。如：...]]></description><category></category></item><item><title><![CDATA[flutter web application upload image]]></title><link>https://blog.csdn.net/Ani/article/details/102912642</link><guid>https://blog.csdn.net/Ani/article/details/102912642</guid><author>Ani</author><pubDate>Mon, 11 Nov 2019 08:43:48 +0800</pubDate><description><![CDATA[关于如何上传图片，先是找了网上的资料。最后根据下面的方式去实现
https://stackoverflow.com/questions/49125191/flutter-http-post-upload-an-image?noredirect=1
但一直没有成功。在确保服务端没有问题后，把重点移到flutter代码上。反复对比，却没有头绪。

最后查了一下HTTP POST上传文件的方式（如下文...]]></description><category></category></item><item><title><![CDATA[flutter  Future 使用]]></title><link>https://blog.csdn.net/Ani/article/details/102549349</link><guid>https://blog.csdn.net/Ani/article/details/102549349</guid><author>Ani</author><pubDate>Mon, 14 Oct 2019 16:07:27 +0800</pubDate><description><![CDATA[下面情况是我使用过程中对Future的误解及处理过程，希望对大家理解有帮助



我写一个Future的函数，希望它被异步调用。代码可能如下：


@override
  Widget build(BuildContext context) {

      //code begin
      debugPrint(DateTime.now().toString() + ":build.1")...]]></description><category></category></item><item><title><![CDATA[flutter 键盘显示后，盖住部分内容的问题]]></title><link>https://blog.csdn.net/Ani/article/details/101680050</link><guid>https://blog.csdn.net/Ani/article/details/101680050</guid><author>Ani</author><pubDate>Sun, 29 Sep 2019 13:26:13 +0800</pubDate><description><![CDATA[一般界面上有文本的输入框，点击后会显示键盘，正常情况是不允许键盘挡住输入框的。

基于下面的代码开始做一个实验，并尝试解决问题



class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
...]]></description><category></category></item><item><title><![CDATA[flutter 的像素尺寸]]></title><link>https://blog.csdn.net/Ani/article/details/101263446</link><guid>https://blog.csdn.net/Ani/article/details/101263446</guid><author>Ani</author><pubDate>Tue, 24 Sep 2019 14:06:52 +0800</pubDate><description><![CDATA[一般我们在android,ios中都有自己的尺寸，如：dp,pt

但是在flutter中写尺寸是没有单位的。如：


SizedBox(height: 736,width: 375,child: Container(color: Colors.lightBlueAccent) )

实际上它的尺寸当然是有的。 在不同设备中它与devicePixelRatio 属性有关，通过此属性得到一个逻辑像...]]></description><category></category></item><item><title><![CDATA[Open CV4 的环境搭建 VS2017]]></title><link>https://blog.csdn.net/Ani/article/details/87807375</link><guid>https://blog.csdn.net/Ani/article/details/87807375</guid><author>Ani</author><pubDate>Thu, 21 Feb 2019 10:24:24 +0800</pubDate><description><![CDATA[可以自己查看官方文档：

https://docs.opencv.org/master/dd/d6e/tutorial_windows_visual_studio_opencv.html

 

下面是我的过程

1。安装 vs2017 community ( 需要安装 c++,win10 SDK)

 2。下载opencv4. 我解压放在  “D:\Download\OpenCV4”

 3。设...]]></description><category></category></item><item><title><![CDATA[大金空调HBS协议破解]]></title><link>https://blog.csdn.net/Ani/article/details/87555499</link><guid>https://blog.csdn.net/Ani/article/details/87555499</guid><author>Ani</author><pubDate>Sun, 17 Feb 2019 20:54:20 +0800</pubDate><description><![CDATA[大概在几年前做了一个相关大金空调的项目，于是有机会接触到真实的设备。

听说过市面上有这样的产品，非官方，那我相信破解是可行并可以搞定的。

查了一些资料，有很帮助，多谢提供方。

http://bbs.21ic.com/forum.php?mod=viewthread&amp;amp;tid=585110

http://bbs.21ic.com/icview-782090-1-1.html

http...]]></description><category></category></item><item><title><![CDATA[2018年终总结]]></title><link>https://blog.csdn.net/Ani/article/details/86515220</link><guid>https://blog.csdn.net/Ani/article/details/86515220</guid><author>Ani</author><pubDate>Fri, 01 Feb 2019 09:29:11 +0800</pubDate><description><![CDATA[今天是今年最后一个工作日，又是一年，一回头，两眼茫然，无从下手

记得年前立过2个目标：英语，MS Azure 平台

英语：因为种种事情荒废了一段时间。但今年背的单词应该有200+，虽然不多，也算是有收获。

  努力看完了game of throne. 看起来非常吃力，估计如果没有看过电视是看不懂的。大概看完了一次，明年应该再看一次！

MS Azure平台：在最后的时间里了解了一下，借着公司...]]></description><category></category></item><item><title><![CDATA[STM32F407 上手-USART 收发数据]]></title><link>https://blog.csdn.net/Ani/article/details/80465025</link><guid>https://blog.csdn.net/Ani/article/details/80465025</guid><author>Ani</author><pubDate>Sat, 26 May 2018 21:50:26 +0800</pubDate><description><![CDATA[研究了一下KEIL的MDK以及它的文档一般习惯性的都从串口开始做 hello world!  总结一下，KEIL的入门要比arduino要复杂的多，arduino是为硬件小白及非专业人士准备的。但是它的功能并不弱。KEIL入门请一定要认真花点时间看一下它的文档，我是用这份文档入门的(http://www2.keil.com/docs/default-source/default-document-...]]></description><category></category></item></channel></rss>