自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sugaryaruan的博客

走在生命路的两旁,随时播种,随时开花,将这一径长途点缀的花香弥漫,使穿枝拂叶的行人,踏着荆棘,不觉痛苦...

  • 博客(102)
  • 收藏
  • 关注

原创 adb连接不上,e00002be问题踩坑

上周升级了Mac OS到10.13.6,前天使用Android Studio带的手机模拟器运行App,第二天真机连接笔记本无法识别,adb一直处在初始化状态。错误信息如下: daemo not running, starting no at tcp Terminated: 15 Unable to create an interface plug-in(e00002be...

2018-07-25 10:59:58 3604 5

原创 Kotlin第七讲--泛型在Java和Kotlin上的差异

阅读本文前,如果对Java泛型不够了解,不妨先阅读我之前写的两篇说Java泛型的文章重拾Java泛型 上篇重拾Java泛型 下篇语法比较泛型方法Javapublic static<T extends Comparable<? super T>> T max(List<? extends T> list){ Iter...

2018-07-16 16:48:20 1290

原创 Kotlin项目上传jcenter躺坑记

前段时间写了一个下拉列表的自定义控件,造了轮子就想对外分享。如何上传代码到Maven仓库(Jcenter)呢?刷了文章,查阅了几处文档。多个语言项目发布JCenter仓库的小结Gradle版本和gradle 插件版本对照关系Github:novoda/bintray-release我采用了“多个语言项目发布JCenter仓库的小结”一文使用的方案,这个过程我遇到了两个坑,记录如下:...

2018-07-06 13:40:15 934 2

原创 【基础篇】Kotlin第六讲-委托类和属性

委托类实现一个接口,可以使用by关键字将接口实现委托给另一个对象。interface OnClickListener{ fun onClick() fun onLongClick()}class ViewClickDelegate : OnClickListener{ override fun onClick(){ println("V...

2018-06-12 10:30:29 477

原创 【基础篇】Kotlin第五讲-类型和空处理

Kotlin的类型类型就是数据的分类,不同类型代表不同种类的数据。Kotlin里类型分为:可空类型,非空类型,平台类型对平台类型的理解**平台类型:**Kotlin不知道可空性信息的类型,即当作可空类型也可当作非空类型。所以在这个类型上的所有操作需要程序员自己负责,编译器允许所有的操作。通常发生在Kotlin调用Java代码的场景上。以字符串类型举例,字符串平台类型如下:...

2018-06-03 17:27:21 390

原创 【基础篇】Kotlin第四讲-类、对象和接口

类类是逻辑组织的基本单元,类含有以下成分:依赖包,类名,构造方法,属性,成员方法,伴生对象,接口,父类等类的构造方法的完整逻辑过程先考虑主构造函数,当主构造函数不够用时,再引入从构造函数。最初的主构造函数是这样的:步骤1通过主构造函数的参数传入数据,步骤2在类里定义所需的属性,步骤3在init代码块里对属性做初始化/赋值操作,这三个步骤分工明确,前后关联,共同完成了一个类的构造。...

2018-05-27 17:32:29 433

原创 算法岗位知多少

算法工程师这个带着亮光的耀眼称呼,和AI有着紧密的天然关联,令人向往。今天和算法工程师亚帆午饭闲聊,对算法有了新的感触和认知。正文验证算法实验时用Python,工程应用时用Spark,sql查询使用基于Hadoop的Hive工具。一些常规的数据处理,比如计算均值,寻找最大,最小值,这些并不需要用到高深的算法知识。前端通过调用API和开源类库就可以实现相当多的算法,并不要算法工程师参...

2018-05-19 14:42:45 9211

原创 【基础篇】Kotlin第三讲-扩展函数和其他

集合的创建与遍历Kotlin没有采用它自己的集合类,而是采用标准的Java集合类。大部分Kotlin的标准库是由Java类的拓展函数组成的。创建集合Kotlin中对集合增加了一个新的接口MutableList,实现该接口的集合是可变集合。Kotlin中,集合分为可变集合和不可变集合。public interface MutableList<E> : List&l...

2018-05-07 21:49:15 497

原创 再读编程的智慧一文有感

记得是2015年还是2016年初读过王垠的这篇文章–编程的智慧,收益良多。一些当时让我影响深刻的点,自那以后就一直用于生产了。今天重温此文,感触最深的有以下三个点:循环时避免使用continue和break,并提供了如何去掉的方法如何正确的处理Java里的异常和错误如何正确的处理Java里的空指针本文是编程的智慧一文的内容概要,当然最好的方式,是花上2到3小时认真阅读王垠的原文...

2018-05-05 08:30:40 565

原创 各家地图JavaScript版SDK调研

现在主流的地图有三家:百度地图,高德地图,腾讯地图,尝试分析下这三家地图的异同。JavaScript API百度地图支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发支持的功能列表定位优先调用浏览器H5定位接口,如果失败会调用IP定位根据用户IP 返回城市级别的定位结果当您的APP中有内置的Web页面,同时在Web页面需要提供您的当...

2018-04-13 22:43:35 1160

原创 快速查看Gradle项目包依赖情况

Gradle项目中,导入依赖包和并对其管理是开发人员绕不开的事情,在导入的过程中,一不小心就会遇到新导入的依赖库和原有的类库冲突的问题,我在之前的一篇文章遇到异常Multiple dex files define时里提供了解决方法。本文对如何定位依赖冲突这个环节提供更多的方法方式1./gradlew 模块名:dependencies这个命令会打印出该模块下的所有第三方类库的依赖情...

2018-04-11 23:28:29 48367

原创 Kotlin初入茅庐

年前快速地过了一遍Kotlin语法。这回计划花上半年的时间,从代码细节上重新系统的梳理一遍Kotlin语言。当然,性价比最高的方式是通过Kotlin开发项目来学习。同样表示变量var与val有什么区别?val = 加了final的变量val message = "Kotlin" // final String message = "Kotlin";var count = 0v...

2018-04-05 11:13:28 287

原创 开启Kotlin编程之旅&Java程序员的思维进化

本周在部门进行了一场Kotlin分享,于是有了这篇文章Kotlin编程语言简介由Intelij IDEA生产商JetBrains开源 2011年开始,2016年初发布1.0正式版,目前最新1.2.31 基于JVM平台,JS平台和Native本地平台的编程语言静态的,支持函数式编程范式与Java语言极高的兼容和互操作Kotlin的生态环境GitHub star 2万多 K...

2018-03-29 09:35:16 253

原创 安卓EditText-实现输入小数点后几位的逻辑演变

我的简书博客 sugaryaruan 传送门简介在Android开发中,时不时需要用户输入一些数据,有输入就有格式上的要求。比如EditText输入金额时,通常要保留小数点后两位,这个如何实现呢?首先在布局文件里,通过android:inputType限定EditText输入的内容,numberDecimal表示只能输入带小数点的浮点格式 <EditText

2017-02-26 16:09:17 1370

原创 自定义上拉加载更多-增强型RecyclerView的实现

简述同步更新:传送门简述该增强型RecyclerView,增加了以下特性:上拉滑动到底部,加载更多支持添加Header头视图支持加载数据为空时,显示特定视图支持拖拽,侧滑删除下拉刷新实现通过给RecyclerView包一层SwipRefreshLayout来实现。本文重点分享上拉加载更多的实现,同时实现添加头部视图,侧滑,拖拽功能实现,该实现存在以下注意点:如何判断RecyclerVie

2017-01-23 17:58:45 1076

原创 Android官方文档学习01多屏幕适配&Fragment间通信&Intent分享

记得2014年刚开始学习安卓时,安卓的资源相对现在还不够丰富,常看到安卓前辈们推荐初学者看权威的官方安卓文档的话,奈何英语能力一般,阅读这些英文文档心有余力不足,陆陆续续看了一些就停下来了。现在安卓官方有了中文文档了,因此想从头过一遍。在这个过程中,我希望: * 巩固和扩宽安卓基础知识和能力 * 结合自己这些年的安卓开发经验,尝试做一个系统的总结,形成一个安卓知识的思维体系 * 这个系列更像是

2017-01-07 19:47:52 620

原创 Android程序猿的Sketch学习之旅

简书博客同步更新 传送门Sketch专为App绘图场景而生,也可以少量处理位图图片。通过下午3个小时的官方用户文档中文版的阅读和实践,我发现Sketch真得做到了“花最少的时间就能上手的绘图工具,让你专注于设计本身”熟练使用Sketch需要理解一些概念:选区图层群组切片: 画布中的特定区域导出为一个文件符号(Symbol),类似于布局文件里的标签蒙板,这个的作用类似安卓里的SetXfer

2017-01-06 09:20:26 2289

原创 2016年度小结

尽管这篇年度小结有点迟,但是却是非常必要的。和去年相似,在写这篇小结之前,刚看完李笑来老师的书《把时间当作朋友》,书本里很多观点发人深省,醍醐灌顶,茅塞顿开。就我最后看的部分,做个简单的摘抄:从整体上看,人脉当然重要。不过针对个体来说,比人脉更重要的是他所拥有的资源。翻看2015年年度小结,顺利完成了《Android开发艺术探索》一书的阅读,加深了对Gradle的使用和认知。2016年安卓方面,有

2017-01-03 01:17:38 638

原创 数组和链表自制栈和队列

数组和链表是常用的两种数据结构,在翻看了Stack类,Iterable接口,Iterator接口,Queue的Java源码后,尝试用数组和链表来自己实现一下栈和队列。自己造过轮子后,实实在在的理解了轮子,才能真正深入的使用轮子。代码如下:**说明:**Stackable是我自己写的接口数组实现栈public class SugarArrayStack<E> implements Stackable<

2016-12-22 15:38:08 507

原创 安卓刮刮卡的另一种实现

欢迎关注我在简书的博客:http://www.jianshu.com/users/7ea7e9945ab6/latest_articles效果如下: 实现思路网上有使用Xfermode来实现刮刮卡,这里提供另一种思路简洁的实现一张呱呱卡有三层,最底层我用一个TextView控件显示中奖内容,中间层是刮完之后的显示图样,最上面一层是刮刮卡的封面。手指刮除封面的过程就是把刮刮卡最上面一层裁剪的过程。涉

2016-12-22 15:35:50 623

原创 当Window遇到Mac OS出现Permission Denied/Could not expand时

错误场景最近用gradle打包安卓新项目时./gradlew assembleRelease出现Permission Denied提示在检查gradle配置信息无误后,使用管理员权限打包sudo ./gradlew assembleRelease这样能顺利打包,不过使用debug调试模式编译项目时,依然报错:Could not expand…我遇到的错误忘记记录了,大概类似如下的错误:Execu

2016-12-10 14:32:13 1499

转载 UML类图关系及其表示

本文转载自:http://blog.csdn.net/tianhai110/article/details/6339565在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generaliz

2016-11-20 17:36:55 592

原创 Android线程和线程池

本文是阅读安卓开发艺术探索一书第十一章的笔记和延伸感想 简书同步更新,传送门概述Android中扮演线程角色的有:Thread,AsyncTask,IntentService,HanderThread…当线程数大于CPU核数时,需要通过时间片轮转方式来调度线程。AsyncTask封装了Thread和Handler的异步任务,提供/重写四个核心方法onPreExecute()doInBackgr

2016-11-12 16:09:49 389

原创 Android的消息机制

碰巧昨天又一次看了苹果广告Think different,震撼之余还有感动。广告词如下:Here’s to the crazy ones.The misfits.The rebels.the troublemakers.The round pegs in the square holes.The ones who see things differently.They’re not fond of

2016-11-12 16:07:05 407

原创 把时间当作朋友(4)-我们为什么会拖延&我们为什么觉得时间越过越快

把时间当作朋友 第三章传送门侯世达定律:完成一个任务实际花费的时间总会超过计划花费的时间,就算制定计划的时候考虑到本法则。要提高估算时间的能力,就要从现在开始养成习惯:做任何事情之前先判断其熟悉程度(或陌生程度),再据此判断估算完成任务所需要的时间。及时行动所谓做事拖延,不是拖延着做事,而是拖延着不开始做事。拖延的人为什么迟迟不开始行动?1.错误的估算所需的时间2.来自内部的恐惧只要开始做事,一个人

2016-11-12 16:04:58 617

转载 support-v7:24.2.0中的新工具类DiffUtil的使用方法

本文转载自:http://blog.csdn.net/zxt0601/article/details/52562770一 概述DiffUtil是support-v7:24.2.0中的新工具类,它用来比较两个数据集,寻找出旧数据集-》新数据集的最小变化量。 说到数据集,相信大家知道它是和谁相关的了,就是我的最爱,RecyclerView。 就我使用的这几天来看,它最大的用处就

2016-09-23 01:07:58 1602

转载 Viewpager切换的淡入淡出切换(页面不移动)

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

2016-09-22 13:35:01 4216 1

原创 RxBus学习之旅--从入门到提高

在公司的技术分享会上,做了关于RxBus的学习分享,记录如下:一.RxBus与RxJava一次RxJava调用过程可以划分为以下环节:创建观察内容 (片段1)数据处理/映射(片段2)选择线程(片段3)订阅(片段4,片段5)完成/错误处理(片段6)示例代码:Observable // 片段1 .create(new Observabl

2016-08-13 21:16:24 4192

原创 RxJava学习小结之入门篇(一)

在Java的世界里,接口是Java最强大的设计之一。笔者对接口的认识和理解包括:实现一个接口需要四个步骤接口定义:使用interface,可以外部定义,也可以在类中定义,根据实际需求来。接口调用:接口定义好了,需要调用接口方法接口实现:接口里的方法是抽象方法,需要开发人员具体的逻辑实现接口注入:把接口实现的引用传给接口调用方。接口的作用和意义:通过入参,确定了一种数据流的流动方向,从接口

2016-07-21 22:47:41 450

原创 当RecyclerView遇到Inconsistency detected崩溃时

近来项目里,RecyclerView更新数据偶尔出现crash,错误日志如下:java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{2064e5c6 position=2 id=-1, oldPos=2, pLpos:-1 scrap [a

2016-07-20 15:33:33 11730

原创 自动读取短信验证码LoaderManager和CursorLoader的使用

已开通简书博客,欢迎拍砖。Cursor用来直接读取安卓手机里的数据库记录,如何获取到Cursor?可以通过SQLiteOpenHelper,打开SQLiteDatabase通过ContentProvider/ContentResolver获取自动读取验证码实现思路:当验证码的短信到来,能有个监听回调或者广播之类,告知开发人员读取短信是危险权限,android6.0权限适配获取验证码的短信

2016-07-06 18:52:57 557

原创 P2P文件分发读书笔记

概念介绍对等方:成对间歇连接的主机洪流(torrent):参与一个特定文件分发的所有对等方的集合追踪器(tracker):每个洪流具有一个基础设施结点邻近对等方:成功创建一个TCP连接的对等方P2P体系结构的拓展性客户端-服务器体系结构与P2P体系结构比较,得出如下结论:客户端-服务器体系下,分发时间随着对等方数量线性增加P2P体系下,分发时间呈线性增长而趋向一个常数,若F表示分发的文件比特数量

2016-07-04 22:26:02 3541 2

原创 Java内存模型和并发编程

主要参考:http://www.cnblogs.com/dolphin0520/Java内存模型(Java Memory Model,JMM)内存模型规定:所有的变量都是存在主存当中(类似于物理内存)每个线程都有自己的工作内存(类似于高速缓存)线程对变量的所有操作都必须在工作内存中进行,而不能直接对主存进行操作。每个线程不能访问其他线程的工作内存。缓存一致性(Cache coherence

2016-07-03 23:44:31 468

转载 setCompoundDrawables与setCompoundDrawablesWithIntrinsicBounds的区别

文章转自:http://blog.csdn.net/wulianghuan/article/details/24421179更换radiobutton中的图片在xml中很好设置,但对于初学者如何在代码中设置还是不容易找的。没法子,通过看原版api找到两个方法,setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds

2016-06-30 01:19:18 556

原创 TCP/Protobuf之Protocol Buffers配置指南

使用Protobuf,先配置环境,以下是配置Protobuf的步骤和编译Protobuf原文件的步骤Java:Compiled Environment Download:https://github.com/google/protobuf/releases/download/v3.0.0-beta-3/protobuf-java-3.0.0-beta-3.zipInstall:$ ./configu

2016-06-27 14:43:10 1499

原创 TCP/Protobuf之Netty学习

在熟悉了解Netty框架的过程中,阅读了大量的文章,有些资料干货较多,记录如下:Netty官网Netty4服务端心跳机制Netty 4.x User Guide 中文翻译《Netty 4.x 用户指南》Netty系列之Netty高性能之道Netty TCP client with reconnect handling(自备梯子)有了上述的学习,实践动手写几个Demo,对Netty就有了一个入门的了解

2016-06-27 14:21:20 683

原创 TCP/Protobuf之基础知识准备

最近项目里,引入了TCP,通过protobuf,在App里来获取司机的经纬度信息。还使用到了Netty,本篇先对涉及到的基础知识做了梳理。Socket套接字之间的连接过程分为三个步骤:服务器监听客户端请求连接确认。Java NIO的通道类似流,但又有些不同:流只是在一个方向上移动(一个流必须是 InputStream 或者 OutputStream 的子类),而通道可以用于读、写或者同时用

2016-06-27 14:10:26 4345 1

原创 [读书笔记之App研发录]异常问题汇总(1)

开发中遇到的异常问题子线程不能修改UI只有原始创建这个视图层次的线程才能修改它的视图,而android的视图最初都是主线程创建的,所以才有这么一说:UI控件的更新放在主线程中,否则会产生不可预知的错误。对于TextView的内容更新,却发现在子线程中也能运行良好。这个现象一反上面的结论。如果在更新TextView内容之前让线程等待几秒时间,就会抛出子线程更新控件的异常信息。有一个方法requestL

2016-05-03 00:39:32 633

原创 论软件工程里解决问题的思维

今天在项目开发中,遇到一个问题,在尝试解决无果后,对解决问题的思维产生一番思考。记录如下。在我看来,解决一个项目问题的思维能拆分成若干个环节,这些若干个环节彼此相互斥,解决问题的过程被映射为一环环固化的思维串接。问题得到解决存在一个最小思维量。当认知超过最小思维量时,就能推测、预判问题的变化。思维量存在且不限于以下两个属性:思维复杂度和环节确定性。思维复杂度表示解决问题的可能性数量或方向多少。环节确

2016-04-10 23:33:18 1682 1

转载 java中线程队列BlockingQueue的用法

本文转载自:http://blog.itpub.net/143526/viewspace-1060365/在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场

2016-04-04 22:18:02 388

空空如也

空空如也

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

TA关注的人

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