自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iostyle 的博客

https://github.com/iostyle 沉默寡言 若有所思

  • 博客(79)

原创 不借助任何第三方图像识别,靠着自己的思路一步一步实现魔方图像识别

某个群里提出一个问题,关于魔方识别,众说纷纭,我提出了我的想法但不被别人所认同,于是 无言 搞起。首先是刷刷刷 最开始的思路后来做了些调整 拍照截取的图片直接转bitmap 视图部分不说了 bitmap获取9个坐标 即像素点 获取RGB值 识别颜色颜色值只是参考 考虑到像素、光线、魔方等因素的干扰可以进行优化写了几个小时 orz  于是https://g

2017-07-17 12:35:24 1452 2

原创 ※教你如何将自己的项目可作为别人的依赖compile

在开发过程中,我们可能会添加很多依赖来帮助自己快速开发,是不是每次都感觉特别爽快?感觉依赖的都是大牛,真厉害!只要你不断地努力,总有一天你也会变成大牛,那么我们今天就来学习一下如何将自己的项目生成依赖,并且帮你绕过所有的坑!!首先生成依赖这个问题你在网上搜 大致会搜出来如下:================================================

2017-06-29 17:10:57 1269

原创 Android Dialog 控制弹窗展示顺序/有序弹出 (多线程连续触发器)

安利一个多线程连续触发器的框架,项目地址ContinuousTrigger用于按序执行一系列任务,可随时绑定(如接口返回),可对每个步骤设置超时响应时间。使用起来非常简单,首先注册任务ContinuousTrigger.Builder().with() 传入Trigger对象并定义好ID(支持链式)然后任意一个任务准备好(如接口数据已经返回成功)后,通过attch方法传入ID...

2020-04-13 17:50:53 912

原创 macOS如何像windows一样去编写类似bat一样的批处理文件

在新公司使用了近两个月的windows开发,那是真的难受~~下周准备带自己的笔记本去上班,闲话少叙日常开发过程中,经常会用到一些adb的指令 比如从手机存储中pull一个log文件到pc,虽然代码不多,但毕竟懒才是推动程序员进步的源泉,我将cmd指令 adb pull /sdcard/xx.log D:/Temp/ 写成批处理文件 @echo off    IF EXIST C:\Us

2018-02-05 01:21:31 6399

原创 关于RecyclerView.setOnClickListener(..)无效的解决方案

