自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Flutter 热更新功能实现

Flutter 官方在 GitHub 上声明是暂时不支持热更新的,但是在 Flutter 的源码里,是有一部分预埋的热更新相关的代码,并且通过一些我们自己的手段,在Android端是能够实现动态更新的功能的。Flutter 产物的探究不论是创建完全的 Flutter项目,还是 Native以 Moudle得方式集成 Flutter,亦或是 Native以 aar方式集成 Flutter,...

2019-11-07 21:33:29 1357

原创 Flutter 自动打包依赖aar上传Maven仓库( Shell+Gradle 脚本)

以 aar 的模式集成好处是减少对原生的入侵,对于二者的开发人员,能有效的隔离。弊端是对于 flutter 依赖的第三方插件,需要手动的从 flutter SDK 中取出第三方插件的 aar,复制到原生项目下依赖,过程比较繁琐。<br/>如何才能才能一键遍历打包依赖插件的aar,并上传到Maven仓库?这里给出解决问题的思路和方法。

2019-10-27 16:15:57 3170

原创 Flutter 中性能优化工具的使用( PerformanceOverlay+Observatory )

本文主要介绍 Flutter UI 代码优化工具 PerformanceOverlay 和 内存优化工具 Observatory的介绍和使用。代码优化工具 : PerformanceOverlayA. 在 Flutter 项目中打开 PerformanceOverlay1. 首先打开 PerformanceOverlay 工具,在 AndroidStudio -> Pref...

2019-10-27 16:08:07 4774

原创 Flutter 遇到的奇葩问题及解决方案记录

Flutter 使用setData无法更新数据问题:Flutter 页面文件 嵌套 FlutterList列表文件,setState 后,Flutter列表 部分数据不更新。原因:未知解决方法:在Flutter列表页文件,build方法中通过widget获取值:例如:_loading = widget._showLoading;Flutter 在 release 环境下启动失败...

2019-06-14 17:48:55 1355

原创 AndroidStudio 启动失败问题

AndroidStudio 启动失败问题上个周末AndroidStuido出了一个问题,花了许多时间才解决,在此录一下问题和解决方案。具体问题如下:Internal Error. Please report to https://code.google.com/p/android/issuesjava.lang.RuntimeException: com.intellij.ide.plu...

2019-05-14 21:59:51 3866 1

原创 Flutter 事件机制 - Future 和 MicroTask 全解析

写在前面了解过Flutter的同学都知道,不同于 Android 原生开发,dart 是单线程实体的语言,所以我们一般的异步操作,实际上还是通过单线程通过调度任务优先级来实现的,就是我们经常用到的 Future,但是Flutter中的事件机制究竟是怎样的?多个Future 和 Microtask 程序的执行顺序是怎样的? 本文将借助两个比较复杂的例子来详细介绍 Flutter 的事件机制,希望能...

2019-04-10 18:22:25 3609 3

原创 Flutter入门,开发者需要知道的10个知识点

Flutter 和 ReactNative( RN ) 的异同?RN 是使用JS代码调用系统的原生控件,最高支持 60fps。Flutter 不使用系统的原生控件, Flutter 基于GPU渲染,所以确保了 高性能,最高支持120fps,甚至不输原生。Flutter只需要维护一套UI 代码:Flutter 在IOS和Android 是一套 UI 风格组件,所以 Flutter 需...

2019-03-21 21:56:54 678

原创 Jetpack系列 - Palette(调色板)入门使用指南

这篇文章旨在用最简单的代码教会你 Palette的使用方式。Palette 的介绍先看一下官方的介绍The palette library is a support library that extracts prominent colors from images to help you create visually engaging apps.翻译过来大概就是:Palette 是...

2019-03-18 11:24:55 1313

原创 Jetpack系列 - LiveData从入门到源码

这篇文章旨在用最简单的方式教会你LiveData使用,及它的工作原理。LiveData介绍LiveData 是 Google推出的 JetPack框架组件的一个,主要用来给数据设置监听,在数据变化时可以通知UI修改或者做其他操作。LiveData使用Google推荐 LiveData 和 ViewModel 配合食用,上篇文章我们已经了解过ViewModel,这里我们就使用LiveData...

2019-03-12 11:13:55 358

原创 Jetpack系列 - Lifecycle从入门到源码

这篇文章旨在用最简单的方式教会你Lifecycle如何使用,及它的工作原理。Lifecycle介绍Lifecycle是Google推出的JetPack框架组件的一个,主要是用来感知Activity和Fragment的生命周期,可以帮你写出更简洁,通用的代码。Lifecycle使用总共两步第一步,编写自己的Observer类文件,并实现对应的监听方法,通过注解实现对响应生命周期方法的监听...

2019-03-07 12:00:54 1558

原创 知识点梳理 - AMS 的介绍及知识点

