- 博客(224)
- 资源 (9)
- 收藏
- 关注
原创 gradle系统自带命令
gradlew tasksAndroid tasks-------------//展示整个项目中的依赖(包括jar和aar)androidDependencies - Displays the Android dependencies of the project.//展示所有module的正式和测试的签名信息(MD5、SHA、SHA256)signingReport - Displays the signing info for the base and test modules//展示整
2021-12-08 14:21:10
363
原创 Shell基础命令
Shell命令标签(空格分隔): shell基于MacOS操作,来源与直播课摘录命令行0.查看一个已有的文本内容cat test00.sh1.访问百度页面w3m www.baidu.com需要先安装w3mbrew install w3m2.编辑文件头vim test01.sh内容开头#!bin/bash或者#!bin/sh以上是两种不同的解释器3.输出一个变量vim test01.sh#!bin/bashA=10echo $A以上A=10之
2021-09-15 14:31:17
277
原创 Flutter factory关键字
在Flutter中好几次见到factory,以前不耽误我使用,也就没太关注,但是今天有看到了,所以就想知道他是干啥的。我在百度中搜索“Flutter factory关键字”,基本上就两篇博客,剩下的就是互相摘抄,也没说个所以然来,所以我就更好奇了,我一片一片博客的看过去,仍然看不出新意。dart中factory关键词的使用flutter 中factory(构造方法上的唯一对象) 与单例模式有这么一句话:当你需要构造函数不是每次都创建一个新的对象时,使用factory关键字然后给出的实例:cla
2021-09-01 17:56:09
3253
原创 List遍历时删除
List容器一边遍历,一边删除在一些业务逻辑上总是会存在的。小栗子例如有一个列表,在UI上的反馈就是用户勾选了几个需要删除的,勾选后点击确认删除;代码逻辑就是在列表中标识勾选的项,然后遍历删除;先不说这个例子有多少实现的方法,就针对遍历删除来讨论。第一种 for-eachpublic class ForTest { public static void main(String[] args) { List<Integer> intList = new Ar
2021-08-05 17:24:11
737
原创 Flutter:关于EventChannel通信拿不到EventSink的思考
在项目开发中用到了Native+Flutter[Module]的方式进行开发;遇到一个场景,需要Native发消息给Flutter,于是决定采用EventChannel;按照一些教程操作后,发现无效,在Native端始终拿不到EventSink,而且在Flutter中注册监听的地方也会报错(不过不影响其他的程序运行,只是监听的地方报错说listen有问题)。这里先说一下我们的场景,比较骚气:页面跳转方式大概为Native->Flutter->Native,需要在后一个Native发消息给前一
2020-12-24 11:11:43
1783
翻译 DSL
转载:摘抄自《Kotlin极简教程》-陈光剑DSL 是什么DSL(Domain-Specific Language,领域特定语言)指的是专注于特定问题领域的计算机语言(领 域专用语言)。不同于通用的计算机语言(GPL),领域特定语言只用在某些特定的领域。 比如用来 显示网页的HTML语言,以及Emacs所使用的Emac LISP语言等。更加典型的例子是Gradle,它基于 Ant 和 Maven,使用基于Groovy的DSL 来声明项目设置,而不是传统的XML。DSL 简单讲就是对一个特定问题 (.
2020-10-30 17:17:14
918
翻译 逆变与协变
转载:摘抄自《Kotlin极简教程》-陈光剑逆变与协变Animal类型(简记为F, Father)是Dog类型(简记为C, Child)的父类型,我们把这种父子类型关系 简记为F <| C。而List, List的类型,我们分别简记为f(F), f( C)。那么我们可以这么来描述协变和逆变:当F <| C 时, 如果有f(F) <| f( C),那么f叫做协变(Convariant); 当F <| C 时, 如果有f( C) <| f(F), 那么f叫做逆变(C.
2020-10-30 11:51:07
216
转载 RecyclerView源码解析
转载:【进阶】RecyclerView源码解析【进阶】RecyclerView源码解析(一)——绘制流程【进阶】RecyclerView源码解析(二)——缓存机制【进阶】RecyclerView源码解析(三)——深度解析缓存机制【进阶】RecyclerView源码解析(四)——RecyclerView进阶优化使用作者写的很好,看下来会有很大的收获;...
2020-10-29 16:28:40
107
原创 Java IO流
也是在网上综合几篇博客摘抄的,自己没有专门去验证过;这块总是学了又忘,所以放一张思维导图在这立着;如果有大佬来勘误,欢迎指出;如果有大神见过整理的比较好的关于这个的博客,且通过装饰模式把这些类之间的关联总结的比较好的,欢迎贴网址。拜谢!!!...
2020-10-29 10:46:06
95
转载 安卓内外部存储完全解析 -- 别再弄混了
转载: 安卓内外部存储完全解析 – 别再弄混了安卓开发离不开手机存储,然而大部分人对于安卓开发中的存储概念存在误区,内部外部SD卡傻傻分不清?概念扫盲以下引用来自对官方文档的理解安卓手机的存储分为 2 部分,内部存储 ( Internal ) 和外部存储( External )呵呵呵,先别说话,然而重点来了(敲黑板),按照官方的说法,内部存储是指系统的存储空间,没有root是访问不到的呦亲,比如sharedPreferenced或者database都是保存在这里面的。外部存储,又分为 2
2020-10-28 12:37:56
1201
2
原创 PorterDuff.Mode
PorterDuff.Mode标签(空格分隔): 未分类介绍PorterDuff.Mode各个击破搞明白PorterDuff.Mode有用的案例慢慢积累,找到就补上参考:PorterDuff.Mode各个击破搞明白PorterDuff.Mode
2020-09-02 23:12:45
161
原创 default activity not found
只说我碰到的一种情况:检查app的AndroidManifest.xml文件,超看报红,解决报红;我的报红原因是,很久之前写了一个Activity(命名ActivityA),后来需求变更,在同一包名下写了个新的Activity(命名ActivityANew),然后碰上前几天我在清除一部分无用代码;于是删除了ActivityA,然后将ActivityANew重命名为ActivityA;删除的时候,AndroidManifest.xml文件中的注册信息忘记删除了当时删除的时候是可以打包的,也是可以启动的(
2020-08-31 10:50:09
108
原创 ViewPager.setOffscreenPageLimit
ViewPager.setOffscreenPageLimit标签(空格分隔): viewpager测试demo:一个ViewPager+6个FragmentsetOffscreenPageLimit(1)看到一些解释说setOffscreenPageLimit设置的数字有两层意思一个是代表预加载的数量:n一个是缓存的最大数量:2*n+1此时依据上面描述,当设置为1时,预加载的数量是1,缓存的最大数量是3下面来验证一下###初始化Fragment1: onAttachFragme
2020-08-28 14:42:20
4523
原创 kotlin 流水线素数
kotlin 流水线素数标签(空格分隔): kotlinfun numbersFrom(context: CoroutineContext, start: Int) = produce<Int>(context) { var x = start while (true) send(x++) // 从start开始的无限整数流}fun filter(context: CoroutineContext, numbers: ReceiveChannel<Int>
2020-06-15 10:52:50
199
原创 合并点击事件
先不管说出于什么样的产品需求,只说此种情况下的使用:把id通过数组传进来,遍历注册点击事件,响应事件为同一个事件block{}object MergeUtil { /** * 合并点击事件 */ fun mergeClick(vararg views: View, block: (view: View) -> Unit) { views?.let { it -> for (view in it) {
2020-05-19 17:53:48
322
原创 小鱼吃虾米动画加载框(仿CSDN发布文章动画)
AV画质凑活看吧因为这个没啥技术含量,而且代码质量比较粗糙,也没做迭代和优化;就是突然看到了别人有,我也想有。直接贴代码了:package com.xiey.anim;import android.animation.ValueAnimator;import android.content.Context;import android.graphics.Canvas;impo...
2020-03-14 23:10:04
294
原创 CA认证流程
参考:加签,验签,CA认证中心流程CA认证简单介绍和工作流程以上属于个人理解,还不是很确定,还在研究学习中,希望同学给予指点,拜谢!
2020-03-13 19:57:31
7774
1
转载 关于 Android 中 Bitmap 的 ARGB_8888、ALPHA_8、ARGB_4444、RGB_565 的理解
转载自:[关于 Android 中 Bitmap 的 ARGB_8888、ALPHA_8、ARGB_4444、RGB_565 的理解][https://www.jianshu.com/p/80b2068a90a8]ARGBA 是 alpha,透明度。RGB 是 Red、Green、Blue,红色、绿色、蓝色,三种原色。Bitmap.Config 有四种枚举类型。ARGB_8888:ARG...
2020-02-23 17:19:56
508
原创 Flutter Plugin/package 从编写到发布
Flutter PluginAS-> Create New Flutter Project->Flutter Plugin->命名(x_toast)->next->finish需要关注三个文件首先是lib下的XToastimport 'dart:async';import 'package:flutter/services.dart';class X...
2019-12-10 14:11:59
1126
原创 ScrollView的几个属性
android:fillViewport="true"当子布局高度小于ScrollView的高度时,定义子布局match_parent不起作用在scrollview里添加属性android:fillViewport=”true” 就可以了,使得子布局高度和scrollview一样,而当子布局高度超过scrollview的高度时,这个属性就没有意义了android:overScrollMod...
2019-11-28 15:01:16
330
原创 Recycler view is not updated until you start scrolling
notifyDataSetChanged方法调用后没有作用,必须手动往上滑动一下才显示数据;不是必现的,带有偶然性(始终表现在初始化),时而显示,时而不显示;布局结构是(viewpager+fragment+recyclerview)目前排除掉一些情况:数据源List没有数据;压根就没调用到notifyDataSetChanged;没有设置layoutmanagerList的内存地...
2019-11-08 18:33:02
135
原创 虚拟机规范预定义的属性 Signature
Signature:JDK1.5中新增的属性,这个属性用于支持泛型情况下的方法签名,在Java语言中,任何类、接口、初始化方法或者成员的泛型签名如果包含了类型变量(Type Variables)或参数化类型(Parameterized Types),则Signature属性会为它记录泛型签名信息;由于Java的泛型采用擦出法实现,在为了避免类型信息被擦除后导致签名混乱,需要这个属性记录泛型中的...
2019-09-11 07:57:24
487
原创 音频播放动画 频段跳动
项目地址:https://github.com/xieyang94/AudioView这个主要是受到 https://www.jianshu.com/p/76aceacbc243 的影响但是和我个人的需求不同,主要是和UI的需求不同;就自己打算模仿写一个,如上图所示;从开始写到现在的模样一共迭代了7个版本;第一个版本就是画出这么一个频段,主要依据就是,将高度平均分成六份,第一个...
2019-09-10 16:41:30
944
原创 RxJava2-Subject
RxJava2-Subject粗解文章目录RxJava2-Subject粗解Subject:实现类:实现类Demo:原理解释:Subject:public abstract class Subject<T> extends Observable<T> implements Observer<T> { ...}Subject 可以同时代表 Ob...
2019-09-06 15:09:56
278
原创 RxJava2-Completable
RxJava2-Completable只发射一条完成通知,或者一条异常通知,不能发射数据,其中完成通知与异常通知只能发射一个Completable .create(new CompletableOnSubscribe() { @Override public void subscribe(CompletableEmitter emitter) throw...
2019-09-06 15:08:53
1896
原创 RxJava2-Maybe
RxJava2-MaybeMaybe:可以发射一条单一的数据以及一条异常通知或者一条完成通知,需要注意的是,异常通知和完成通知只能选择其中一个,发射数据只能知完成通知或者异常通知之前,否则发送数据无效Maybe.just(10).subscribe(new MaybeObserver<Integer>() { @Override public void onSubs...
2019-09-06 15:08:19
1077
原创 Rxjava2-Single
Rxjava2-SingleSingle .create(new SingleOnSubscribe<Integer>() { @Override public void subscribe(SingleEmitter<Integer> emitter) thr...
2019-09-06 15:07:22
1538
1
原创 RxJava2-线程调度
RxJava2-线程调度RxJava2中的线程调度主要用到subscribeOn/observeOn从一个使用出发Observable .create(new ObservableOnSubscribe<Integer>() { @Override public voi...
2019-09-06 15:06:33
119
原创 RxJava2-Disposable
RxJava2-Disposable文章目录RxJava2-DisposableDisposableCreateEmitter---onNext/onError/onCompleteDisposableHelperCreateEmitterDisposablepublic interface Disposable { /** * Dispose the resource, ...
2019-09-06 15:05:44
767
原创 RxJava2-简单使用和源码分析
RxJava2-简单使用和源码分析文章目录RxJava2-简单使用和源码分析添加依赖:使用:原理分析createObservableOnSubscribeObservableEmitterEmitterRxJavaPlugins.onAssembly()ObservableCreateObserversubscribeRxJavaPlugins.onSubscribe(this, observe...
2019-09-06 15:04:29
162
原创 RxJava2的基本使用和基本原理
RxJava2的基本使用和基本原理RxJava2的DisposableRxJava2-线程调度Rxjava2-SingleRxjava2-MaybeRxjava2-CompletableRxjava2-Subject
2019-09-04 15:55:56
362
转载 java 抽象类为什么不能被实例化?
转载:java 抽象类为什么不能被实例化?我把CSDN论坛里面的一个帖子内容list到下面,自己看着理解,东家一言,西家一语,杂合起来,基本上也就理解了java中的抽象类为什么不能被实例化了。因篇幅有限,只能罗列部分留言以下内容不分先后顺序=====================================抽象类只在分配了在栈中的引用,没有分配堆中的内存。程序都有一个代码段,再内存...
2019-08-29 09:30:16
6212
1
转载 正则
正则标签(空格分隔): 正则特殊字符--?0个或1个*0个或多个+1个或多个^匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 ^。$匹配输入字符串的结尾位置。( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )。...
2019-08-15 11:19:42
119
原创 Adapter嵌套Adapter,保持列表中的某个UI状态始终唯一
这么一个需求,就是列表套列表,子列表的个数是有限的;子列表中有个功能是播放音频;要求:点击其中一个子列表中的某个item的播放按钮,播放按钮UI改变(音频啥的暂时不考虑),然后点击另一个子列表的一个播放按钮,则上一个子列表中的播放按钮(播放->暂停),当前点击的子列表中的那个item的播放按钮(暂停->播放);差不多就是这么个意思;目前想到的解决思路就是:记录当前点击的ite...
2019-08-13 19:42:37
755
2
原创 那些让人喜爱的gradlew xxx命令
那些让人喜爱的gradlew xxx命令标签(空格分隔): gradlew简单了解对gradlew的一点了解gradle会快速迭代版本,如果合作开发项目会导致成员自己下载gradle,导致版本不一,从而手忙脚乱,所以干脆包装起来,统一gradlew可爱的命令1、查看gradle的版本gradlew -v2、升级gradle(升级到5.1.1)gradlew wrappe...
2019-08-12 11:52:11
470
转载 gradlew
gradlew标签(空格分隔): gradlewgradlew先简单介绍一下:下面的介绍简单来说就是gradle会快速迭代版本,如果合作开发项目会导致自己下载gradle版本不一,从而手忙脚乱,所以干脆包装起来,统一转载自*一篇文章讲清楚Gradle与Gradle Wrapper的区别*因为gradle处于快速迭代阶段,经常发布新版本,如果我们的项目直接去引用,那么更改版本等会变得无...
2019-08-12 11:01:48
3740
原创 容器 ArrayList源码解析
容器 ArrayList标签(空格分隔): 容器 ArrayListArrayList继承自AbstractList容器 AbstractList 源码解析//实现了三个接口,可克隆,可随机访问(这个有意思,先放放),可序列化public class ArrayList<E> extends AbstractList<E> implements ...
2019-08-04 18:17:24
151
原创 容器List源码解析
List是个接口,继承自Collection容器 迭代器 Collectionpublic interface List<E> extends Collection<E> { //List的尺寸大小 int size(); //判断List是否为空 boolean isEmpty(); //判断List是否包含...
2019-08-01 22:30:43
160
原创 容器 迭代器源码解析
容器 迭代器标签(空格分隔): 容器 Iterable IteratordemoList<String> list = new ArrayList<>();Iterator<String> iterable = list.iterator();while (iterable.hasNext()) { String data = iterable....
2019-08-01 22:23:51
119
原创 容器 AbstractList 源码解析
AbstractList 源码解析//气不气,他还继承了AbstractCollection,怎么就没完没了呢;//(容器 AbstractCollection源码解析) https://blog.csdn.net/xiey94/article/details/98046498public abstract class AbstractList<E> extends Abst...
2019-08-01 18:35:03
166
MPAndroidChart的样例apk
2018-04-24
MySQL数据库入门--读书笔记(word)
2016-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人