自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 带你走一波Transition Animator转场动画相关事项(一)

动画系列文章带你走一波Android自定义Animator属性动画相关事项(一)一、简述Transition可以简单理解为一个过渡框架方便在开始场景到结束场景(不局限于Activity跟Fragment等页面跳转过程,页面中的控件的变化过程也是场景)设置转场动画(例如,淡入/淡出视图或更改视图尺寸)的一个API。在Andorid 4.4.2引入的Transition框架,Andorid...

2020-03-09 20:37:50 363

原创 Kotlin系列 - 进阶深入泛型协变逆变从java到Kotlin(四)

Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)Kotlin系列 - 函数与类相关细节小结(二)Kotlin系列 - 高阶函数与标准库中的常用函数(三)前言本篇文章从java开始讲泛型,后面再切换到kotlin,重点java的泛型掌握住,koltin的泛型就会很快掌握。(可自行选取节段食用,码字不易看完觉得还可以的,麻烦给赞,本人能力有限,有错误...

2020-03-09 20:34:54 210

原创 面试官问你 - 自定义View跟绘制流程相关知识点??

本篇文章已授权微信公众号guolin_blog(郭霖)独家发布本文用于记录自定义View的基础步骤以及一些基础的信息,后期可能针对具体的点写一些补充性的文章。一 、View中关于四个构造函数参数自定义View中View的构造函数有四个// 主要是在java代码中生命一个View时所调用,没有任何参数,一个空的View对象 public ChildrenView(Contex...

2020-03-09 20:26:21 187

原创 Koltin系列 - 协程从认识到安卓中的使用(五)

前言学习了Kotlin一整个系列了,但是协程这块迟迟没有整理成一篇博文。诶,最近状态有点不对 >_< || 。但是无论如何,一定要加油!!最后一篇要划上个完美点的句号,撒个漂亮点的花。关于协程的一个点在这里跟大家先说一下,协程并非什么很深奥的东西,说白了也是在线程上面的产物,并非凭空产生的一个新的概念。官网讲得可能有点高大上了,不过实际上你就当是它帮我们使用了线程池跟Han...

2020-03-23 20:54:25 492 1

原创 ValueAnimator的源码及插值器估值器相关解读

前言本篇文章从动画的开始到结束,一个流程认识一下动画的源码。解读一下源码中的类的关系。并说明下插值器估值器的关系。问题问题1:动画涉及同时多个动画已经动画数据存储结构。问题2:从开始到结束代码的流程是怎么走的。问题3:插值器跟估值器是什么关系。基础使用mColorAnim = ValueAnimator.ofObject(new ArgbEvaluator(), 0, 0x8000...

2020-03-16 18:30:55 213

原创 Android AOP技术入门之AspectJ初认识到业务实践

一、概念AOP全称呼 Aspect Oriented Programming ,国内大致译作面向切面编程,跟OOP(面向对象编程思想)一样是一种编程思想,两者间相互补充。通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。说人话的讲法可以大致这样说:在一处...

2020-03-09 20:38:48 282

原创 回顾一下Fragment的生命周期源码

本篇文章带读者走一遍源码Fragment的前几个生命周期,看源码其实有画流程图就不会觉得枯燥。但是写文章我个人倒是觉得写这种读源码文章挺枯燥的。。。哈哈哈 (ps:读者您最好就是开一下IDE,看源码跟着这里面的流程走一下,希望对你自己去看源码会有点帮助)Fragment生命周期首先先看一下官网的生命周期图。从上面的图可以明显看出来Activity的生命周期与Fragment是相挂钩...

2020-03-09 20:35:57 194

原创 Kotlin系列 - 高阶函数与标准库中的常用函数(三)

Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)Kotlin系列 - 函数与类相关细节小结(二)1.高阶函数基本概念: 传入或者返回函数的函数函数引用:引用的函数名前加上 ::有以下几种类型:类成员方法引用:类名::成员方法名扩展函数引用:类名::扩展函数名实例函数引用:实例名::成员方法名包级别函数引用:::函数名第一个例子:...

2020-03-09 20:33:03 211

原创 Kotlin系列 - 函数与类相关细节小结(二)

Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)1. 函数继承与实现、复写等父类需要open才可以被继承(kotlin默认为final)父类的方式、属性需要open才可以被覆写接口、接口方法、抽象类默认为open覆写父类(接口)成员需要override关键字注意继承类时,实际上是调用了父类的构造方法类只能单继承,接口可以多实现abs...

2020-03-09 20:31:48 224

原创 Kotlin系列 - 基础类型结构细节小结(一)

