iostyle 的博客

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

排序:
默认
按更新时间
按访问量

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

某个群里提出一个问题,关于魔方识别,众说纷纭,我提出了我的想法但不被别人所认同,于是 无言 搞起。 首先是刷刷刷 最开始的思路 后来做了些调整 拍照截取的图片直接转bitmap 视图部分不说了 bitmap获取9个坐标 即像素点 获取RGB值 识别颜色 颜色值只是参考 考虑到...

2017-07-17 12:35:24

阅读数:435

评论数:0

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

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

2017-06-29 17:10:57

阅读数:763

评论数:0

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

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

2018-02-05 01:21:31

阅读数:62

评论数:0

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

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

2018-02-02 14:56:41

阅读数:335

评论数:0

lambda

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

2018-01-31 11:18:13

阅读数:68

评论数:0

我的Github更名了~

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

2017-12-28 15:02:11

阅读数:65

评论数:0

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

前言 Socket的使用在 Android网络编程中非常重要今天我将带大家全面了解 Socket 及 其使用方法  目录 1.网络基础 1.1 计算机网络分层 计算机网络分为五层:物理层、数据链路层、网络层、运输层、应用层 其中: ...

2017-12-14 00:05:57

阅读数:311

评论数:0

SkyTabView V0.2.0 更新内容

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

2017-12-10 23:19:43

阅读数:82

评论数:0

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

好久没有更新博客,本来是打算把博客搬家到简书的,后来因为一些原因没有如愿。我把在简书上写的一篇文章搬回来了23333 一、Dex java → class javac Hello.java class → dex dx --dex --output Hello.dex Hell...

2017-11-26 19:01:14

阅读数:109

评论数:0

Gitlab配置ssh连接

ssh公钥登录 一般在管理远程主机时,都用ssh登录,ssh user@host,但是这样每次会使用密码。 使用ssh-keygen生成的密钥对,然后将公钥添加的目标主机的~/.ssh/authorized_keys文件中,当前主机就成为可信任的主机,下次使用ssh登录时,就不用输入密码...

2017-09-28 23:22:51

阅读数:157

评论数:0

apk反编译

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

2017-09-18 14:28:22

阅读数:468

评论数:1

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

强力推荐!那些你不能错过的 GitHub 插件和工具 以代码托管平台起家的 GitHub 网站,已然成为全球程序员工作和生活中不可或缺的一份子。从优秀的企业,到优秀的程序员,都将自己最优秀的代码作品存放在这片开源净土里,供彼此学习交流。 GitHub Trending 栏目甚至已经成为 I...

2017-09-06 19:29:56

阅读数:82

评论数:0

Double类型运算

