自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (三)深入理解Java虚拟机-Java类结构与加载

Java类定义Class文件是一组以8位字节为基础的二进制流,各个数据之间紧凑判断 Class文件是一种类似于C语言结构体的伪结构存储数据,伪结构只有两种数据类型:无符号数和表 Class文件本质是一张数据表 class文件格式如图 类加载类加载生命周期: 触发类初始化的几种方式(有且仅有):new,getstatic,putstatic 或 invokesta

2018-01-11 17:28:48 249

原创 (二)深入理解Java虚拟机-Java内存模型与线程

Java内存模型Java内存模型的主要目标是定义程序中各个变量的访问规则,在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节 Java内存模型规定所有的变量都存储在主内存(Main Memory),每条线程还有自己的工作空间(Working Memory) Java内存模型围绕着在并发过程中如何处理 原子性,可见性 和 有序性 3个特征来建立的。 线程的工作内存保持了被该线程

2018-01-10 16:17:23 252

原创 (一)深入理解Java虚拟机-虚拟机内存区域与内存溢出

作为Java开发者,一般可能关注最多的就是堆内存(heap)和栈内存(stack),实际可分为以下几个区域: 方法区(Method Area):与Java堆一样,是各个线程共享内存区域,它存储已被虚拟机加载的类信息 、常量、静态变量、即时编译器编译后的代码等数据。运行时常量池是方法区的一部分。 虚拟机栈(VM Stack): 线程私有的,生命周期与线程相同。每个方法执行的同时都会创建栈帧(S

2017-12-29 11:18:10 268

原创 (三)证明不等式|(e-(1+1/n)^n)|<3/n

证明不等式|e−(1+1n)n|<3n|e-(1+\frac{1}{n})^{n}|<\frac{3}{n}证明: 由(二)证明数列{(1+1/n)^(n+1)}为递减数列可得 e<(1+1n)n+1=(1+1n)n(1+1n)e<(1+\frac{1}{n})^{n+1}=(1+\frac{1}{n})^{n}(1+\frac{1}{n}) 可得e−(1+1n)n<1n(1+1n)ne-(1+

2017-12-08 13:10:11 2536

原创 (一)b^(n+1)-a^(n+1)其中b>a>0可得两个重要不等式

证明不等式(n+1)an(b−a)<bn+1−an+1<(n+1)bn+1(b−a),b>a>0(n+1)a^{n}(b-a)<b^{n+1}-a^{n+1}<(n+1)b^{n+1}(b-a), b>a>0成立证明: bn+1−an+1=(b−a)(bn+bn−1a+...+ban−1+an)b^{n+1}-a^{n+1}=(b-a)(b^n+b^{n-1}a+...+ba^{n-1}+a^n)

2017-12-07 18:43:52 2404 2

原创 (二)证明数列{(1+1/n)^(n+1)}为递减数列,{(1+1/n)^(n)}为递增数列

利用不等式bn+1−an+1>(n+1)an(b−a),b>a>0b^{n+1}-a^{n+1}>(n+1)a^n(b-a) , b>a>0 证明 {(1+1n)n+1}\{{({1+\frac{1}{n}})^{n+1}}\} 为递减数列证明: 由 bn+1−an+1>(n+1)an(b−a)b^{n+1}-a^{n+1}>(n+1)a^n(b-a) 可得 bn+1>[(n+1)(b−a)+

2017-12-07 18:25:30 8054 3

原创 windows上ffmpeg命令+nginx + rtmp实现推流拉流

ffmpeg命令配置 1.下载ffmpeg官网地址:http://ffmpeg.org 找到window系统对应版本下载 2.配置path路径 下载解压完成,在环境变量中添加bin路径: 我这里配置 配置好以后就可以可以执行ffmpeg命令 剩下推流拉流的实现,我这里参考 http://blog.csdn.net/king1425/article/details/72147376

2017-11-24 19:35:58 1890

原创 TextView实现文字水平手动滚动和垂直手动滚动

TextView在android基础组件中是非常强大的存在,包括我们常用的EditText和Button都是它的子类,本文主要是记录TextView实现水平和处置滑动,注意不是自动滚动,是我们手动滚动 当然有人会说我们之间嵌套在ScrollView里就可以,为什么还要那么复杂,如果我们只是想要这一段文字实现水平或者垂直滚动,而加上ScrollView的嵌套,是不是太浪费了呢 接下来就到本文重点,

2017-11-01 16:28:26 803

原创 CoordinatorLayout使用详解之自定义Behavior

这里接着第一篇基础,本篇主要将如何自定义Behavior 如果还没看过基础篇,可以先看上一篇地址: http://blog.csdn.net/qq_24641847/article/details/78235966 如果要实现如高德地图或者饿了么相关界面效果,必须要自定Behavior 自定义Behavior第一步继承CoordinatorLayout.Behavior<V extends

2017-10-26 18:13:57 753

原创 ClipboardManager实现支付宝推荐微信QQ好友复制文字启动支付宝弹出提示框实现

由于腾讯与阿里两大巨头的对立,造成我们无法直接分享淘宝或者支付宝相关内容到QQ或者微信 本篇文章着重分享阿里是怎么实现曲线救国,实现分享的呢 目前阿里系分享到QQ或则微信主要有下列两种方式分享图片分享文字图片分享主要是截屏保存图片分享 而文字分享主要是分享特定字符包含的文字 虽然腾讯在不停更新,想要阻止特定图片和文字分享,但是阿里也不敢示弱,不停的更新分享内容,作为吃瓜群众一边分享一遍

2017-10-16 17:45:52 1185

原创 CoordinatorLayout使用详解基础篇

本篇主要分享CoordinatorLayout使用,在使用之前先看几张张效果图如果想要体验APP效果,可扫码下载APP体验 APP实现的微信和QQ自动抢红包功能在我之前的blog有详细分析 ,以及7.0以后自动抢红包失效问题CoordinatorLayout使用解析,大神路过,感谢能帮忙指正描述不正确的地方,如果你还是新手,本篇文章非常适合你来学习效果图一实现了上滑一定距离显示toobar

2017-10-14 18:26:21 867

原创 安卓bundle传递序列化对象RuntimeException: Parcel android.os.Parcel@8325970: Unmarshalling unknown type code

在后台看着部分机型出现这样一个异常,真实坑啊,异常日志如下:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ttarfall.demo/.modules.intel.SecondActivity}: java.lang.RuntimeException: Parcel android.os.Parcel@8

2017-09-20 18:35:42 8193 2

原创 android应用开发中收集的异常日志解决方法记录

这里主要是列出开发中收集的一些错误日志,以及解决方案,仅供参考,也有待解决的问题 1, ListView 中出现java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0at java.util.Arra

2017-09-19 16:27:59 3377

原创 一款简洁可自定义样式密码框输入组件GridPasswordView

通过继承TextView自定义实现的一款密码输入组件GridPasswordView,先上效果图: 动态效果图: 这里我根据自己经验做了样式定义与适配适配:对于一些需求要求每个密码框式正方形也做了适配支持定义密码框长度,密码可以明文或者密码显示根据android的inputType类型来确认增加闪动光标,可自定义样式只需要在xml中定义显示样式就可以:<com.ttarfall.gri

2017-09-18 10:17:27 2053 1

原创 在Mac和Window上配置android自动打包

配置自动打包脚本,首先就是要配置gradle命令,这里你假设已经有了android开发环境。Window上配置gradle: 选中计算机=》右键属性=》高级系统设置=》高级=》环境变量=》系统环境变量;找到path;在最后跟添加你的gradle的bin路径: 我这里gradle的路径:C:\Users\Administrator\.gradle\wrapper\dists\gradle-3.3-

2017-09-13 16:13:22 3233 9

原创 android中代码解析drawable的xml文件

本次主要分析我们在项目中解析自定义drawabale.xml文件是怎么转化为Drawable对象 映射关系如下:drawable path =》VectorDrawabledrawable color =》 ColorDrawabledrawable sharp =》 ShapeDrawable这些是最基本的映射关系,当然还有其他映射Drawable,比如: BitmapDr

2017-09-08 18:47:18 1435

原创 AccessibilityService新增gesturedescription使用详解,7.0模拟手势抢红包核心代码分析

目前市面上大部分抢微信红包外挂的都失效了,最关键的原因就是在7.0我们再通过findAccessibilityNodeInfosByText或者findAccessibilityNodeInfosByViewId来拿View已经不行了,主要是系统已经换了新的方式实现,这就是本次要分享的内容,虽然我们拿不到View,但是我们可以通过模拟手势,一样可以实现点击拆红包 下边就开始一步一步解析 首先是d

2017-08-29 17:45:31 23872 30

原创 kotlin使用com.alibaba.fastjson.JSONException: default constructor not found

使用kotlin,在用fastjson来解析json数据时,出现这个错误 目前fastjson最新版本是1.1.62,不过还不稳定,出现这个问题建议使用1.1.61 github地址:https://github.com/ttarfall/fastjson 目前这个错误在使用kotlin的data数据类和普通数据类都会有问题解决方法: - 使用1.1.61稳定版 - 使用 普通数据类 并且

2017-08-26 16:09:42 9469 3

原创 Kotlin通过Id操作View,Adapter和动态加载Xml文件也可以类似操作

如果使用kotlin,什么butterknife绑定,Xutil注解都不需要,只需要通过id就可以操作view,非常方便,但是在使用的过程中还是遇到两个值得记录的问题如下:针对adapter中通过id来操作针对动态加载布局通过id来操作其实两者本质上是一样的,都是通过view访问Id来操作,具体是由kotlin来绑定 上代码一步一步来解析 首页想要用id来操作别,我们的builde文件要加

2017-08-18 19:10:57 3852

原创 Kotlin实现RadioFlexboxGroup组件

如果使用过RadioGroup组件都是在,这个有很大的局限性,基本上设计师稿子一出来你就知道要自定义才可以实现的这些效果。 如果使用FlexBoxLayout就知道,这个东西太好用了,如果还没使用过,不妨参考http://www.oschina.net/news/73442/google-flexbox-layout 这里我结合RadioGroup实现的单选效果加上FlexBoxLayout,简

2017-08-18 10:34:27 855

原创 使用RxJava实现PullScrollView,PullListView, PullGridView 等进入自动下拉刷新

记得之前使用postDelayed,判断getHeaderSize是否为0来确定是否调用下拉刷新方法,详细可看我的另外一篇文章 但是其中有一个缺陷就是必须继承重新添加,如果所有的下拉刷新都加上这个处理的话,就需要额外写不少代码,现在我们抽出一个工具类,使用RxJava来实现, 核心代码:public class PullToRefreshUtil { public static void

2017-08-16 15:46:08 314

原创 金额刻度尺Ruler

Ruler GitHub 下载地址 在GitHub看过一些实现,发现大部分都是使用ScrollView实现,没有重复复用刻度,如果刻度值很大,就可能引起OOM,所有我这里实用的是自定义View,实现刻度值复用 效果图: 这里主要是自定义View实现刻度共用 刻度滚动动画:ValueAnimator 可实现自定义刻度值样式 实例代码: rulerView.addOnCurrentUnitT

2017-08-15 11:50:55 755

原创 Kotlin学习笔记之单例创建

Java创建单例核心代码:public static CommonHttp getInstance() { if (commonHttp == null) { synchronized (CommonHttp.class) { if (commonHttp == null) commonH

2017-07-13 16:16:24 412

原创 使用Android的draw9patch制作点9图

这里只是做笔记记录自己制作点9图过程。点9图在Android中使用还是很广泛的。这里以一个类似于微信的聊天框为例展开。 1.找到本地的draw9patch工具2.启动(界面如图)3.制作点9图 将要执做的PNG图片拖入进来,当然也可以通过文件菜单打开 打开以后,点击边缘回执黑色区域,可按shift键删除鼠标点击黑色区域删除,详细标记如图最后ctrl+s保存就可以啦!!!

2016-10-24 17:24:54 383

原创 利用辅助服务AccessibilityService实现微信自动抢红包

利用辅助服务实现微信自动抢红包,其实原理很简单:就是模拟点击操作。这里记录下来,方便以后查询。 实现大致思路:检测微信红包打开聊天界面,找到红包拆红包 (当然其中有很多细节需要去优化,这里列出基本方法)1.检测红包 这里是通过AccessibilityEvent事件来检测,关于AccessibilityEvent的详细使用情况,我会在后边的blog中持续更新。这里主要检测3种事件。

2016-10-17 10:15:55 796 1

原创 初识Android MVP模式

接触Android MVP模式在好早之前,一直也没有在项目中真正的实用。刚好有一个机会需要自己去做项目,然后就用上MVP。MVP用起来还是很方便,整个项目结构非常清晰,相比于传统的MVC模式,MVP清晰分工,有太多有点了。这些其实是需要在实用以后才能体会到的,尤其是当项目很复杂的时候。一、MVP介绍 在MVP模式里通常包含4个要素:View:负责绘制UI元素、与用户进行交互(在Android中体

2016-10-10 17:36:19 1022 1

原创 判断AccessibilityService服务是否已经启动

我们在使用Android的AccessibilityService服务的时候,常常是需要判断服务是否已经启动,这样可以实时给用户提示,这里列出代码仅仅做记录参考: /** * 判断AccessibilityService服务是否已经启动 * @param context * @param name * @return */ public st

2016-09-17 14:37:03 5455

原创 Android Studio运行第一个NDK程序

最近不是特别的忙,有空就研究了一下NDK开发。学习的过程中还是踩了挺多坑的。这里笔迹仅作记录学习历程。当然运行的第一个NDK程序,建议参考这遍文章,写的还是很详细的。链接http://blog.csdn.net/yanbober/article/details/45309049我这里只记录一些坑要注意的地方:编译头文件路径注意要写自己的文件路径jni文件要放在main目录下widow环境下执行报

2016-08-16 11:40:01 378

原创 关于Android4.4以后沉浸式自定义状态栏实现

作为Android开发,在解决4.4沉浸式状态栏遇到挺多问题的,这里列出我自己的解决方案,仅供参考。 首先是主题的配置: 默认主题 styles配置:<style name="AppTheme" parent="android:Theme.Light"> <item name="windowNoTitle">true</item> <!-- Customize y

2016-08-04 15:38:29 613

原创 SwipeRefreshLoadLayout + RecyclerView 实现下列刷新,上拉加载

使用过 SwipeRefreshLayout 的都知道,这个控件谷歌只添加下拉刷新,如果需要上拉加载,就需要自己去实现,这里是结合RecyclerView添加了上拉加载功能,列出代码仅供参考。这里是SwipeRefreshLoadLayout源码:/** * @author ttarfall * @date 2016-03-25 12:32 */public class SwipeRefre

2016-06-17 15:23:59 645

原创 ListView+自定义FlowPathView实现流程图

在做这样一个流程的时候,发现通过Android控件比较难实现理想效果,这边通过自定义FlowPathView + ListView 实现,效果如图 详细源码见

2015-12-28 17:25:58 505

原创 TextView自动缩放字体-AutoTextView

我们在使用的时候,尤其是字体过大,又不想换行,那么自动缩放字体大小就是比较好的选择了。这边贴出相关代码以做记录。/** * Created by ttarfall on 2015/10/30. */import android.content.Context; import android.content.res.TypedArray; import android.graphics.C

2015-12-25 15:30:36 1988

原创 ViewPager 实现无限滑动

ViewPager实现无线滑动主要是对Adapter的改造,这边贴代码,其实这个不算会上无限滑动,主要是是设置Adapter的数据数量无限大。但是有一点需要注意,ViewPager默认预加载1个视图,如果要实现无限左右滑动,最好有三个视图进行切换,否则效果就不理想,也就是视图界面数量大于等于3才是比较理想的效果。代码记录如下: import android.support.v4.view.Page

2015-12-25 15:21:19 386

原创 获取接口的泛型类型

/* 获取接口的泛型类型 / public static Class

2015-11-09 16:19:34 643

原创 Android TextView 状态切换时变化文字颜色

在看这个问题的时候,查过一些资料都是的不准确,这里总结一下。主要对按下字体颜色变化,释放字体颜色还原,其他情况做法类似。网上说设置clickab这里写代码片le为true,焦点为true都不太靠谱。其实只需要配置好,一切问题都解决了。废话不多是,直接上代码。

2015-08-20 16:04:09 2680

原创 PullScrollView,PullListView, PullGridView 等进入自动下拉刷新

PullScrollView,PullListView, PullGridView 等进入自动下拉刷新 关于这个问题,开始我查过资料发现都不是很理想,下边通过自己研究整理出一个解决方案供参考,如有更好的方法欢迎交流指正。 其实PullScrollView,PullListView,PullGridView等下拉自动刷新都是类似的,下边就以PullScrollView为例说明,废话

2015-07-13 17:06:27 671

转载 GitHub 优秀的 Android 开源项目

http://www.apkbus.com/android-233953-1-1.html

2015-02-13 16:35:06 367

空空如也

空空如也

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

TA关注的人

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