前言: 用了kotlin差不多半年时间了,之前是看了中文版的kotlin入门的,后面使用的时候总感觉有些细节的东西并没有很好的理解,专门买了份kotlin的教程,感觉不错,本文也是中途一些细节的整理。1. 成员变量&空类型var 用lateinit延迟初始化,val用lazy延迟初始化类型后面跟?表示可空类型,类型后面不跟?表示不可空类型可空类型使用 :?.表示若为...

2020-03-09 20:30:15 181 1

原创 回顾一下基础之静态代理&动态代理

项目中常用到代理模式,本篇文章带大家回顾一下基本的操作以及动态代理生成的类。1. 定义代理模式: 为其它对象提供代理,带你对象挟持原对象类的引用,也称委托模式。作用:可以在不修改原对象的功能前提下,对原对象在功能进行扩展。(通俗讲就是在当你原对象封装完毕或者你没办法修改,但是有一些增加的新的功能的时候,就可以在代理类上增加 符合“开闭原则”)2. 代理的方式静态代理使...

2020-03-09 20:29:00 79

原创 带你走一波Android自定义Animator属性动画相关事项(一)

一、简介如上图所示:android动画分类大致有两种一种是View动画一种是转场动画。帧动画:将图片一张一张按顺序播放,展现出动画效果。补间动画:实现动画alpha(淡入淡出),translate(位移),scale(缩放大小),rotate(旋转)等效果,一般采用xml文件形式。属性动画:(重点)它是对于对象属性的动画。补间动画的内容,都可以通过属性动画实现。这里我们就不讲帧动画...

2020-03-09 20:28:01 465

原创 Android Jetpack DataBinding入门填坑(三)

Jetpack系列Android Jetpack WorkManager初级认识Android Jetpack ViewModel由浅入深附上官网地址https://developer.android.com/topic/libraries/data-binding/expressions一、DataBinding的定义及作用是一个支持库,使用该库,您可以使用声明性格式而非编程方式将布局...

2019-11-14 21:39:19 326

原创 面试 - handle之详谈Message(2)

面试handler系列:上一篇:面试 - handle使用及原理(1) Message的创建方式面试的时候如果问你Message有几种创建方式 ?Message msg = New Message():这种方式就不用怎么多说 直接就是创建了一个Message对象出来myHander.obtainMessage(); :myHandler是Handler类型的直接使用该...

2019-11-11 15:22:31 236

原创 面试 - handle使用及原理(1)

Handler定义以及作用handler是andorid的一套消息传递机制,用于跨线程通信,主要用于工作线程与主线程间的交互。andorid的UI操作需要在主线程上操作,一般耗时都放到其它的子线程下操作。耗时操作返回的结果在UI线程先的展示需要跨线程通信 这个时候就可以使用handler来通信了Handler使用流程图Handler原理图几个关键的类:Message:数据单元,Me...

2019-11-09 23:32:16 198 1

原创 从ActivityThread到Application的onCreate的流程

跟着源码走一遍Application的onCreate()的创建过程,顺便看看这个过程产生什么对象,做了一些什么事情,对流程有个大概的了解过程。有利于编程的时候出现的一些bug处理,面试的时候关于其中一些问题的提问心里也相对比较靠谱点。从ActivityThread #Main()开始 public static void main(String[] args) { ...

2019-11-07 17:22:41 246

原创 AIDL使用与踩坑部分总结

整理一下AIDL相关的部分信息,也算是总结一下重新回顾一下知识吧~什么是AIDL?AIDL(Android Interface Definition Language) Android接口定义语言 利用它定义客户端与服务均认可的编程接口,以便二者使用进程间通信 (IPC) 进行相互通信。实际上起作用的并不是AIDL文件,而是根据AIDL生成的实例代码,AIDL是安卓替我们设计好的一个模板,根...

2019-11-07 11:40:05 1127

原创 Android Jetpack ViewModel由浅入深

附上官网链接:https://developer.android.google.cn/topic/libraries/architecture/viewmodelViewModel简介该ViewModel类被设计用来存储和管理UI界面相关的数据生命周期中的意识的方式。ViewModel类允许生存数据配置更改,如屏幕旋转。存在的意义 (解决痛点)1. 数据的持久化eg: 当系统销毁或重新...

2019-11-07 11:35:54 183

原创 java内存模型与线程

java内存模型主要目标:是定义程序中的各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出到变量这样的底层细节。(变量是指实例字段 静态字段 构成数组对象的元素,但是不包括局部变量跟方法参数,这两个是线程私有的,不会被共享不存在竞争问题)规则:所有的变量都存储在主内存中。每条线程都存在自己的工作内存,线程中的工作内存中保存了该线程使用到的变量的主内存副本拷贝,线...