import java.math.BigDecimal; /** * Created by liutianyu on 17/9/6. */ public class DoubleUtil { private static final int DEF_DIV_SCALE = 10;...

2017-09-06 19:25:00

阅读数:86

评论数:0

JS交互示例

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

2017-09-05 16:20:00

阅读数:138

评论数:0

Java的四种引用方式

——面试不只是问,还要讲,既然要讲,就别讲错了。。于是有了这篇转载 java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象。 java对象的引用包括   强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型...

2017-09-04 23:04:11

阅读数:229

评论数:0

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

去年谷歌 I/O大会上介绍了一个非常厉害的新框架DataBinding, 数据绑定框架给我们带来了很大的方便,以前我们可能需要在每个Activity里写很多的findViewById,不仅麻烦,还增加了代码的耦合性,如果我们使用DataBinding,就可以抛弃那么多的findViewById,省...

2017-08-28 17:07:28

阅读数:182

评论数:0

跳转应用商店 对应页面

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

2017-08-25 11:00:04

阅读数:90

评论数:0

【光能使者】!!!

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

2017-08-23 18:49:00

阅读数:338

评论数:0

弃用growingio后产生的问题解决

当你弃用growingio后会出现这样的错误 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAgent; 不用害怕,这是因为growingio污染了你的...

2017-08-17 18:54:51

阅读数:790

评论数:1

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

蜻蜓FM是一款音频app,最近我反编译了他的源代码,主要原因是最近有篇文章: 不过蜻蜓FM大量的删帖很多已经死链了,太无耻!还活着的链接: 蜻蜓造假黑科技新闻 充满着好奇,黑科技是怎样做到的呢?? 蜻蜓FM是如何提高DAU,欺骗友盟,talkingdata 摘要 看了蜻蜓FM的源...

2017-08-10 18:56:33

阅读数:290

评论数:0

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

阅读文本大概需要 2.6 分钟。 今天给大家推荐一款 Android 平台的下拉刷新库 SmartRefreshLayout,而且是今天在 GitHub 刚开源的,还热乎着呢,之所以给大家推荐,一是我们在实际的开发中,下拉刷新是非常常见的一种交互,但是即使很常见,如果能做的更有意思点,对用户...

2017-08-10 17:14:26

阅读数:202

评论数:0

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

这期是 HenCoder 自定义绘制的第三期:文字的绘制。 之前的内容在这里: HenCoder Android 开发进阶 自定义 View 1-1 绘制基础 HenCoder Android 开发进阶 自定义 View 1-2 Paint 详解 如果你没听说过 HenCoder,...

2017-08-01 11:38:25

阅读数:323

评论数:0

监听界面左右滑动

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

2017-08-01 11:34:02

阅读数:102

评论数:0

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

这期是 HenCoder 自定义绘制的第二期: Paint。如果你没看过第一期,可以先去看一下第一期: HenCoder Android 开发进阶:自定义 View 1-1 绘制基础 简介 上一期我已经简单说过, Canvas 的 drawXXX() 方法配合 Paint 的几个常用...

2017-07-25 23:20:12

阅读数:359

评论数:1

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

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

2017-07-12 10:43:45

阅读数:228

评论数:0

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

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

2017-07-12 09:18:18

阅读数:417

评论数:1

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

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

2017-06-29 11:38:20

阅读数:292

评论数:1

RxAndroid教程

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

2017-06-26 15:40:32

阅读数:1227

评论数:0

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

http://www.androiddevtools.cn/

2017-06-21 11:38:05

阅读数:108

评论数:0

Spinner下拉位置处理

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

2017-06-16 15:55:33

阅读数:583

评论数:0

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

前言 V- Layout 是阿里出品的基础 UI 框架,用于快速实现页面的复杂布局,在手机天猫 Android版 内广泛使用 让人激动的是,在上个月V- Layout终于在Github上开源!  Github - alibaba - vlayout ...

2017-06-16 09:34:43

阅读数:912

评论数:0

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

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

2017-06-15 10:30:21

阅读数:137

评论数:0

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

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

2017-06-14 11:50:36

阅读数:141

评论数:0

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

转自http://blog.csdn.net/qq_22770457/article/details/52133288 纯手工自制的Android引导页,实现了Viewpager切换的淡入淡出(页面不移动!)切换以及文字动画。 下面是效果演示: 实现思路+心路历程.....

2017-06-07 14:12:15

阅读数:923

评论数:0

Kotlin的那些事儿

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

2017-05-22 14:51:19

阅读数:611

评论数:0

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

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

2017-05-15 09:57:11

阅读数:367

评论数:0

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

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

2017-05-10 16:57:50

阅读数:223

评论数:0

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

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

2017-05-10 16:56:01

阅读数:229

评论数:1

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

创建一个新的ScrollView如下 class MyScrollview extends ScrollView { private int downX; private int downY; private int mTouchSlop; pu...

2017-04-28 09:33:22

阅读数:420

评论数:0

Android 关于WebView全方面的使用(项目应用篇)

1、关于WebView的使用: 与JS交互拨打电话、发送短信、发送邮件上传图片(版本兼容)进度条设置字体大小设置返回网页上一层、显示网页标题全屏播放网络视频 首页 2、文章说明 WebView的使用已经是老生常谈了,看到很多文章说了用法,但我很少看到全的或者是项...

2017-04-27 16:27:26

阅读数:247

评论数:0

通过URL打开APP

如果想要从网页中打开App,只要在AndroidManifest.xml文件中设置Activity的相关属性则可,具体如下: activity
 android:name=".StartActivity">

 intent-filter>
 ...

2017-04-25 17:11:02

阅读数:304

评论数:0

WebView与JS交互

我们知道目前android市场上的一些应用采用的开发方式大致分为三种:Native App、Web App、Hybrid App。本文主要是Hybrid App中实现的主要技术native组件与js的数据交互的理解以及实现。   Android API中提供了WebView组件...

2017-04-25 16:57:10

阅读数:252

评论数:0

TabLayout的用法

前言 Google官方在14年Google I/O上推出了全新的设计语言——Material Design。一并推出了一系列实现Material Design效果的控件库——Android Design Support Library。其中,有TabLayout, NavigationView,...

2017-04-20 15:12:45

阅读数:209

评论数:0

AndroidManifest属性

1.android:allowBackup 它表示是否允许应用程序参与备份。如果将该属性设置为false,则即使备份整个系统,也不会执行这个应用程序的备份操作,而整个系统备份能导致所有应用程序数据通过ADB来保存。该属性必须是一个布尔值,或为true,或为false,其默...

2017-04-18 11:19:46

阅读数:432

评论数:0

使用CoordinatorLayout打造各种炫酷的效果

使用CoordinatorLayout打造各种炫酷的效果 使用CoordinatorLayout打造各种炫酷的效果 自定义Behavior —— 仿知乎,FloatActionButton隐藏与展示 CoordinatorLayout简介 CoordinatorLayout...

2017-04-18 10:41:36

阅读数:519

评论数:0

Android实现IOS越界回弹的效果

首先这是一个我个人比较喜欢的一个效果,但是Android为了区别于IOS,当页面overScroll的时候显示的是阴影,我觉得巨丑无比 = = 不知道大家有没有发现这个效果在一些PTR(下拉刷新..)类的控件上有有所体现? so..下面说一下Android实现这个效果的方法 首先,借用一个三...

2017-04-14 12:08:18

阅读数:873

评论数:0

关于控件滑动至顶部的监听

在项目中,比如ScrollView外部套了一个刷新控件 只要向下滑动就是触发刷新,这样很不好,应当监听这个ScrollView滑动至顶部才触发刷新才对,于是.. private Boolean isTop = true; private class isTopListener i...

2017-04-12 14:48:19

阅读数:245

评论数:0

Android开源库集合(控件)

RecycleView: RecycleView功能增强 https://github.com/Malinskiy/SuperRecyclerView RecycleView功能增强(拖拽,滑动删除,折叠)https://github.com/h6ah4i/android-...

2017-04-10 08:53:05

阅读数:458

评论数:0

关于JNI的代码格式以及JNI的数据类型

首先说说在C++代码中 (1)JNIEXPORT :在Jni编程中所有本地语言实现Jni接口的方法前面都有一个"JNIEXPORT",这个可以看做是Jni的一个标志,至今为止没发现它有什么特殊的用处。 (2)void :这个学过编程的人都知道,当然是方法的返回值了...

2017-04-06 15:32:14

阅读数:480

评论数:0

通过CMake构建项目

1、新建 Ndk Project 01 Tips: 新建一个支持 "Include C++ Support" 的项目,把 Include C++ Support 前面的选项打上勾,然后一路 Next,直到 Finish 为止。 2、配置 NDK 的支持 02 ...

2017-04-06 14:04:13

阅读数:107

评论数:0

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