这篇文章将用最简单的语言告诉你 AMS(ActivityManagerService)是什么及相关的知识点,帮我们更系统的理解Android系统的工作原理。1. AMS简介AMS是什么?ActivityManagerService是一个服务(我们后面都坚称AMS),用来管理Activity,而且它是一个系统服务,就像包管理服务(PMS),电池管理,震动管理服务一样。AMS是系统服务,所以运...

2019-03-07 10:45:31 3063

原创 Jetpack系列 - ViewModel从入门到源码

这篇文章旨在用最简单的方式教会你 ViewModel 如何使用,及它的工作原理。ViewModel介绍ViewModel是Google推出的JetPack框架组件的一个,它的主要功能是包装数据,包装后的数据在其宿主(Activity)重建时,数据不会被被重建。通俗的讲,就是:在Android系统中,Activity在配置更改后,Activity可能会重启(最常见如屏幕旋转),此时我们更改过...

2019-03-05 15:23:34 793

原创 Weex 06 weex之Git忽略文件的配置

前言 weex如果使用Git作为版本控制工具的话,必定要做一些配置比如忽略文件,本章介绍weex的Git配置以及一些坑。正文干货上传到Git仓库在项目的根目录下添加文件.gitignore(可以先创建一个文本文件,然后修改名字): .gitignore内容: git配置 #忽略依赖包 /node_modules /platforms/* /plu...

2019-03-01 12:04:18 375

原创 Weex 05 Native路径跳转JS踩坑

前言 weex页面跳转是很多开发者遇到的问题。navigator是Android和IOS的跳转模块,weex的Web是不支持navigator的,只能使用vue-route。 本篇主要讲Android的Native端的页面跳转问题。正文 weex是使用模块navigator实现跳转的,该跳转只支持前进或者后退单个页面,这也比较符合Weex目前的市场定位-电商和平台类...

2019-03-01 12:03:42 1173

原创 Weex 03 UI的基本使用

前言 UI这方面,无论你以前是从事前端或者移动端,多联系一下,还是很容易上手。正文一些要记住的知识点在 Weex 中,Flexbox 是默认且唯一的布局模型,所以你不需要手动为元素添加 display: flex; 属性。Flexbox和Android原生相比适配性更强。weex中的长度单位只有px;屏幕默认的宽度为750px,高度约为1250px,f...

2019-03-01 12:03:09 499

原创 Weex 02 环境配置

前言 环境配置的话Weex和RN是相似的,这部分小坑很多,但还是很容易解决的。正文 Weex环境配置Windows和Mac是相似的。一共4步: 1.安装Node.js; 2.安装weex工具包; 3.初始化项目; 4.Hello World;1. 安装Node.js:Mac: 命令行执行: brew install node; ...

2019-03-01 12:02:55 378

原创 Weex 01 工作原理

前言 像Weex和ReactNative这种用前端的方式实现高性能的APP必定是未来的趋势,正如PC端的客户端向Web端的演进一样。去年曾接触过一段时间RN,奈何FaceBook的BSD协议问题,不得不使很多开发者对它敬而远之。很幸运这次能在工作中学习和实践Weex。 这篇文章简要的介绍了Weex的工作原理和特性,如果不了解Weex的机制的可以大概看一下,下一篇开始环境配置。...

2019-03-01 12:02:39 610

原创 Weex 04 Weex中Android项目的生成和交互

前言 本章介绍如何将Weex的项目导出Android,并实现Weex和Native的交互。正文导出Android项目在项目中添加Android支持。在项目的目录下执行: weex platform add android 上述命令会在项目的platform文件夹下生成一个Android的文件夹,懂Android的同学进去一看就知道这是一个可以直接导入Androi...

2019-03-01 12:01:06 798

原创 M1卡片相关(读卡,写卡,加密算法)

M1卡信息一张M1卡的存储量为1KB( 16扇区 * 4块 * 16字节 = 1024字节 = 1KB);一张卡有16个扇区,每个扇区有4个块,每个块有16个字节的存储量。1字节 = 8个二进制 = 2个16进制, 所以一个块的存储量为:16个字节 = 128个二进制 = 32个16进制。第0扇区的块0为厂商代码,已经固化。 每个扇区的块3为控制块,用来存放密码和控制权限 ,不能用...

2018-05-30 18:22:23 19906 1

原创 Android Dialog 生命周期

Android Dialog 生命周期android基础正文:Dialog的生命周期一共用以下6个方法: onCreate(),show(),onStart() ,cancel(),onDismiss(),Stop() 。Dialog仅在在第一次启动时候会执行onCreate()方法(之后无论该Dialog执行Dismiss(),cancel(),stop(),Dialog都不会再执行onCre

2017-10-14 11:00:54 18115 6

空空如也

空空如也

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

TA关注的人

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