2019-11-07 11:34:35 115

原创 Java进阶内存布局与虚拟机内容

java内存区域相关java引用强引用类似 Object o = new Object();这类的引用。只要引用还在,垃圾回收器就不会回收掉被引用的对象。软引用SoftReference类 只有在内存不足的时候JVM才会回收该对象在系统即将发生内存溢出异常之前,会将这些对象列入回收范围。应用场景: java里面一般你可以用于图像的bitmap流,特别是照片很多的时候...

2019-11-07 11:33:28 103

原创 Okhttp(Kotlin版)流程解读

OkHttp是主流的网络请求框架,Android网络请求基本的项目封装也是有Rxjava+Retrofit+Okhttp进行封装,面对Kotlin语法可能也有的同学使用Coroutine+Retrofit+Okhttp进行封装 这篇文章并非将封装 而是对OkHttp源码性进行阅读 对OkHttp进行一步的了解,并且学习里面一些里面的设计思想。源码是最好的老师!本文基于okhttp:4.2.2...

2019-11-07 11:32:04 1343

原创 LinearLayout onMeasure源码阅读

onMeasure()方法解读measureWithLargestChild 作用 : 该属性为true的时候, 所有带权重的子元素都会具有最大子元素的最小尺寸; 且只有当父view布局方向上的宽度或高度为wrap_content才有效 @Override protected void onMeasure(int widthMeasureSpec, int heightMea...

2019-11-07 11:30:45 278

原创 Android Jetpack WorkManager初级认识

Workmanager简介WorkManager是用于使可延期工作入队的库,根据设备API级别和应用程序状态等因素选择适当的方式来运行任务。如果WorkManager在应用程序运行时执行您的任务之一,WorkManager可以在您应用程序进程的新线程中运行您的任务。如果您的应用程序未运行,WorkManager会选择一种合适的方式来安排后台任务 - 具体取决于设备API级别和包含的依赖项,Wor...

2019-10-15 11:58:46 181

原创 Andorid混淆 aar包混淆

(一下内容参照网络博文加上自己的部分填坑。如有侵权,请联系我删除,谢谢!!)app和aar包混淆:android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android....

2019-04-11 10:29:05 2330

转载 http https部分总结

网络分为五个层次:应用层运输层(包含UDP跟TCP协议)网络层数据链路层物理层其中各个层次的作用应用层:支持网络应用,应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。主要的协议有:http、ftp、telnet、smtp、pop3等。运输层:应用进程之间提供到端对端的逻辑通信;可以有两种协议,面向连接的TCP和无连接的UDP;(...

2019-03-15 16:19:39 154

原创 导入多个module出现不同module包含.so文件问题

多个文件包含多个.so文件的情况,此时有时候会报出NDK_PROJECT_PATH=null 这种情况出现 可以查几个方面:有可能是ndk的版本有问题:要更改ndk版本:File—&gt;Project Structure—&gt;SDK Location—&gt;Android NDK location有可能是每个moudle中有不同的.so文件但是里面有些.so文件时存放在arm64-...

2018-11-28 09:58:44 1329

原创 RecyclerView控件布局的match_parent属性失效

在使用RecyclerView控件时发现在item的布局文件中设置宽度为match_parent无效,在Android Studio中预览布局一点问题没有,但是真机运行后发现item的宽度表现为wrap_content,检查过好几遍布局文件,应该是没问题的,所以最可能出现问题的地方应该就是在inflate布局文件的时候,经过测试,发现在实例化布局的时候不能采取如下的方式:View view = ...

2018-11-02 15:22:50 575 1

原创 使用SharedPreference常见bug

,存储时使用SharedPreference.Editor 对象。如果在使用的时候写以下代码:Sharedpreference sp = getSharedPregetSharedPreferences(WeatherInfoProvider._TAG,Context.MODE_PRIVATE);sp.editor.putString("Brief","_Brief");sp.ed...

2018-11-02 15:21:08 581

原创 Andorid Layout视图中发现报错

View视图中发现报错,显示没有某个布局ID时;1 确保有这个布局的存在2 引用这个id必须要比创建这个id在前面前面这两种情况要小心点

2018-11-02 15:20:12 143

原创 使用andorid源生生成pdf的坑

在使用andorid源生的生成pdf时,可以看看官网的使用,很简单的几个功能,并且可以生成对应的页面,暂时不知道要是实现将List的页面全部解出来的 要怎么设定高度(考虑:可以使用计算所有的子空间的高度(未验证))这次碰到最大的坑!!当页面中存在Imagerview的时候,而且你是使用LayoutInflater去反射出Lyaout布局时,在代码中动态紧挨在图片的时候不用使用!!!Gl...

2018-11-02 15:19:20 226

原创 Andorid状态栏标题栏高度的坑

Android中一个布局正常的有状态栏标题栏用户布局处理点击事件来进行对一个View的移动时,记得要把状态栏的高度去掉,还有标题栏的高度去掉(如果主题是没有标题的,则不需要),还有一点Window.ID_ANDROID_CONTENT这个布局包含了状态栏跟标题栏计算状态栏 //获取状态栏的高度 public int getStatusBarHeight() { ...

2018-11-02 15:17:54 761

原创 View布局事项各种坑录 RadioGroup RadioButton TextView ProgressBar

RadioGroup:在RadioGroup如果想把某个指定的RadioButton要将所选项取消,使用RadioButton.setCheck(false),会造成再选的时候出现选不中的问题。解决方案:在RadioGroup中需要选中其中一个RadioButton时,需要采用radioGroup.check(radioButton.getId()); 方式来选中单选按钮(而不...

2018-11-02 15:16:44 261

转载 Android EditText

EditTextEditeText设置它被选中可输入 跟不被选中不可输入的时候。有三个属性处理//设置是否能被点击//这是最重要的,设置不可输入不可点击直接设置这个属性就可以 //大坑 只设置enable就可以了 千万别设置其它的属性类似focusable//会导致再按一次没反应的editText.setEnabled(false);editText.setFocus...

2018-11-02 15:14:28 168

转载 Android刷新页面三个方法区别--自定义View部分方法记录

1. RequestLayout():该方法使用后,控件会重新执行 onMesure() onLayout() .eg: ScrollView中有LinearLaout ,LinearLayout里面有纵向排列的ImageView和TextView,那么假如ImageView的长宽发生了变化,而要立即在手机上显示这个变化的话,就可调用 imageView.requestLayout()...

2018-11-02 15:12:46 1459

原创 设计模式--单例模式

单例模式 :单例模式有好几种写法,作为使用相对最为频繁的模式来说,新手应该会经常碰见!单例模式的主要特征以及关键点:1. 构造函数不对外开放,一般为private;2. 通过一个静态方法或者枚举返回单例类对象;3. 确定单例类有且只有一个,特别是在多线程环境下;4. 确保单例类对象在反序列化的时候不会重新构建对象;单例类会暴露一个公有的静态方法,直接调用该方法进行实例化(唯一对象实例),获取这个单...

2018-03-12 23:00:15 127

原创 adnroid处理在富文本框拿数据中出现的html5的东西

可以直接照普通文本获取过来,然后用 textView.setText(Html.fromHtml(str));处理

2017-03-06 15:47:58 321

原创 lllqtp测试代码

1.利用QTP脚本编写一个获取随机的固定长度字符串函数,函数名为getStr并进行正确调用。Function getStr (inputlength)If IsNumeric(inputlength) Then For i = 1 To inputlength'把希望加入的字符放到数组中A=Array("a","b","c","d","1","2","&","~","!","@

2017-01-09 10:16:35 438

原创 安装Android studio要注意的问题

切记 目录不可以有中文并且不可以有空格首先先安装好jdk 配置好环境变量 最好的话都写在环境变量上面那个框记得在BIOS中设置好 CPU虚拟最后是更新SDK有些重要问题昨天新加载的AndroidStudio,然后因为原来使用eclipse有一些sdk,就把他们移到新的AndroidStudio的Sdk的相应目录下(因为原来Eclipse使用的是非安装版,sdk就在eclip

2016-08-30 16:11:58 423

原创 如何处理eclipse中adb没有服务的问题

问题分析1:关闭eclipse,打开windows任务管理器,查看进程中是否有adb.exe或adb.exe *32。  解决方案1:如果有则关闭该进程,重新启动eclipse即可;  问题分析2:windows任务管理器中就找不到adb.exe或adb.exe *32的进程,可以尝试手动启动adb.exe ;如果手动启动后还找不到adb.exe进程,则  

2016-08-30 16:10:39 768

原创 JAVA线程

1.线程的创建(附带代码块)       1.1实现线程的两个办法        (1)继承Thread类创建多线程(extends)(代码块1)        (2)实现Runnable接口创建多线程(implements)(代码块2)        (代码块1)class dfds {        public static void main(String[] 

2016-08-30 16:09:12 350

空空如也

空空如也

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

TA关注的人

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