安卓
未扬帆的小船
学而思,思而学。
世间万物,风云变幻,苍黄翻覆,纵使波谲云诡,但制心一处,便无事不办,天定胜人,人定兮胜天。
展开
-
带你走一波Transition Animator转场动画相关事项(一)
动画系列文章带你走一波Android自定义Animator属性动画相关事项(一)一、简述Transition可以简单理解为一个过渡框架方便在开始场景到结束场景(不局限于Activity跟Fragment等页面跳转过程,页面中的控件的变化过程也是场景)设置转场动画(例如,淡入/淡出视图或更改视图尺寸)的一个API。在Andorid 4.4.2引入的Transition框架,Andorid...原创 2020-03-09 20:37:50 · 458 阅读 · 0 评论 -
回顾一下Fragment的生命周期源码
本篇文章带读者走一遍源码Fragment的前几个生命周期,看源码其实有画流程图就不会觉得枯燥。但是写文章我个人倒是觉得写这种读源码文章挺枯燥的。。。哈哈哈 (ps:读者您最好就是开一下IDE,看源码跟着这里面的流程走一下,希望对你自己去看源码会有点帮助)Fragment生命周期首先先看一下官网的生命周期图。从上面的图可以明显看出来Activity的生命周期与Fragment是相挂钩...原创 2020-03-09 20:35:57 · 219 阅读 · 0 评论 -
Kotlin系列 - 进阶深入泛型协变逆变从java到Kotlin(四)
Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)Kotlin系列 - 函数与类相关细节小结(二)Kotlin系列 - 高阶函数与标准库中的常用函数(三)前言本篇文章从java开始讲泛型,后面再切换到kotlin,重点java的泛型掌握住,koltin的泛型就会很快掌握。(可自行选取节段食用,码字不易看完觉得还可以的,麻烦给赞,本人能力有限,有错误...原创 2020-03-09 20:34:54 · 239 阅读 · 0 评论 -
Kotlin系列 - 高阶函数与标准库中的常用函数(三)
Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)Kotlin系列 - 函数与类相关细节小结(二)1.高阶函数基本概念: 传入或者返回函数的函数函数引用:引用的函数名前加上 ::有以下几种类型:类成员方法引用:类名::成员方法名扩展函数引用:类名::扩展函数名实例函数引用:实例名::成员方法名包级别函数引用:::函数名第一个例子:...原创 2020-03-09 20:33:03 · 245 阅读 · 0 评论 -
Kotlin系列 - 函数与类相关细节小结(二)
Kotlin细节文章笔记整理更新进度:Kotlin系列 - 基础类型结构细节小结(一)1. 函数继承与实现、复写等父类需要open才可以被继承(kotlin默认为final)父类的方式、属性需要open才可以被覆写接口、接口方法、抽象类默认为open覆写父类(接口)成员需要override关键字注意继承类时,实际上是调用了父类的构造方法类只能单继承,接口可以多实现abs...原创 2020-03-09 20:31:48 · 256 阅读 · 0 评论 -
Kotlin系列 - 基础类型结构细节小结(一)
前言: 用了kotlin差不多半年时间了,之前是看了中文版的kotlin入门的,后面使用的时候总感觉有些细节的东西并没有很好的理解,专门买了份kotlin的教程,感觉不错,本文也是中途一些细节的整理。1. 成员变量&空类型var 用lateinit延迟初始化,val用lazy延迟初始化类型后面跟?表示可空类型,类型后面不跟?表示不可空类型可空类型使用 :?.表示若为...原创 2020-03-09 20:30:15 · 203 阅读 · 1 评论 -
回顾一下基础之静态代理&动态代理
项目中常用到代理模式,本篇文章带大家回顾一下基本的操作以及动态代理生成的类。1. 定义代理模式: 为其它对象提供代理,带你对象挟持原对象类的引用,也称委托模式。作用:可以在不修改原对象的功能前提下,对原对象在功能进行扩展。(通俗讲就是在当你原对象封装完毕或者你没办法修改,但是有一些增加的新的功能的时候,就可以在代理类上增加 符合“开闭原则”)2. 代理的方式静态代理使...原创 2020-03-09 20:29:00 · 102 阅读 · 0 评论 -
带你走一波Android自定义Animator属性动画相关事项(一)
一、简介如上图所示:android动画分类大致有两种一种是View动画一种是转场动画。帧动画:将图片一张一张按顺序播放,展现出动画效果。补间动画:实现动画alpha(淡入淡出),translate(位移),scale(缩放大小),rotate(旋转)等效果,一般采用xml文件形式。属性动画:(重点)它是对于对象属性的动画。补间动画的内容,都可以通过属性动画实现。这里我们就不讲帧动画...原创 2020-03-09 20:28:01 · 535 阅读 · 0 评论 -
面试官问你 - 自定义View跟绘制流程相关知识点??
本篇文章已授权微信公众号guolin_blog(郭霖)独家发布本文用于记录自定义View的基础步骤以及一些基础的信息,后期可能针对具体的点写一些补充性的文章。一 、View中关于四个构造函数参数自定义View中View的构造函数有四个// 主要是在java代码中生命一个View时所调用,没有任何参数,一个空的View对象 public ChildrenView(Contex...原创 2020-03-09 20:26:21 · 221 阅读 · 0 评论 -
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 · 366 阅读 · 0 评论 -
面试 - handle之详谈Message(2)
面试handler系列:上一篇:面试 - handle使用及原理(1) Message的创建方式面试的时候如果问你Message有几种创建方式 ?Message msg = New Message():这种方式就不用怎么多说 直接就是创建了一个Message对象出来myHander.obtainMessage(); :myHandler是Handler类型的直接使用该...原创 2019-11-11 15:22:31 · 252 阅读 · 0 评论 -
面试 - handle使用及原理(1)
Handler定义以及作用handler是andorid的一套消息传递机制,用于跨线程通信,主要用于工作线程与主线程间的交互。andorid的UI操作需要在主线程上操作,一般耗时都放到其它的子线程下操作。耗时操作返回的结果在UI线程先的展示需要跨线程通信 这个时候就可以使用handler来通信了Handler使用流程图Handler原理图几个关键的类:Message:数据单元,Me...原创 2019-11-09 23:32:16 · 238 阅读 · 1 评论 -
从ActivityThread到Application的onCreate的流程
跟着源码走一遍Application的onCreate()的创建过程,顺便看看这个过程产生什么对象,做了一些什么事情,对流程有个大概的了解过程。有利于编程的时候出现的一些bug处理,面试的时候关于其中一些问题的提问心里也相对比较靠谱点。从ActivityThread #Main()开始 public static void main(String[] args) { ...原创 2019-11-07 17:22:41 · 276 阅读 · 0 评论 -
AIDL使用与踩坑部分总结
整理一下AIDL相关的部分信息,也算是总结一下重新回顾一下知识吧~什么是AIDL?AIDL(Android Interface Definition Language) Android接口定义语言 利用它定义客户端与服务均认可的编程接口,以便二者使用进程间通信 (IPC) 进行相互通信。实际上起作用的并不是AIDL文件,而是根据AIDL生成的实例代码,AIDL是安卓替我们设计好的一个模板,根...原创 2019-11-07 11:40:05 · 1322 阅读 · 0 评论 -
Android Jetpack ViewModel由浅入深
附上官网链接:https://developer.android.google.cn/topic/libraries/architecture/viewmodelViewModel简介该ViewModel类被设计用来存储和管理UI界面相关的数据生命周期中的意识的方式。ViewModel类允许生存数据配置更改,如屏幕旋转。存在的意义 (解决痛点)1. 数据的持久化eg: 当系统销毁或重新...原创 2019-11-07 11:35:54 · 226 阅读 · 0 评论 -
LinearLayout onMeasure源码阅读
onMeasure()方法解读measureWithLargestChild 作用 : 该属性为true的时候, 所有带权重的子元素都会具有最大子元素的最小尺寸; 且只有当父view布局方向上的宽度或高度为wrap_content才有效 @Override protected void onMeasure(int widthMeasureSpec, int heightMea...原创 2019-11-07 11:30:45 · 303 阅读 · 0 评论 -
Android Jetpack WorkManager初级认识
Workmanager简介WorkManager是用于使可延期工作入队的库,根据设备API级别和应用程序状态等因素选择适当的方式来运行任务。如果WorkManager在应用程序运行时执行您的任务之一,WorkManager可以在您应用程序进程的新线程中运行您的任务。如果您的应用程序未运行,WorkManager会选择一种合适的方式来安排后台任务 - 具体取决于设备API级别和包含的依赖项,Wor...原创 2019-10-15 11:58:46 · 212 阅读 · 0 评论 -
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 · 480 阅读 · 0 评论 -
adnroid处理在富文本框拿数据中出现的html5的东西
可以直接照普通文本获取过来,然后用 textView.setText(Html.fromHtml(str));处理原创 2017-03-06 15:47:58 · 337 阅读 · 0 评论 -
Android刷新页面三个方法区别--自定义View部分方法记录
1. RequestLayout():该方法使用后,控件会重新执行 onMesure() onLayout() .eg: ScrollView中有LinearLaout ,LinearLayout里面有纵向排列的ImageView和TextView,那么假如ImageView的长宽发生了变化,而要立即在手机上显示这个变化的话,就可调用 imageView.requestLayout()...转载 2018-11-02 15:12:46 · 1501 阅读 · 0 评论 -
Android EditText
EditTextEditeText设置它被选中可输入 跟不被选中不可输入的时候。有三个属性处理//设置是否能被点击//这是最重要的,设置不可输入不可点击直接设置这个属性就可以 //大坑 只设置enable就可以了 千万别设置其它的属性类似focusable//会导致再按一次没反应的editText.setEnabled(false);editText.setFocus...转载 2018-11-02 15:14:28 · 198 阅读 · 0 评论 -
View布局事项各种坑录 RadioGroup RadioButton TextView ProgressBar
RadioGroup:在RadioGroup如果想把某个指定的RadioButton要将所选项取消,使用RadioButton.setCheck(false),会造成再选的时候出现选不中的问题。解决方案:在RadioGroup中需要选中其中一个RadioButton时,需要采用radioGroup.check(radioButton.getId()); 方式来选中单选按钮(而不...原创 2018-11-02 15:16:44 · 283 阅读 · 0 评论 -
Andorid状态栏标题栏高度的坑
Android中一个布局正常的有状态栏标题栏用户布局处理点击事件来进行对一个View的移动时,记得要把状态栏的高度去掉,还有标题栏的高度去掉(如果主题是没有标题的,则不需要),还有一点Window.ID_ANDROID_CONTENT这个布局包含了状态栏跟标题栏计算状态栏 //获取状态栏的高度 public int getStatusBarHeight() { ...原创 2018-11-02 15:17:54 · 784 阅读 · 0 评论 -
使用andorid源生生成pdf的坑
在使用andorid源生的生成pdf时,可以看看官网的使用,很简单的几个功能,并且可以生成对应的页面,暂时不知道要是实现将List的页面全部解出来的 要怎么设定高度(考虑:可以使用计算所有的子空间的高度(未验证))这次碰到最大的坑!!当页面中存在Imagerview的时候,而且你是使用LayoutInflater去反射出Lyaout布局时,在代码中动态紧挨在图片的时候不用使用!!!Gl...原创 2018-11-02 15:19:20 · 259 阅读 · 0 评论 -
Andorid Layout视图中发现报错
View视图中发现报错,显示没有某个布局ID时;1 确保有这个布局的存在2 引用这个id必须要比创建这个id在前面前面这两种情况要小心点原创 2018-11-02 15:20:12 · 169 阅读 · 0 评论 -
使用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 · 612 阅读 · 0 评论 -
RecyclerView控件布局的match_parent属性失效
在使用RecyclerView控件时发现在item的布局文件中设置宽度为match_parent无效,在Android Studio中预览布局一点问题没有,但是真机运行后发现item的宽度表现为wrap_content,检查过好几遍布局文件,应该是没问题的,所以最可能出现问题的地方应该就是在inflate布局文件的时候,经过测试,发现在实例化布局的时候不能采取如下的方式:View view = ...原创 2018-11-02 15:22:50 · 622 阅读 · 1 评论 -
导入多个module出现不同module包含.so文件问题
多个文件包含多个.so文件的情况,此时有时候会报出NDK_PROJECT_PATH=null 这种情况出现 可以查几个方面:有可能是ndk的版本有问题:要更改ndk版本:File—>Project Structure—>SDK Location—>Android NDK location有可能是每个moudle中有不同的.so文件但是里面有些.so文件时存放在arm64-...原创 2018-11-28 09:58:44 · 1372 阅读 · 0 评论 -
Andorid混淆 aar包混淆
(一下内容参照网络博文加上自己的部分填坑。如有侵权,请联系我删除,谢谢!!)app和aar包混淆:android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android....原创 2019-04-11 10:29:05 · 2386 阅读 · 0 评论 -
安装Android studio要注意的问题
切记 目录不可以有中文并且不可以有空格首先先安装好jdk 配置好环境变量 最好的话都写在环境变量上面那个框记得在BIOS中设置好 CPU虚拟最后是更新SDK有些重要问题昨天新加载的AndroidStudio,然后因为原来使用eclipse有一些sdk,就把他们移到新的AndroidStudio的Sdk的相应目录下(因为原来Eclipse使用的是非安装版,sdk就在eclip原创 2016-08-30 16:11:58 · 446 阅读 · 0 评论