自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

源代码的博客

踏平坎坷,继续前进。

  • 博客(64)
  • 收藏
  • 关注

原创 Flutter 从源码看Getx的依赖原理

从源码来看的话,Getx的本质就是使用Map来保持一种依赖关系。通过使用find就能够找到相应的对象。最后想说的就是,熟悉源码能帮助我们更好的使用框架。如果对你有用的话,请不要吝啬给个赞吧!

2022-09-03 15:55:26 1888 1

原创 Flutter 全能型选手GetX —— 多语言配置/主题设置/离线缓存

GetX 提供了主题设置、多语言配置、离线缓存

2022-08-23 20:42:33 3638

原创 Flutter 全能型选手GetX —— 状态管理

当我们使用Get.create(()=>Controller())会在每次调用时生成一个新的Controlle,Get.find()`GetView 是一个const Stateless的Widget,如果我们只有单个控制器作为依赖项,那我们就可以使用GetView,而不是使用StatelessWidget,并且避免了写Get.Find()。被obs修饰过的变量,可以不使用GetBuilder,但是需要使用另一个widget,那就是obx,来包裹需要刷新的widget。如果我们需要刷新对应的界面,就可以。.

2022-08-18 19:15:22 4944

原创 Flutter 全能型选手GetX —— 路由管理

Getx路由的基本使用

2022-08-14 22:04:54 14440 2

原创 Flutter 全能型选手GetX —— 依赖管理

对于依赖注入有四种方式,我们要根据不同的业务场景来使用相应的方法就可以了。对于Bindings,可以根据自己的编码风格来使用。

2022-08-09 16:35:50 2670

原创 Flutter 全能型选手GetX —— 简介

一个让你着魔的flutter框架

2022-07-30 20:30:07 2033

原创 Flutter 记录学习不一样的动画(二)

学习flutter动画 AnimatedWidget、AnimatedBuilder

2022-07-29 17:29:43 195

原创 一起来学习flutter 的布局组件

flutter常见的布局组件

2022-07-27 12:34:40 1304

原创 Flutter 记录学习不一样的动画(一)

flutter的基础动画学习

2022-07-17 17:34:03 458

原创 记录Android和Flutter的那些混合开发基情

步骤一:新建一个原生的安卓工程,然后同级目录下再新建flutter工程。也就是安卓工程和flutter工程是并列在同一目录下的。项目建完后,在安卓项目的settings.gradle文件里写上下面的配置信息:setBinding(new Binding([gradle:this]))evaluate(new File( settingsDir.parentFile,'flutter_module/.android/include_flutter.groovy'))步骤二:在安卓

2022-02-24 09:38:13 1797

原创 自己动手丰衣足食,撸一个flutterApp

包含功能:首页轮播图列表上拉加载、下拉刷新底部导航切换保存页面状态页面路由传值RxDart全局消息通信封装provider状态管理使用sqflite实现收藏功能…持续增加中第三方框架当前 Flutter SDK 版本 2.0.4库功能dio网络框架shared_preferences本地数据缓存image_picker图片管理flutter_swiper轮播图get页面路由pull_to_refresh下拉刷新

2021-10-14 16:35:16 1092

原创 单链表,我来了

一、单链表的特点链表以结点作为存储单元,这些存储单元可以是不连续的。单链表每个结点由两部分组成:存储的数值+后序结点的指针,下面均是单链表的操作。上面展示的是一个单链表的存储原理图,简单易懂,head为头节点,他不存放任何的数据,只是充当一个指向链表中真正存放数据的第一个节点的作用,而每个节点中都有一个next引用,指向下一个节点,就这样一节一节往下面记录,直到最后一个节点,其中的next指向null。(网络引用)二、实战(废话不都说,直接上机开干)class Node { ///数据域

2021-08-11 11:52:07 181

原创 记录gradle插件学习一

我就不说那么多废话,直接上图一个一个步骤来,看得更清晰步骤一:创建插件项目描述:新建android项目后,再建一个module,然后删掉一些不必要的文件,如下所示:步骤二:新建groovy文件夹步骤三:新建MyPlugin.groovy文件,后缀名是groovy。MyPlugin的内容,看着就跟java一样,因为groovy也是jvm语言,是兼容java的。class MyPlugin implements Plugin<Project> { @Override

2021-08-03 14:43:50 144

原创 flutter 状态管理模式之-学习providers基本用法

一、什么是provider二、provider的基本用法三、provider使用场景

2021-04-01 18:36:37 836 3

原创 flutter 认识InheritedWidget

一、认识官方的说InheritedWidget是flutter中非常重要的一个功能性widget,它可以高效的讲数据在widget树中向下传递、共享,这在一下需要在widget树中共享数据的场景非常方便。

2021-03-25 21:15:56 387

原创 Android TextureView与SurfaceView的相遇

一、认识TextureView1、TextureView是什么?TextureView是android4.0引入的,用于承载显示数据流的View。如本地Camera采集的预览数据流和视频通话模块从网络包里解出实时视频数据流。2、TextureView怎么使用? mTextureView.surfaceTextureListener = object : TextureView.SurfaceTextureListener { override fun onSurfaceTex

2020-10-25 14:45:40 565

原创 flutter学习笔记-listview

一、普通的listview二、 ListView.builderListView.builder({ Key key, Axis scrollDirection = Axis.vertical, bool reverse = false, ScrollController controller, bool primary,//如果[primary]参数为true,则[controller]必须为null。 ScrollPhysics physics,

2020-10-11 11:26:55 388

转载 对比GraphQL与REST——两种HTTP API的差异

https://www.jianshu.com/p/2ad286397f7a?open_source=weibo_search

2020-05-30 23:03:55 354

原创 Flutter 响应式框架RxDart学习

一、rxdart是什么?RxDart 是基于 ReactiveX 的响应式函数编程库。Dart本身有 Stream API,RxDart在其上增加了其他方法。ReactiveX是一个强大的库,用于通过使用可观察序列来编写异步和基于事件的程序。它突破了语言和平台的限制,让我们编写异步程序更加的简单。二、rxdart的功能Subject实现并扩展了StreamController,它符合Str......

2020-04-10 21:37:47 10559

原创 java性能调优

java性能调优一、代码优化1、使用递归调用时,如果过多的调用容易造成java.lang.StackOverflowError即栈溢出和程序执行过慢。这是一个潜在Bug和影响程序执行效率问题,需要谨慎使用。原因:每次递归调用时会向栈中push当前方法的运行状态(现场),而Java栈内存的使用超过限制的大小时,程序会出现栈异常。2、及时关闭流。Java编程过程中,进行数据库连接、I/O 流操作...

2020-01-17 10:28:09 495

原创 一起学android蓝牙编程

一、蓝牙简介蓝牙的一系列操作过程:1、搜索其他蓝牙设备2、查询适配蓝牙3、建立RFCOMM通道4、通过发现服务连接其他蓝牙设备5、交换数据6、管理多项连接二、蓝牙开发常用类BluetoothAdapter:代表类一个本地的蓝牙适配器。他是所有蓝牙交互的入口点。利用它你可以发现其他蓝牙,查询绑定了的设备,使用已知的的MAC地址实例化一个蓝牙设备和建立一个服务端来监听来自其他设备的连...

2019-06-29 17:23:47 1085

原创 AsyncTask实现原理和注意事项

一、介绍AsyncTask即异步任务,是Android提供的轻量级异步类,它对Thread和Handler进行了封装,方便我们使用。可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI线程。根据Android官方文档上的介绍,AsyncTask的设计是围绕线程和处理器的一个辅助类,并不构成一个通用的线程框...

2018-12-31 19:32:28 1295

原创 自己动手实现一个Android断点下载

一、断点下载原理及步骤 对于断点下载,就是下载的过程中,都会出现一些异常情况,导致下载中断。虽说可以重新下载,但是这对大部分的人来说,这是很麻烦很蛋疼的事。 步骤: 1. 获取下载链接,首先到数据库查找一下是否有重复的下载任务,有点话获取数据继续下载,没有的话,获取文件对象,传给下载服务。 2. 新建一个下载服务,方便应用退出时,能继续在后台下载。 3. 创建一个数据库,用来存储程

2017-12-11 10:33:22 464

原创 Java并发编程:闭锁CountDownLatch之一起回家

一、CountDownLatch的特性    CountDownLatch也叫闭锁它是一个同步工具类,它的一个特性是:闭锁相当于一道门,所有线程都没到达之前,都是关闭状态的。直到所有的线程都完成各自的任务后,闭锁就会打开,并且一直处于打开状态。举个常见的例子来说,同学聚会,我们需要等到所有的人都到了,聚会才能开始。二、CountDownLatch实现原理      CountDownLatch是通过

2017-11-26 15:03:18 374

原创 java 之线程的控制

一、join线程Thread提供了join方法,该方法在某个程序执行流中被调用时,调用其他线程的join方法的线程将会被阻塞。直到join方法的线程执行完为止。 static class JoinThread extends Thread{ public JoinThread(String name){ super(name); }

2017-09-12 15:12:20 315

原创 设计模式——适配器模式

适配器模式将一个类的接口,转换成客户期望的另一接口。适配器让原本接口不兼容的类可以合作无间。适配器模式又分为对象适配器和类适配器。

2017-08-29 23:24:11 238

原创 Rxjava结合操作符—merge、 Join

1、mergeJavadoc: merge(Iterable) Javadoc: merge(Iterable,int) Javadoc: merge(Observable[]) Javadoc: merge(Observable,Observable) (接受二到九个Observable) Observable odds=Observable.just(1,3,5,7);

2017-08-23 15:00:09 4655

原创 kotlin学习笔记(二)

类和继承一、类的声明class Invoice {}二、构造函数 一个类可以有一个主构造器和一个或多个次构造器。主构造器是类头部的一部分, 位于类名称(以及可选的类型参数)之后。 1.主构造器class Person constructor(firstName: String) {}如果主构造器没有任何注解(annotation), 也没有任何可见度修饰符,constr

2017-08-11 14:22:50 255

原创 EventBus 3.0源码学习(二)

一、post和postSticky的区别 /** Posts the given event to the event bus. */ public void post(Object event) { PostingThreadState postingState = currentPostingThreadState.get(); List

2017-07-06 12:57:14 387

原创 java线程的生命周期

启动线程的正确方法是调用Thread的start(),而不是直接调用run(),否则就变成单线程程序了。调用了线程的run方法之后,线程已经不在处于新建状态了,不要再次调用线程对象的start()方法了。只能对处于新建状态的线程调用start(),否则引发IllegalThreadStateException。

2017-07-05 13:14:42 361

原创 EventBus3.0源码学习(一)

一、注册源码解析二、事件分发解析三、取消注册解析

2017-06-27 13:13:57 446

原创 Kotlin基本语法(一)

一、程序运行入口 我们都知道java的程序运行入口是这样的public static void main(String[] args){}而kotlin跟java写法上还是有点区别的 对比一下就知道了func main(args:Array[] String){}二、定义包 在java上,我们都知道要定义相应的包名称。而kotlin则不需要匹配目录和包:源文件可以任意放在

2017-06-23 10:56:42 298

原创 Rxjava学习之结合操作符—zip

1、zip Observable ob1 = Observable.just(1,2,3); Observable ob2 = Observable.just(10,20,30,40); Observable.zip(ob1,ob2, (int1, int2) -> int1+"-"+int2).subscribe(o -> Log.v("TAG", "zip:"+o

2017-06-13 10:50:03 4979

原创 Rxjava学习之过滤操作符—filter、elementAt

1、 filter(Func1)过滤操作符,只发射满足条件的数据。 Observable.just(1, 2, 3, 4, 5, 6) .filter(integer -> integer > 4) .subscribe( integer -> Log.d("TAG", integer + ""));

2017-06-08 10:01:00 882

原创 java线程的创建和启动

一、继承Thread类public class MyThread extends Thread { private static volatile double d=1; @Override public void run() { while (d10){ d++; } } public static void main(String[] a

2017-06-07 15:03:12 308

原创 设计模式——Builder模式

一、概念 将一个复杂对象的构建过程和它的表示分离,使得相同的构建过程创建不同的表示。二、UML类图 UML类图如下图所示。 角色介绍: Product产品类-产品的抽象类 Builder-抽象的Builder类,规范产品的组建,一般是由子类实现具体的组建过程; ConcreteBuilder——具体的Bilder类; Director——统一组装过程三、使用场景 1、相同的方

2017-05-24 10:08:37 255

原创 Python——re模块

re.matchre.searchre.subre.splitre.findallre.compile

2017-05-24 10:03:35 1157

原创 Rxjava的学习之过滤操作符—first

first()first(Func1)firstOrDefault(T)firstOrDefault(T, Func1)takeFirst(Func1)1.first() Integer[] ints={1,2,3,4}; Observable.from(ints) .first().subscribe(new Subscriber() { @

2017-05-10 14:27:48 830

原创 数据结构——队列

一、队列的顺序存储结构实现public class Queue { private Object[] data; // 默认容量 private int maxCapacity = 10; // 队头 private int font; // 队尾 private int rear; public Queue(int capac

2017-05-09 12:48:50 1101

原创 Python文件操作-shutil 模块(参考)

shutil 模块shutil.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为 IOException. 如果当前的dst已存在的话就会被覆盖掉。 import shutil shutil.copy('test1.txt','D://test.txt')shutil.move( src, dst) 移动文件

2017-04-21 21:05:53 846

空空如也

空空如也

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

TA关注的人

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