- 博客(29)
- 收藏
- 关注
原创 对Activity 切换过渡动画的理解
对Activity 切换过渡动画的理解以自定义主题实现的切换过渡动画为例网上有很多讲Activity的切换过渡动画的,按我一惯的原则是不会重复造轮子,但是深入的看了看网上的大部分文章,都讲得云里雾里 ,让人不明所以,会误导很多人。自定义的动画主题,一般都是4个属性,activityOpenEnterAnimation,activityOpenExitAnimation,activityClo...
2019-08-01 14:10:12 584
转载 ConstraintLayout的可视化布局工具
ConstraintLayout可视化布局工具开始下面我们开始用边学边练的方式来进行学习,首先打开你的Android Studio,并新建一个ConstraintLayoutTest项目。另外,确保你的Android Studio是2.2或以上版本。为了要使用ConstraintLayout,我们需要在app/build.gradle文件中添加ConstraintLayout的依赖,如下所示...
2019-05-17 19:57:47 919
原创 算法(冒泡排序)
冒泡排序冒泡排序是我们在做排序时很容易使用到的一种排序方法,简单的冒泡排序是这样的//从大向小进行排序,即从后向前进行排序 static void SimpleBubbleSort(int arr[]) { int temp = 0; //外部从0--length-1,内部从0到length-1-i,因为内部的比较是比较arr[j]与arr[j+1]的大...
2019-05-17 18:39:47 361
原创 ConstraintLayout约束布局属性
ConstraintLayout属性相对定位layout_constraintLeft_toLeftOflayout_constraintLeft_toRightOflayout_constraintRight_toLeftOflayout_constraintRight_toRightOflayout_constraintTop_toTopOflayout_constraintTo...
2019-05-17 18:39:23 1036
原创 ConstraintLayout约束布局
ConstraintLayout约束布局目录前言为什么用ConstraintLayout如何使用ConstraintLayout添加依赖相对定位角度定位边距居中和偏移尺寸约束链辅助工具OptimizerBarrierGroupPlaceholderGuideline总结前言ConstraintLayout是Google在API9的时候推出的新...
2019-05-17 18:39:03 162090
原创 Kotlin学习笔记
Kotlin学习目录Kotlin语言基础Kotlin流程控制语句Kotlin操作符重载与中缀表示法Kotlin扩展函数和扩展属性Kotlin指针安全Kotlin类型系统Kotlin面向对象编程Kotlin委托Kotlin泛型Kotlin函数式Kotlin与Java互操作Kotlin协程...
2019-05-10 17:56:13 563
原创 Activity
再谈Activity目录生命周期正常生命周期非正常生命周期Activity的启动模式Activity的LaunchModeActivity的FlagsIntentFilter的匹配规则附加生命周期正常的生命周期onCreate()->onStart()->onResume()->onPause()->onStop()->onDe...
2019-05-05 14:24:58 383
原创 序列化
Android序列化之 子类与父类目录Java序列化之SerializableJava语言实现Serializablekotlin语言实现SerializableAndroid序列化之parcelableJava语言实现ParceableKotlin语言实现Parcelable# Java序列化之Serializable注意事项:序列化时,只对对象的状态进行保...
2019-04-15 16:14:38 588
原创 Android中的IPC方式
Android中的IPCBundle四大组件中的三大组件(Activity,Service,Broadcast)都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcelable接口,所以方便在不同进程间传输。基于这一点,当我们在一个进程中启动了另一个进程的Activity、Service和Broadcast,我们就可以在Bundle中附加需要传输的数据并通过Inten...
2019-04-15 16:14:17 403
原创 Binder机制
Binder机制目录Binder是什么Binder通信机制Binder驱动Service ManagerBinder机制跨进程通信流程总结先给出Android中的Binder的工作机制图我们在上一篇文章讲解了AIDL生成的Java文件,我们知道AIDL的实现是依赖与Binder机制的,此篇就简单讲解Binder机制。Binder是什么要说Binder就不得不提到L...
2019-04-15 16:14:00 190
原创 AIDL生成文件的解析
AIDL生成Java文件的解析上一篇说了kotlin如何使用AIDL进行跨进程通信,这篇文章是对上一篇文章的补充和深入,主要研究依赖AIDL生成的Java文件写了什么。先附上之前的实体类文件Personpackage com.example.com.testapplication.bean.kotlinimport android.annotation.SuppressLintimp...
2019-04-10 16:35:01 1290
原创 AIDL生成文件的解析
AIDL生成Java文件的解析上一篇说了kotlin如何使用AIDL进行跨进程通信,这篇文章是对上一篇文章的补充和深入,主要研究依赖AIDL生成的Java文件写了什么。先附上之前的实体类文件Personpackage com.example.com.testapplication.bean.kotlinimport android.annotation.SuppressLintimp...
2019-04-04 14:26:30 339
原创 Android AIDL使用
Android kotlin语言AIDL使用AIDL作为Android的一个IPC工具,可以用于进程间通信,进程间通信不仅是不同应用间也可以是同一个应用的不同进程间。Java语言使用AIDL的文档网上有太多,这里不以Java为例,使用Kotlin为例进行讲解。前言AIDL英文全写为(Android Interface Definition Language)直译为android接口定义语言。...
2019-03-29 14:23:03 1304
原创 分散对齐
TextView分散对齐(左右对齐)今天在做Android TextView实现左右对齐(分散对齐)排版,查了网上的资料,国内大部分都没有深究,有一款可以实现分散对齐的开源对齐TextView还是通过自定义控件重写onDraw方法实现的,达不到我们的要求。但是在一个文章中找到了思路,虽然原文上面的代码效率低,并且无法正常使用,哈哈。本人代码远程连接以下是代码/*** 使用字符串间添加空...
2019-03-22 13:54:55 834
原创 Paint详解
Paint的API大致可以分为4类:颜色 效果 drawText()相关 初始化颜色canvas绘制的内容有三层对颜色的处理1.1基本颜色像素的基本颜色,根据绘制内容的不同而有不同的控制方式,Canvas的颜色填充类方法drawColor/RGB/ARGB()的颜色,是直接写在方法参数里,通过参数来设置的;drawBitmap()的颜色,是直接由Bitmap对象来提供...
2019-03-20 11:22:17 486
原创 ViewPager类源码详解
getItemPosition()判断一项的位置是否改变(如果单项的视图需要改变,必须重写此函数,否则数据源的改变不会反映到Viewpager中)此处以support-compat-27.1.1为标准进行源码分析ViewPager类是单纯作为适配器模式的View存在,拥有适配器模式的View的一般原则,将View的添加与删除交给适配器进行,需要显示的Item的个数与数据源全部由适配器...
2019-03-13 15:23:06 647
原创 Fragment整理
基本概念Fragment,简称碎片,是Android3.0(API 11)提出的,为了兼容低版本,support-V4库中也开发了一套Fragment API,最低兼容Android 1.6Fragment是依赖于Activity的,不能独立存在的 一个Activity中可以有多个Fragment 一个Fragment可以被多个Activity重用 Fragment有自己的声明周期,...
2019-03-13 15:21:54 375
原创 绘制优化工具
Profile GPU RenderingAndroid手机自带的功能,可以大概的观测逻辑处理、命令执行、图片绘制、测量和绘制视图列表、执行onMeasure与onLayout、执行动画、处理输入事件的时间Systrace可以在DDMS、命令行、代码(TraceCompat)中使用Systrace、可以使用Chrome分析Systrace输出的trace.html文件,可以看到各...
2019-03-13 15:19:54 186
原创 注解详解
之前也敲过几次关于注解的代码,但是奈何又忘了,故此写一篇文章来个身体记忆法。作为很多牛逼的AOP框架的重要组成部分,注解被应用的已经不要再多了,现流行的DataBinding,dagger2,EventBus全是AOP理念下的产物,笔者从接触AOP理念到现在已经有了2年的时间,记得第一次是刚毕业在一个牛逼的全栈工程师手下讨生活,当时读书之余问了大牛一句,现在学什么好啊,大牛直接就给我了一个AO...
2019-03-13 15:19:00 214
原创 杀不死的进程
系统广播唤醒应用,比如手机开机,网络切换等 接入第三方SDK唤醒应用,比如接入微信SDK会唤醒微信 免杀白名单,比如360免杀白名单,MIUI系统免杀白名单 全家桶,应用之间互相唤醒,比如百度系,阿里系应用 两个Service互相唤醒(这个就别想了,不靠谱) 使用Timer定时器(一样不靠谱)如上文所说,无论应用怎么挣扎,当处于不可见进程的情况下随时都有可能被杀死。所以使用前台进程是最...
2019-03-13 15:17:31 499
原创 避坑-进攻01
工具(utils) Linkify.addLinks()这个类可以方便的为文本添加超链接 ThumbnailUtils用来处理缩略图相关的操作 TextUtils能胜任绝大多数的字符串处理工作,包括: public static boolean isEmpty(@Nullable CharSequence str)判断字符串非null且非空 public static Ch...
2019-03-13 15:17:02 322
转载 Android安全机制概述
Android安全机制概述1.Android安全机制概述Android是一个权限分离的系统。这是利用Linux已有的权限管理机制,通过为没 一个Application分配不同的uid和gid,从而使得不同的Application之间的私有数据和访问(native以及java层通过这种sandbox机制,都可以)达到隔离的目的。与此同时,Android还在此基础上进行扩展,提供了permis...
2019-03-13 15:15:23 800
原创 Android权限
6.0之前(APi<23)google原生为:只要manifest中注册了权限,用户安装后就默认授予了所声明的权限。中国制造:用户安装应用后可以取消权限的授予解决办法:1.在使用部分权限时进行权限查询,查询所需权限是否仍是授予状态2.进行错误抓取,保证程序活跃,进行错误处理,包括try,catch,检查返回数据6.0之后(API>=23)google原生与中...
2019-03-13 15:14:53 283
转载 正则表达式—基础入门篇
本文目标:30分钟内让你明白正则表达式是什么,并对它又一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程:别被下面哪些复杂的表达式吓到,只要跟着我一步一步来,你会发现正则表达式其实并没用想象中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都不记得,那也是很正常的——我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住80%以...
2019-03-13 14:58:23 269
原创 ViewPager懒加载与Fragment懒加载
#ViewPager懒加载与Fragment懒加载##什么是懒加载懒加载是说白了就是延迟加载,对于数据和UI就是在需要的时候再加载展示给用户,什么是需要的时候对于UI来说就是要展示这个UI给用户的时候,在ViewPager与Fragment结合使用的时候就是在Fragment为当前要展示的界面时就是需要的时候再此也说一下预加载的概念,预加载就是在当前并不需要之后的某个时间需要的加载模式,常用...
2019-03-13 14:48:04 649
原创 Android Xposed模块开发详细讲解
Xposed框架是一款进行Android逆向编程时非常有及时效应的一个框架。只需做好依赖,实现IXposedHookLoadPackage,IXposedHookZygoteInit或者其他IXposedMod的子接口,就可以进行定制,实现各种awesome的功能。具体了解可前往:Xposed官网Xposed Github项目原理在不修改apk的情况下X...
2018-01-11 13:35:45 3614
原创 抓包工具Fidder使用(Android中的抓包日常)
第一步:下载神器Fidder安装,下载链接:百度程序安装:https://www.baidu.com/link?url=6QysnvS071sirtN_WFrDBEmFtlfh6TfFINeajQE7QrZsIbCGtciMte_OpQB52vkO994O0g17s-bZzXuuJmRrKWc-oHgm1Rc3Gg889fwwH0K&wd=&eqid=ed37ade800000cb3000
2018-01-10 15:57:40 683
原创 ANT详解
相信有很多人对构建都存在很多的问题,现在我来给大家介绍一款很好的用于构建的软件ANT。1.构建: 相信很多朋友在网上查一查都会发现很多关于构建内容的解释,在此我们再形象地重复一遍,你把代码从原位置进行编译,拷贝等操作移动到另一位置,当然这说的只是很简单的功能。2.ANT的优势: 跨平台:因为ANT是用Java实现的,所以他可以跨几乎所有平台 使用简单:与同款软件make比较 语法清晰:同样与
2016-11-23 13:37:42 358
原创 Intellij IDEA使用入门
前言 对于java的开发工具笔者一直使用的是Eclipse居多,Eclipse是基于插件开发的开发工具其功能十分的 全面.笔者也觉得Eclipse是一款十分强大的开源工具.不过最近因为工作需要尝试着学习Intellij IDEA。 Intellij IDEA同样是一款很好的开发工具,
2015-10-30 11:49:10 376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人