直接留干货了setOnClickListener()是父类的方法,RecyclerView重写了onTouch事件没有去理会父类的Listener,导致OnClickListener失效,解决方法是:gestureDetector = new GestureDetector(getContext(), new GestureDetector.OnGestureListener()

2018-02-02 14:56:41 5168 1

转载 lambda

Java 8 lambda表达式示例我个人对Java 8发布非常激动,尤其是lambda表达式和流API。越来越多的了解它们,我能写出更干净的代码。虽然一开始并不是这样。第一次看到用lambda表达式写出来的Java代码时,我对这种神秘的语法感到非常失望,认为它们把Java搞得不可读,但我错了。花了一天时间做了一些lambda表达式和流API示例的练习后,我开心的看到了更清晰的Java代码

2018-01-31 11:18:13 209

原创 我的Github更名了~

https://github.com/iostyle博客中提到的项目地址需要更换后访问

2017-12-28 15:02:11 249

转载 分享一篇对于Socket解释很详细的文章

前言Socket的使用在 Android网络编程中非常重要今天我将带大家全面了解 Socket 及 其使用方法 目录1.网络基础1.1 计算机网络分层计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用层其中:网络层:负责根据IP找到目的地址的主机运输层:通过端口把数据传到目的主机的目的进程,来实现进程与进

2017-12-14 00:05:57 874

原创 SkyTabView V0.2.0 更新内容

书接上文:http://blog.csdn.net/lty406910111/article/details/73883255 神秘地址:https://github.com/ITDreamSKY/SkyTabView SkyTabView Sample How to use repositories { ... ma

2017-12-10 23:19:43 164

原创 [持续更新]带你一步一步学习Android热修复技术

好久没有更新博客,本来是打算把博客搬家到简书的,后来因为一些原因没有如愿。我把在简书上写的一篇文章搬回来了23333一、Dexjava → classjavac Hello.javaclass → dexdx --dex --output Hello.dex Hello.classadb adb push Hello.

2017-11-26 19:01:14 170

转载 Gitlab配置ssh连接

ssh公钥登录一般在管理远程主机时,都用ssh登录,ssh user@host,但是这样每次会使用密码。 使用ssh-keygen生成的密钥对,然后将公钥添加的目标主机的~/.ssh/authorized_keys文件中,当前主机就成为可信任的主机,下次使用ssh登录时,就不用输入密码了。Gitlab,Github都支持这种方式的连接,具体操作步骤如下:第一步:生成密钥

2017-09-28 23:22:51 771

转载 apk反编译

第一步,准备工作。将apktool目录下的三个文件(aapt、apktool、apktool.jar)复制到/usr/local/bin目录下,这样就已经配置好环境变量了,在终端中使用 apktool 命令查看是否成功,这里用的是目前最新的2.1.1版,如下图。复制文件使用的是2.1.1版       第二步,反编译资源文件。任意下载一个安卓App(这里以meiliji

2017-09-18 14:28:22 539 1

转载 强力推荐!那些你不能错过的 GitHub 插件和工具

强力推荐!那些你不能错过的 GitHub 插件和工具以代码托管平台起家的 GitHub 网站,已然成为全球程序员工作和生活中不可或缺的一份子。从优秀的企业,到优秀的程序员,都将自己最优秀的代码作品存放在这片开源净土里,供彼此学习交流。GitHub Trending 栏目甚至已经成为 IT 从业人员的新闻日报,每日必读。在之前的一篇文章中,我也有讲到 GitHub 对于我们程序员个人的重

2017-09-06 19:29:56 159

原创 Double类型运算

import java.math.BigDecimal;/** * Created by liutianyu on 17/9/6. */public class DoubleUtil { private static final int DEF_DIV_SCALE = 10; /** * * 两个Double数相加 * * * @par

2017-09-06 19:25:00 465

原创 JS交互示例

Android中可以使用WebView加载网页,同时android端的Java代码可以与网页上的JavaScript代码之间相互调用。效果图:(一)Android部分:布局代码:[html] view plaincopyLinearLayout xmlns:android="http://schemas.android.com/a

2017-09-05 16:20:00 303

转载 Java的四种引用方式

——面试不只是问,还要讲,既然要讲,就别讲错了。。于是有了这篇转载java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。java对象的引用包括  强引用,软引用,弱引用,虚引用Java中提供这四种引用类型主要有两个目的:第一是可以让程序员通过代码的方式决定某些对象的生命周期;第二是有利于J

2017-09-04 23:04:11 306

转载 Android数据绑定框架DataBinding,堪称解决界面逻辑的黑科技

去年谷歌 I/O大会上介绍了一个非常厉害的新框架DataBinding, 数据绑定框架给我们带来了很大的方便,以前我们可能需要在每个Activity里写很多的findViewById,不仅麻烦,还增加了代码的耦合性,如果我们使用DataBinding,就可以抛弃那么多的findViewById,省时省力。说到这里,其实网上也有很多快速的注解框架,但是注解框架与DataBinding想比还是不好用,

2017-08-28 17:07:28 266

原创 跳转应用商店 对应页面

Uri uri = Uri.parse("market://details?id="+getPackageName());Intent intent = new Intent(Intent.ACTION_VIEW,uri);

2017-08-25 11:00:04 438

转载 【光能使者】!!!

今天要分享的是PathMeasure的玩法。首先我们来回顾一下童年吧~~90后满满的记忆光能使者小时候总是幻想着自己能变身,今天我们就来用代码实现变身的第一步吧,动画绘制一个魔法阵magic_circle~~magic_circle.jpg静态图片比较容易,我们用 Path 设置好路径,然后再 canvas.drawPath 即可,但是静态的也太 low 了一点

2017-08-23 18:49:00 1117

原创 弃用growingio后产生的问题解决

当你弃用growingio后会出现这样的错误java.lang.NoClassDefFoundError: Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAgent;不用害怕,这是因为growingio污染了你的V4包,找到你项目对应的V4包将其替换掉即可。

2017-08-17 18:54:51 2761 1

转载 涨姿势了,蜻蜓FM源码剖析

蜻蜓FM是一款音频app,最近我反编译了他的源代码,主要原因是最近有篇文章: 不过蜻蜓FM大量的删帖很多已经死链了,太无耻!还活着的链接:蜻蜓造假黑科技新闻充满着好奇,黑科技是怎样做到的呢??蜻蜓FM是如何提高DAU,欺骗友盟,talkingdata摘要看了蜻蜓FM的源代码,先总结一下它整个的工作原理:后台偷偷启动进程,开到让用户电量飞奔的最大限度,使得神蜻蜓F

2017-08-10 18:56:33 1123

转载 Android 下拉刷新库,这一个就够了!

阅读文本大概需要 2.6 分钟。今天给大家推荐一款 Android 平台的下拉刷新库 SmartRefreshLayout,而且是今天在 GitHub 刚开源的,还热乎着呢,之所以给大家推荐,一是我们在实际的开发中,下拉刷新是非常常见的一种交互,但是即使很常见,如果能做的更有意思点,对用户来说体验会更好,二是这个下拉刷新库,不止强大,还非常「智能」,他不只是如其他的刷新布局所说的支持所有的

2017-08-10 17:14:26 328

转载 Android 开发进阶:自定义 View 1-3 文字的绘制

这期是 HenCoder 自定义绘制的第三期:文字的绘制。之前的内容在这里:HenCoder Android 开发进阶 自定义 View 1-1 绘制基础HenCoder Android 开发进阶 自定义 View 1-2 Paint 详解如果你没听说过 HenCoder,可以先看看这个:HenCoder:给高级 Android 工程师的进阶手册简介上期

2017-08-01 11:38:25 431

原创 监听界面左右滑动

private GestureDetector gestureDetector;gestureDetector = new GestureDetector(this,onGestureListener); private GestureDetector.OnGestureListener onGestureListener = new Gest

2017-08-01 11:34:02 354

转载 凯哥 - 自定义 View 1-2 Paint 详解

这期是 HenCoder 自定义绘制的第二期: Paint。如果你没看过第一期,可以先去看一下第一期:HenCoder Android 开发进阶:自定义 View 1-1 绘制基础简介上一期我已经简单说过, Canvas 的 drawXXX() 方法配合 Paint 的几个常用方法可以实现最常见的绘制需求;而如果你只会基本的绘制, Paint 的完全功能的掌

2017-07-25 23:20:12 500 1

转载 ArrayList在多线程调用Add()添加元素时的下标越界问题(java.lang.ArrayIndexOutOfBoundsException)

最近在看《实战Java虚拟机》一书,看到有关锁与并发章节时,看到如下一个多线程使用ArrayList的例子:       两个线程t1和t2同时向numberList中添加数据,由于ArrayList是线程不安全的,因此会导致添加的数据有错误,这个我还是能理解的,但是它报的确是如下错误:       我就有点理解不了了,ArrayList不是自动

2017-07-12 10:43:45 395

转载 [干货]凯哥最新文章-巩固自定义View知识

从今天开始,HenCoder 就正式开讲知识技能了。按照我的计划,第一季是 UI,UI 一共分为三部分:绘制、布局和触摸反馈。本期是绘制部分的第一期。绘制大概会用 5~6 期的时间讲完,整个 UI 的绘制、布局和触摸反馈三部分大概会用十来期。更新频率大约为每周一更(不承诺哟)。如果你不知道 HenCoder 是什么,可以先看这里:HenCoder:给高级 Android 工程师

2017-07-12 09:18:18 641 1

原创 动手去实现一个页面切换TabView

首先上效果图颜色切换就不提了,首先考虑两侧按钮的圆角,左侧应是左上、左下圆角,右侧反之,于是左侧Shape文件中<corners android:bottomLeftRadius="5dp" android:bottomRightRadius="0dp" android:topLeftRadius="5dp" android:

2017-06-29 11:38:20 504 1

翻译 RxAndroid教程

原文链接:https://github.com/xitu/gold-miner/blob/master/TODO/rxandroid-tutorial.md面向初学者的一篇翻译友好的 RxJava / RxAndroid 入门教程。 —— 由Jamweak分享原文地址:RxAndroid Tutorial原文作者:Artem Kholodnyi译文出自:掘金翻译计划

2017-06-26 15:40:32 3545 1

原创 一个用了很久的网站,很全面

http://www.androiddevtools.cn/

2017-06-21 11:38:05 181

原创 Spinner下拉位置处理

在xml中android:overlapAnchor="false"android:spinnerMode="dropdown"

2017-06-16 15:55:33 4074 1

转载 Android开源库V - Layout:淘宝、天猫都在用的UI框架,赶紧用起来吧!

前言V- Layout 是阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用让人激动的是,在上个月V- Layout终于在Github上开源! Github - alibaba - vlayout在五一假期我对V- Layout进行了详细分析,我将献上一份 V- Layout的使用攻略

2017-06-16 09:34:43 1015

转载 Android中子线程真的不能更新UI吗?

Android的UI访问是没有加锁的,这样在多个线程访问UI是不安全的。所以Android中规定只能在UI线程中访问UI。但是有没有极端的情况?使得我们在子线程中访问UI也可以使程序跑起来呢?接下来我们用一个例子去证实一下。新建一个工程,activity_main.xml布局如下所示:RelativeLayout xmlns:android="http://schemas.a

2017-06-15 10:30:21 204

转载 android学习----overridePendingTransition参数讲解

大众的知识点:      1、Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画            2、在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition。            3、这里需要特别说明的是,关于overridePendingTransit

2017-06-14 11:50:36 194

转载 Android 1分钟教你打造酷炫的引导页(实现ViewPager淡入淡出切换)

转自http://blog.csdn.net/qq_22770457/article/details/52133288纯手工自制的Android引导页,实现了Viewpager切换的淡入淡出(页面不移动!)切换以及文字动画。下面是效果演示:实现思路+心路历程...:其实别的都还蛮简单的,就是这个ViewPager的淡入淡出切换动画比较棘手,以前都没有做过

2017-06-07 14:12:15 1688

转载 Kotlin的那些事儿

最近Kotlin可谓是大火,谷歌影响力还是不容小觑的。苦逼的程序猿们是不是该学一波Kotlin了呢?下面放一些在网上收集的十分简洁的干货Kotlin 基本语法先说个学习Kotlin语法的小窍门,将代码用Java写好,然后Code/Conver Java File to Kotlin File转换成Kotlin代码,或者将Java代码复制到Kotlin文件会提

2017-05-22 14:51:19 900

转载 解决Android 5.0以上版本Button自带阴影效果的方法

今天跟UI对界面,发现一个按钮使用系统自带的button会自动有一个阴影。然而在4.x上却没有这个问题。直觉就是因为MD导致的Android版本差异。 果断Google,在stackoverflow上找到了解决方案。 http://stackoverflow.com/questions/28756035/how-to-remove-button-shadow-android 关键一条代

2017-05-15 09:57:11 551

原创 密码框输入的显示和隐藏切换

显示etInputPassWord.setTransformationMethod(HideReturnsTransformationMethod.getInstance());隐藏etInputPassWord.setTransformationMethod(PasswordTransformationMethod.getInstance());

2017-05-10 16:57:50 608

原创 PtrManager 帮你省掉所有的复杂代码

五月份还没有更新博客呢,今天写了一个PtrManager,分享一下/** * Created by Sky on 2017/5/10 0010. * * PtrManager用作更新Ptr中的数据,及对Refresh、LoadMore状态的还原 * 需要传入一个初始化好的adapter * 如果需要onItemClickListener需要提前使用adapter.setO

2017-05-10 16:56:01 262 1

原创 解决ScrollView嵌套RecyclerView后失去惯性问题

创建一个新的ScrollView如下class MyScrollview extends ScrollView { private int downX; private int downY; private int mTouchSlop; public MyScrollview(Context context) { super(

2017-04-28 09:33:22 975

空空如也

空空如也

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