自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iblade的博客

明年的某个时候,你会想着要是今天就行动了该多好。

  • 博客(310)
  • 资源 (9)
  • 论坛 (1)
  • 收藏
  • 关注

原创 常用命令清单

获取签名文件MD5 :keytool -list -v -keystore lagoueducation.jks跳转至路由页adb shell am start -a android.intent.action.VIEW -d "lagou://lagou.com/edit?type=2\&id=1"

2020-08-28 18:17:38 87

原创 Dialog空白区点击的监听

需求:底部弹窗上有输入框,如果显示键盘,点击空白仅消失键盘,键盘不在,消失弹窗。监听Dialog空白区域,最常见思路是空白区域也写上View,监听View点击即可。但是Dialog中有输入框时,键盘弹起时,会出现画面跳动,体验很差。需要从getDecorView层面入手。重写Dialog,然后加上如下代码: getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutPar

2021-09-06 15:19:09 46

原创 JVM内存管理笔记

郑重声明:本文属于个人学习笔记,严重参考姜新星大佬在拉勾教育平台的《Android工程师进阶34讲》。严重参考警告。星哥如觉不妥,微信我一下哈, 侵删。JVM 的运行时内存结构中一共有两个“栈”和一个“堆”,分别是:Java 虚拟机栈和本地方法栈,以及“GC堆”和方法区(两栈一器,一堆一区)。除此之外还有一个程序计数器,但是我们开发者几乎不会用到这一部分。JVM 内存中只有堆和方法区是线程共享的数据区域,其它区域都是线程私有的。并且程序计数器是唯一一个在 Java 虚拟机规范中没有规定任何 Ou

2021-08-17 20:15:54 35

原创 Leakcanary原理笔记

使用弱引用+引用队列的形式。1、监听Activity生命周期2、在Activity执行onDestory()后,创建一个WeakRefrence,该引用指向Activity,将其放入引用队列RefrenceQueue。3、过一段时间,判断引用是否存在,若存在,过一会儿执行GC,再判断是否存在,若还是存在,该视为内存发生泄漏。4、dump内存信息,分析泄漏原因...

2021-08-14 18:02:21 23

原创 Android split()特殊符号“.”、“|”、“^”等字符

需求:“求职神器|完美简历!”—>[求职神器,完美简历]①只要第一个判断可以进入,即line 138是可用的,但line 139不可用,②将line 142和line 145,再试试。结论:一、split 分割字符时,两种方法:方法①:\转义,单个\也是特殊符号,需要两个\,即split("\|");方法②:如果是在JDK(Java)用split(“|”);如果是ART(Android)中split(“[ | ]”)。二、contains 判断包含:不能加转义 \ 或者 [ ] ,需

2021-08-10 14:44:35 123

原创 Mac版本EndNote基本用法

NoteExpress在Mac上并未覆盖,探索了下Mac版EndNote基本用法:以北京科技大学为例:一、下载安装:1.在校外访问学校VPN:http://n.ustb.edu.cn/。登录个人账号后,点击“电子资源数据导航”进入到学校图书馆。2.点击“工具与软件”—“文献管理软件Endnote X9”—“Mac版下载"3.待下载完成后,直接傻瓜式安装即可。二、导入文献:以知网为例。(哈?你不知道知网?这都天临5年了。点击上个步骤1中红款右侧"知网CNKI"即可。)1.获取文献题目:输入

2021-07-15 15:31:39 2213 4

原创 Endnote 参考文献输出格式

参考文献输出格式Author-YearJournal Article连续出版物中的析出文献(期刊)析出文献主要责任者. 析出文献题名[文献类型标志]. 连续出版物题名: 其他题名信息, 年, 卷(期): 页码.Author. Year. Title[J]. Journal|, Volume|(Issue)|: Pages|.Book专著(书籍)主要责任者. 题名: 其他题名信息[文献类型标志]. 其他责任者. 版本项. 出版地: 出版者, 出版年: 引文页码.Author. Year. Tit

2021-07-15 15:10:54 218

原创 volatile可见性,指令重排

volatile的三大特性:共享变量可见性不保证原子性禁止指令重排后顺序性。CPU高速缓存和可见性问题程序运行时,数据是保存在内存当中的,但是执行程序这个工作却是由CPU完成的。那么当CPU正在执行着任务呢,突然需要用到某个数据,它就会从内存中去读取这个数据,得到了数据之后再继续向下执行任务。这是理论上理想的工作方式。然而实际上,CPU的发展是遵循摩尔定律的,每18个月左右集成电路上晶体管的数量就可以翻一倍,因此CPU的速度只会变得越来越快。但是光CPU快没有用呀,因为CPU再快还是要从内存

2021-05-25 14:35:05 61

原创 ItemDecoration实现stickyHeader效果

