自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 volatile关键字理解使用

volatile关键字我们都知道volatile修饰的变量,保证了数据内存的可见性。强迫每个线程在读取volatile修饰的变量值时,需要从主内存中读取。保证数据一经改变,其它线程立即感知。具体什么情况下使用呢?比如我们设置一个开关,在一个线程完成某件事情时,其他所有线程将不再继续执行新任务。具体代码如下不加volatile修饰时是这样的测试结果如上可以看出,虽然开关已经在main线程中关闭,但是,多线程任务中判断并没有停止,持续进行着f(),并没有看到 threa.

2020-08-21 17:12:37 176

原创 Android中获取图片尺寸大小两种方法

两种方法 建议用第二种 private void getPictureSize(String path) { /*第一种直接把bitmap加载到内存中,通过对bitmap的测量, 得出宽高,由于这个方法直接把图片引入内存, 如果图片过大,将会引发OOM;*/ //方法一:通过uri把图片转化为bitmap的方法 Bitmap bitmap = BitmapFactory.decodeFile(path); ..

2020-08-20 15:43:28 2864

原创 flutter 检测生命周期 进行相关操作

@overridevoid initState() { super.initState();//注册 WidgetsBinding.instance.addObserver(this);}@overridevoid dispose() { super.dispose();//注销 WidgetsBinding.instance.removeObserver(this); }//主要检测生命周期 @overridevoid didChangeAppLifecycl.

2020-08-19 11:37:31 485

原创 Flutter event_bus使用和理解

1 声明一个或者是初始化一个 eventbusclass RepairEvent{ static EventBus event = EventBus();}2声明一个要发送的对象 可有参 可无参class RefreshComPnyPickListEvent { RefreshComPnyPickListEvent();}3进行发送数据 RepairEvent.event.fire(RefreshComPnyPickListEvent());4 evetnbu..

2020-08-18 10:20:47 539

原创 kotlin学习笔记:延迟加载的lateinit和lazy 比较

在使用kotlin开发中,因为各种原因,我们会经常需要使用到延迟加载的功能,目前kotlin的延迟加载主要有两种:lateinit和lazylateinit 的使用lateinit是kotlin中的一个关键字,使用方法如下 // 声明一个string变量 lateinit var a1: String private fun test() { // 初始化 a1 = "test1" }在var之前添加lateinit

2020-08-17 12:05:47 526

原创 Flutter sdk实现 版本回退指定版本

https://github.com/flutter/flutter/commit/e6b34c2b5c96bb95325269a29a84e83ed8909b5f flutter 网站前几天Flutter 发布了一个大版本1.9,修复了大量的bug, 就赶紧从v1.5.4-hotfix.2升级了1.9,升级之后许多插件报了一大堆错误,不得不回退回去了,对git版本控制不太熟悉,就查了一下;先去Flutter github查看一下你想回退版本提交记录image.png...

2020-08-15 18:21:44 1106

原创 InputStream.read([byte[]) 参数详解的理解

转载请注意出处:http://blog.csdn.net/fengye454545/article/details/79572165以前用到I/O操作基本就是仿照网上的Demo代码,写的时候也是很匆忙,根本也是不了解其中的意思,所以今天也是回过头重新看了看。看到InputStream.read(byte[])时也是对参数有点不解,上网查了半天也是没有具体答案,可能太简单了吧转存失败重新上传取消转存失败重新上传取消转存失败重新上传取消。不过来到这里的小伙伴们肯定也是对这个参数很是疑惑,别着...

2020-08-11 18:41:16 1792

原创 Java 中 FileOutputStream 和 InputStream

FileOutputStreamFileOutputStream流是指文件字节输出流,专用于输出原始字节流如图像数据等,其继承OutputStream类,拥有输出流的基本特性。主要是进行自定义文件后的写入操作1 先创建文件// Environment.getExternalStorageDirectory() 已丢弃使用File dirs = new File(getExternalFilesDir(null) + "/Download1");//文件保存地址2https://blog.

2020-08-11 17:38:46 178

原创 Service Intent must be explicit的两种解决方法

crash的原因是5.0以上service不能使用隐式intent启动,但是使用AIDL进行进程间通信时并不能得到具体的类名,so, 问题还得解决。方法一最简单的是新建Intent的时候带入packagename,直接调用setPackage方法,把service所在的包名设置进intent。 Intent intent = new Intent(); intent.setAction("com.boomstack.aidl"); intent.s

2020-08-11 15:16:27 4991 2

原创 Flutter定义了三种不同类型的通信 Channel

BasicMessageChannel:用于传递字符串和半结构化的信息,持续通信,收到消息后可以回复此次消息,如:Native将遍历到的文件信息陆续传递到Dart,在比如:Flutter将从服务端陆陆续获取到信息交个Native加工,Native处理完返回等;MethodChannel:用于传递方法调用(method invocation)一次性通信:如Flutter调用Native拍照;EventChannel: 用于数据流(event streams)的通信,持续通信,收到消息后无法回复此次消息

2020-08-10 18:41:11 1931

原创 flutter中的状态管理Provider 实现MVVM

什么是Flutter中的MVVM?MVVM拆解来说就是三个部分:Model 数据模型。通常来说,Model中保存了相关业务的数据,比如说用户(User),它其中包含id、name、password。它就是一个Model。 View 视图。通俗讲就是展示给用户的界面及控件,比如Flutter中参与界面展示的Widget。为什么我们要强调参与界面展示的Widget呢?因为在Flutter中几乎所有的东西都可以理解为Widget。 ViewModel 负责实现View与Model的交互。这个是最

2020-08-07 16:49:12 1573

原创 flutter中的状态管理Provider 简单使用

今天简单说一下flutter中的状态管理,我们这次使用provider;  Model,模型,这里面定义了我们准备全局使用的数据,或者各个方法; 例如 下面的DriverStrokeManageProvide就是一个modelclass DriverStrokeManageProvide extends ChangeNotifier { StrokeCurrentManageEntity _strokeCurrentManageEntity; List<StrokeManag...

2020-08-06 10:52:16 951

原创 flutter 使用 CustomScrollView SliverAppBar SliverPersistentHeader 实现 头部下滑 吸顶作用

上面两个图一个下滑动sliveappbar展开后隐藏标题 显示内容 ,一个是上滑动sliveappbar收缩后,展示标题 主要代码 Scaffold( backgroundColor: CommonColors.grayBg, body: FutureBuilder<StoreNewDetailModel>( future: _futureStoreDetal, builder: (context, d..

2020-08-05 21:42:38 3449

原创 java 多线程的使⽤ 以及区别

package com.zidingview;import androidx.appcompat.app.AppCompatActivity;import android.content.res.Resources;import android.graphics.Bitmap;import android.os.Bundle;import android.util.TypedValue;import java.util.concurrent.Callable;import java.u.

2020-08-03 17:00:12 119

原创 java 中 进程和线程区别

java 多线程

2020-08-03 16:06:43 133

原创 Flutter学习--Navigator

在flutter中我们经常会使用到这样的代码//打开一个新的页面 Navigator.of(context).push//打开Scaffold的Drawer Scaffold.of(context).openDrawer//获取display1样式文字主题 Theme.of(context).textTheme.display1那么这个of(context)到底是个什么呢。我们这里以Navigator打开新页面为例。static NavigatorState of..

2020-08-03 11:24:43 790 1

原创 Flutter 理解之 BuildContext

刚开始 接触flutter 时,我以为buildContext 就是类似于Android的上下文一下,但是大错特错,比如 压一个新的页面到屏幕上Navigator.of(context).push比如把路由顶层的页面移除Navigator.of(context).pop其实buildContext 就是就是一个抽象类,其中有两个方法,一个是返回一个weight 一个是返回buildOwner但是flutter 如何构建视图呢,我们认为一切皆weight ,我们通过构建嵌套weight 来编写U

2020-08-03 10:37:42 1907

Baidu_Claim_unsigned

Baidu_Claim_unsigned 百度移动开放平台认领应用--apk 空包签名

2021-01-17

Genymotion-ARM-TranslationforAPK.zip

Genymotion模拟器无法直接安装APP 使用Genymotion模拟器安装APP的过程中,将我们的apk拖进去模拟器报以下错误: 解压 后 拖拽进行 重启 模拟器

2020-09-15

MyJeptDemo.zip

本App是基于谷歌推出的Android Jetpack架构组件的干货集中营, app功能很简单, 基本上是针对 LiveData ViewModel Navigation Paging 的MVVM的练手demo,更多的强大功能, 参考https://developer.android.google.cn/jetpack/docs/getting-started 中文版

2019-12-26

空空如也

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

TA关注的人

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