/** * 快速选择器章节装饰 */public class FastIndexSectionDecoration extends RecyclerView.ItemDecoration { private Context mContext; private List<FilterBean> mData; private int backgroundColor; private int textColor; private float text.

2021-05-21 12:01:56 29 1

原创 onDraw( )基础

View 三大模块:布局,绘制,触摸反馈绘制 四个层次:①Canvas,②Paint, Canvas辅助(范围剪切和几何变换),绘制顺序(通过绘制方法控制)重写绘制方法:onDraw( )onDraw主体内容的绘制绘制关键:Canvas【 翻译为 画布 但并不载体 就是个绘制工具】 Canvas的绘制方法:drawCircle,drawText等 关键参数Paint 颜料画笔 风格信息: 阴影, 空心,抗锯齿等。 Can...

2021-05-19 16:48:01 34

原创 Mac中Android Studio 意外闪退

背景是这样的,我要做一个自定义view,需要反复调整UI显示,所以我有新建了一个Demo工程,写完运行Demo后,手机卡死了,等我看log时,AS闪退了,WTF?然后我点击“重新打开”,再次闪退。于是我重启了Mac。然而,依然反复闪退。。。下面是崩溃log。跪求路过大神指津。Process: studio [538]Path: /Applications/Android Studio 2.app/Contents/MacOS/stu.

2021-05-08 21:35:37 321

原创 drawText注意事项

自定义View中写文字坑多多 总结一下:drawText()参数中y不是文字左上角坐标,是基线的y坐标;drawText用于单行文字绘制,多行文字可以使用StaticLayout;public class TextItemView extends View { private Paint pointPaint; private TextPaint textPaint; private Context context; private fl...

2021-05-04 14:47:25 71 1

原创 ScrollView中自定义View不显示

public class TextCustomView extends View { public TextCustomView(Context context) { super(context); init(context); } public TextCustomView(Context context, @Nullable AttributeSet attrs) { super(context, attrs);

2021-04-29 17:40:50 126

原创 Mac Excel 自网站(导入网页数据)

昨晚老师在Windows上演示,Excel中导入外部数据(数据-自网站),惊呆了一众小伙伴。回家后试了试自己的Mac WPS 表格,果然没有找到“自网站”。。。所以Mac党,安心放弃吧,看来这种任务根本不适合Mac党,洗洗睡吧。Mac这么贵,竟然干啥啥不行,心里好不甘,打开Mac Excel再试一把吧。结果一把被我把住了。折腾了半天,终于搞定了,贴个流程送给Mac党。以课堂上汽车销量网页数据为准 :http://www.515fa.com/che_23956.html①新建Word,粘贴网

2021-04-29 14:51:04 1136 6

原创 练习:java链表翻转

/** * @description :链表翻转 * Created by @author YongliangWang on 2021/4/2 15:23 */public class DataStructureTest { public static void main(String[] args) { Node n1 = new Node("L"); Node n2 = new Node("I"); Node n3 = new Node(.

2021-04-16 10:39:37 22

原创 Android跨module通信

Android工程业务繁多时,为了聚合业务,通常会根据业务类型拆分成不同的module,例如ChatLibrary,PayLibrary,FaceIdentifyLib等,然后让主工程分别依赖这些子module,方便主工程随时调用子module的信息。但是此时子module并未依赖主工程,自然也无法访问主工程的数据。那么用EventBus事件总线呢?试验过都会被modules间的这道墙所隔离。(EventBus只能用在单module里通信)可以使用boardcast ,这是安卓本身系统带有可以整个系统

2021-02-26 18:59:58 484

翻译 Fragment嵌套坑多多

Android有碎片化的问题,当然本文说的碎片化不是指的系统版本碎片化的问题,而是Fragment组件碎片化的问题。很久之前,在Android 3.1系统发布的时候,Google推出了使用Fragment来更加容易地开发平板和手机应用,虽然Activity还是页面结构的主体,但是却可以在其基础上使用多个Fragment来构建页面,这些Fragment都是有各自的生命周期的。最常见的是列表和详情页面使用Fragment,如果在手机设备上,这个两个一般都是在独立的Activity页面中,但是在平板上这两

2021-02-05 16:52:36 144

原创 《管理信息系统》课程笔记

严正声明:论述题的答案并不唯一,意思描述清楚即可,万不可亦步亦趋的直接完全照搬。如有雷同,害人害己。下文内容包含了笔者自己的理解,并非教材原文,仅供参考。

2020-11-28 21:06:52 315 2

原创 HashMap和LinkedHashMap区别应用

java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMapHashTableLinkedHashMapTreeMapMap主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。 HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;Hash

2020-09-02 20:37:15 122

原创 清空所有Activity

退出APP是需要清空所有Activity, 清空的前提是 需要记录已开启的所有 Activity。在Application.ActivityLifecycleCallbacks的生命周期中调用add和remove操作。public class ActivityStackHelper { private static LinkedHashMap<Class<?>, Activity> activities = new LinkedHashMap<>();

2020-09-02 20:27:40 163

原创 自动点击“请确认是否继续观看”弹窗

Mac电脑:option+command+J (Windows电脑 F12) 右侧会显示控制窗口,然后在窗口内 输入如下代码,点击回车。setInterval(() => { const buttonEle = document.getElementsByClassName('layui-layer-btn0')[0]; if (buttonEle) buttonEle.click();}, 3000)Chrome浏览器 有个视频播放的加速插件:https:.

2020-08-28 15:38:58 2924

原创 TextView不依赖ScrollView也能滚动

String TEXT = "文艺复兴这场文化运动对近代早期欧洲的学术生活造成了深刻的影响。"; StringBuilder sb=new StringBuilder(); for (int i = 0; i < 15; i++) { sb.append(i).append("\n").append(TEXT).append("\n"); } textView.setText(sb.toStrin...

2020-08-21 22:00:42 103

原创 View在GONE时获取宽高

需求:页面有一张card 首次进入该页时 默认展开,之后再次有折叠卡片 第一次进入时 需要折叠,并且折叠时 点击展开按钮可展开。如果进来时就隐藏GONE 展开动画时 如何获知高度呢?方法一: private void initHeight() { tvContent1.setVisibility(View.INVISIBLE); tvContent1.getViewTreeObserver().addOnGlobalLayoutListener(new ViewT

2020-08-21 21:19:57 241

原创 Android 动画ObjectAnimator中height和translationY

动画实现两种方式:ObjectAnimator animator1 = ObjectAnimator.ofFloat(tvContent1, View.TRANSLATION_Y, hFrom, hTo);ObjectAnimator animator1 = ObjectAnimator.ofInt(wrapper, “height”, hFrom, hTo);但是效果完全不同:如下图:public class SecondActivity extends AppCompatActivity

2020-08-21 20:39:12 807

原创 多行TextView后插入图片

public class LabelUtils { /** * @param text 标签内容 * @param textColor 标签颜色 * @return */ public static Drawable fromText(String text, String textColor) { int DP1 = DensityUtil.dip2px(1); Paint paint = new Pain.

2020-08-06 10:07:17 216

原创 Android设计模式之单例模式

一 单例模式介绍及它的使用场景单例模式是应用最广的模式。其实经常使用的图片加载框架ImageLoader的实例创建就是使用了单例模式,因为这个ImageLoader中含有线程池、缓存系统、网络请求,很消耗资源,不应该创建多个对象,这时候就需要用到单例模式。ImageLoader的创建代码如下:ImageLoader.getInstance();// 在自己的Application中创建全局实例.....//getInstance()执行的源码 public static ImageLoader

2020-07-13 22:53:26 455

原创 死锁

2020-06-22 20:00:53 100

原创 操作系统:进程引入线程机制

有的进程 可能需要同时做很多事,传统的进程只能串行执行一系列程序。为此,引入了“线程”机制,来增加并发度。

2020-06-15 19:45:34 178

原创 FragmentPagerAdapter动态增删Fragment不更新

public class ResumePreviewAdapter extends FragmentPagerAdapter { private ArrayList<Fragment> fragments; private String[] tabTitles; public ResumePreviewAdapter(FragmentManager fm, ArrayList<Fragment> fragments, String[] tabTitles)

2020-06-15 14:48:48 374

原创 EditText的焦点监听回调

EditText的焦点问题。需求背景:1.EditText的输入线条 未输入状态时,灰色。2.输入状态时,绿色;3.点击“确定”且 输入格式错误时(包含空),红线提示。一旦重获焦点,变成输入状态的绿色。实现效果如下: /** * 焦点在的时候,输入线条变绿 * * @param isColorFocus */ public AutoEditText setLineColorFocus(boolean isColorFocus) {

2020-05-22 17:51:46 602

原创 Gradle:4.groovy常见Json,xml,file处理

//Bean-->Json Json-->Beandef pList = [new Person(name: 'John', age: 25) , new Person(name: "Max", age: 26)]def json = JsonOutput.toJson(pList)println json//[{"age":25,"name":"Jo...

2020-04-11 17:25:33 256 2

原创 Gradle:3.groovy面向对象

/** * 默认class 属性值 均为public权限 */class Person { String name int age def increaseAge(int d) { age += d }}/** 无论直接.还是调用get/set 最终都是调用get/set */def person = new Person(name...

2020-04-09 23:32:55 75

原创 Gradle:2.groovy常用的三种数据结构

//list 凡是Java中list有的方法 它都有 不再赘述//def list = new ArrayList()//java的定义方式def list = [1, 2, 4, 5]//这个也是ArrayListdef array = [1, 2, 3] as int[]//这是数组,不是listint[] array2 = [1, 2, 3, 4, 5]//数组/** * ...

2020-04-09 22:41:44 113

原创 AndroidStudio常用插件汇总

本文内容全部来自网络,一并感谢。1.GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应java Bean的过程。使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat2.Android ButterKnife Zelezny配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊。...

2020-04-08 15:21:14 2207

原创 (Mac / Windows)Android Studio快捷键

写在前面本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键。 根据这些小技巧的使用场景,本文将这62个小技巧分为常用技巧(1 – 28)、编码技巧(29 – 49)和调试技巧(50 – 62),分成三个部分。常用技巧书签(Bookmarks)**描述:**这是一个很有用的功能,...

2020-04-07 21:05:18 443

原创 Gradle:1.groove导语

groovy:基于JVM敏捷语言;与Java完美结合,可以使用Java所有类库;语法上支持动态类型def,闭包更敏捷,语法糖很多可编程,可脚本//动态类型 随时切换def p = 123p = "blade"p = 12.5p = [3, 6, "hello"]//但是建议自己使用的变量定义弱类型def,对外使用要强类型//强大到可怕case任意类型。有了它,if ...

2020-04-06 22:45:20 133

原创 数据结构与算法:4栈和对列

文章目录栈的特性:后进者先出,先进者后出Java数组实现一个固定大小的栈:支持动态扩容的顺序栈栈的应用:函数调用栈:表达式求值中的栈栈在括号匹配中的应用浏览器前进后退的实现栈的特性:后进者先出,先进者后出栈就像摞在圆筒里的一摞盘子。放盘子的时候,都是从下往上一个一个放;取的时候,我们也是从上往下一个一个地依次取,不能从中间任意抽出。后进者先出,先进者后出,这就是典型的“栈”结构。栈是一种“...

2020-04-05 16:14:25 88

原创 数据结构与算法:3链表

将某个变量赋值给指针,实际上就是将这个变量的地址赋值给指针,或者反过来说,指针中存储了这个变量的内存地址,指向了这个变量,通过指针就能找到这个变量。...

2020-04-05 14:58:59 144 1

原创 数据结构与算法:2.数组

算法:2.数组数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。关键词:线性表,连续内存空间线性表:每个线性表上的数据最多只有前和后两个方向。除了数组,链表、队列、栈等也是线性表结构。而与它相对立的概念是非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。连续的内存空间和相同类型的数据这两个...

2020-04-04 22:54:17 123

原创 数据结构与算法:1.复杂度分析

复杂度分析:数据结构和算法解决的两大问题:快和省。运行快,储存省。复杂度分析是算法学习的精髓:时间复杂度,空间复杂度。事后统计法有很大局限性:测试结果依赖测试环境测试结果受数据规模影响很大。大O复杂度表示法:例1:1 int cal(int n) {2 int sum = 0;3 int i = 1;4 for (; i <= n; ++i) {...

2020-04-04 20:05:37 378

Android弹窗PopuWindowDemo源码

Android弹窗PopuWindowDemo源码,直接输入提示内容字符串和显示时间就行了

2016-05-20

Scrollview中嵌套ViewPager和ListView常出现的问题

Scrollview中嵌套ViewPager和ListView常出现的问题: ViewPager如果在Scrollview中使用,并且宽高指定为match_parent或者wrap_content则不会显示内容,但是如果将高度指定为200dp,则ViewPager则会将内容显示到屏幕上 ListView同ViewPager类似,必须指定固定高度之后,才可以显示相应的高度,否则只显示一个Item的内容高度,然后在ListView区域上下滑动时,Scrollview并没有效果,而是实现的是ListView的上下滚动事件。

2016-03-30

adb的压缩包

旧版adb压缩包

2017-06-24

常用布局颜色

用于常规颜色的配置

2016-03-22

Android弹窗ToastDemo源码

自定义了土司 显示大小 显示时间 显示位置 透明度 圆角与否 显示内容 等

2016-05-20

Spring从入门到精通(高清珍藏版)

Spring 从入门到开发,全书详细介绍了Spring开发的各个技术细节,该资源是高清的pdf版本,是学习Spring不可多得教材。

2018-09-19

微信QQ登录分享-AndroidStudio

适用于微信和QQ第三方登录和分享使用,包含两个jar和指导文章链接。自己代码工具类。

2018-09-25

汉字转换拼音的jar

汉字转换拼音的jar,可用于Android或者java开发中需要汉字转换拼音的场景,pinyin4j-2.5.0.jar,带声调,可更改大小写

2017-09-05

Android:ScrollView中嵌套ViewPager和ListView示例

2016-03-30

iblade的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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