自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

原创 制作一份手机录屏的 GIF 动态图片

制作一份手机录屏的 GIF 动态图片在前两天我写了一个关于时间轴的文章,当时在文章里面提到过不会制作 GIF 图片,越来越感觉不合适,毕竟看到好多大牛的博客、还有 GitHub 上的项目,好多都有 GIF 图片来演示项目。毕竟 GIF 动图更加生动形象,要比单纯的图片来展示强得多,随后我“百度一下”,倒是找到了不少的方法,不过好多文章还是有局限性的,我是总结了好多种方法,找到了最适合我自己的一种方法

2017-10-07 13:18:04 3919

原创 使用 Android Studio 做一个 jar 文件

做一个 jar 文件之前在公司做项目的时候,常常被我的项目经理要求“这几个功能抽出来,做一个jar包,下次直接用就行了……”之类的话,当时我觉得吧,做 jar 包这么高大上的操作,怎么能是我一小菜鸟来完成的工作呢?我就一直说“知道了,知道了……”之类的话,然后回过头下次做项目的时候,还是从原项目中 copy + paste,然后现在开始自己开始写点小东西了,觉得如果还是 复制粘贴 太过于浪费时间了,

2017-10-05 10:14:51 452

原创 使用 RecyclerView 实现简单时间轴

使用 RecyclerView 实现简单时间轴前一段时间在公司中有个项目用到了 时间轴 这种形式的控件,我的第一反应就是去找 demo,但是想想好像并不是很复杂,所以开始着手自己写一个,现在算是搞定了一个简单的时间轴,现在记录一下:先来上一张图,看看效果:贴上这么一张图,主要还是不会做 GIF 动图,所以只能放一张半图~~(>_<)~~时间轴这个东西,说透了,主要是中间的点点还有开始、中间、结束三条

2017-10-03 12:50:45 1220

转载 在 Windows 上简单的使用 GitHub

在 Windows 上简单的使用 GitHub之前写了一篇 GitHub 在 MacOS 上的简单使用,现在转载一篇 GitHub 在 Windows 上的简单使用。第一步:创建仓库 第二步:填写名称,简介(可选),勾选 Initialize this repository with a README 选项,这是自动创建 REAMDE.md 文件,省的你再创建。 然后就创建完了。 第三步:安装

2017-10-02 19:12:42 362

原创 在 MacOS 上简单的使用 GitHub

在 MacOS 上简单的使用 GitHub前言:个人感觉这篇文章真的是有必要写一下,或者找一篇同样的文章来好好阅读一下。我是一个从事 Android 开发2年多接近3年的小菜鸟,之前一直奉行“拿来主义”,从网络上各种查找、复制、粘贴。从 GitHub 上下载各种开源的优秀的 demo 工程,可是最近发生的一个事情让我是越来越感觉到 GitHub 的重要性,我也想做开源,不只是为了下次跳槽的时候更好的

2017-10-02 18:50:14 687

原创 高德地图 自定义 InfoWindow 添加 RecyclerView 问题

高德地图 自定义 InfoWindow 添加 RecyclerView 问题这是一个棘手的问题,在高德地图中,添加了自定义的 InfoWindow,然后想在自定义 InfoWindow 中添加一下 RecyclerView 实现多个事项的展现,结果在 InfoWindow 中添加了 RecyclerView 之后,RecyclerView 并不会显示内容,只是显示一个空白,而且不管是改变 Item

2017-09-29 10:22:08 788

原创 Kotlin 第十七章: 异常和注解

Kotlin 第十七章: 异常和注解异常类所有的异常类都是 Exception 的子类。每个异常都有一个消息,栈踪迹和可选的原因。使用 throw 表达式,抛出异常throw MyException("Hi There!")使用 try 捕获异常try { // some code}catch (e: SomeException) { // handler}finally { /

2017-09-21 16:30:03 2889

原创 Kotlin 第十六章:内联函数

Kotlin 第十六章:内联函数内联函数使用高阶函数带来了相应的运行时麻烦:每个函数都是一个对象,它捕获闭包,即这些变量可以在函数体内被访问。内存的分配,虚拟调用的运行都会带来开销但在大多数这种开销是可以通过内联文本函数避免。下面就是一个很好的例子。lock() 函数可以很容易的在内联点调用。思考一下下面的例子:lock(i) { foo() }(Instead of creating a func

2017-09-21 11:01:00 255

原创 Kotlin 第一章: Kotlin简介以及插件安装

Kotlin 第一章: Kotlin简介以及插件安装首先,先来说一下 Kotlin 的发布时间吧。Kotlin 是于3月11号发布的的1.1的正式版,Kotlin 正式版发布之后,网络上关于 Kotlin 的文章可谓是铺天盖地,我第一次接触到 Kotlin 的时间大概是在5月份,中间有2个月的时间差。因为最近的工作一直是出于饱和甚至是过饱和的一个状态,一直没有时间去系统的学习和整理一下,正好趁着今天

2017-09-21 10:53:19 551

原创 FTP 服务器的上传和下载

FTP 服务器的上传和下载本来做 Android 做的好好的,结果公司让我研究一下 FTP 的上传和下载,好吧,没办法,听从安排,正好搞了一下,顺便写个文章加深一下记忆。首先先去网上翻了翻资料,用 JAVA 自带方法的基本没有,大部分的教程或者方法都是使用的 jar 包来实现的功能,而且基本都是使用的 Apache 下面的框架实现的。主要引用的包就是 commons-net-1.4.1.jar,其次

2017-09-20 16:22:07 788

原创 Kotlin 第十五章:高阶函数和 Lambda 表达式

Kotlin 第十五章:高阶函数和 Lambda 表达式高阶函数高阶函数就是可以接受函数作为参数并返回一个函数的函数。比如 lock() 就是一个很好的例子,它接收一个 lock 对象和一个函数,运行函数并释放 lock;fun lock<T>(lock: Lock, body: () -> T ) : T { lock.lock() try { return bod

2017-09-17 14:56:21 528

原创 Kotlin 第十四章:函数

Kotlin 第十四章:函数在前面的文章中也是简单的学习过函数相关的知识,这篇文章,我跟大家一起来具体的学习一下函数相关的内容。函数声明在 Kotlin 中用关键字 fun 声明函数:fun double(x: Int): Int {}函数用法通过传统的方法调用函数val result = double(2) 通过 . 调用成员函数Sample().foo() // 创建Sample类的实例,调用f

2017-09-15 10:20:05 248

原创 Kotlin 第十三章:嵌套类、枚举类

Kotlin 第十三章:嵌套类、枚举类在 Java 中也是有嵌套类和枚举类的,所以,这篇文章学习起来还是很轻松的,下面开始进入正题。嵌套类嵌套在其他类中的类,叫做嵌套类,嵌套类简单说可以分为内部类和匿名内部类:内部类类可以标记为 inner 这样就可以访问外部类的成员。内部类拥有外部类的一个对象引用:class Outer { private val bar: Int = 1 inn

2017-09-14 10:55:28 288

原创 Kotlin 第十二章:泛型

Kotlin 第十二章:泛型泛型,即“参数化类型”,顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型在 Java 中,泛型的使用时比较广泛的,比如:class Box<T> { private T var ; }// 使用Box<String> box = new Bo

2017-09-13 17:50:07 183

原创 Kotlin 第十一章:扩展

Kotlin 第十一章:扩展这篇文章主要学习的是——扩展,这个词语理解起来可能有些困难,但是还是边学习边理解吧。动机在 Java 开发时,会经常将那些共用的方法写到一个 Utils 类,如 FileUtils,StringUtils 等等。很有名的 java.util.Collections 也是其中一员的,在使用的时候我们不得不像下面这样使用他们:Collections.swap(list, Co

2017-09-12 11:29:04 178

原创 Kotlin 第十章:数据类

Kotlin 第十章:数据类意识到了之前的错误,抓紧时间赶紧学习,这一篇文章是数据类,在 Java 中我喜欢称之为 bean 对象,主要是是用来保存数据的,Kotlin 中的数据类和 Java 的数据类还是有所区别的。数据类在这样的类中一些函数只是机械的对它们持有的数据进行一些推导。在 Kotlin 中这样的类称之为 data 类,用 data 标注,下面对比一下创建一个数据类 Kotlin 和 J

2017-09-09 21:25:35 193

原创 Kotlin 第九章:可见性修饰词

Kotlin 第九章:可见性修饰词前一段时间是相当的颓废,感觉学习好累,所以有一段时间博客没有更新,但还是要坚持写下去,所以今天我们一起来学习一下可见性修饰词。在 Java 中不管是类、方法等都会有可见性修饰词,比如:private、 public 等等。同样,在 Kotlin 中对于类,对象,接口,构造函数,属性以及它们的 setter 方法都可以有可见性修饰词,但是 Kotlin 中的可见性修饰

2017-09-09 16:04:49 341

原创 Kotlin 第八章:接口

Kotlin 第八章:接口Kotlin 的接口很像 java 8。它们都可以包含抽象方法,以及方法的实现。和抽象类不同的是,接口不能保存状态。可以有属性但必须是抽象的,或者提供访问器的实现。接口用关键字 interface 来定义:interface MyInterface { fun bar() fun foo() { //函数体是可选的 }}接口的实现一

2017-08-30 10:17:21 240

原创 Kotlin 第七章:属性和字段

Kotlin 第七章:属性和字段声明属性在类里面使用 var 或者 val 就可以声明了。public class Address { public var name: String = ... public var street: String = ... public var city: String = ... public var state: String? = ...

2017-08-29 15:50:55 284

原创 Kotlin 第六章:类和继承

Kotlin 第六章:类和继承之前一起学习了 Kotlin 的基础内容,从这一篇文章开始,将要和大家一起来学习一下 Kotlin 的“类和对象”,这是“类和对象”的第一篇,类和继承。话不多说,赶紧来学习起来吧:类在 Kotlin 中,类的声明和在 Java 中是一样的,都是用 class 关键字来声明:class Invoice {}类的声明包含类名,类头(指定类型参数,主构造函数等等),以及类主

2017-08-28 17:49:06 320

原创 Kotlin 第五章:Kotlin 的编码风格和习惯用语

Kotlin 第五章:Kotlin 的编码风格和习惯用语前面一起学习了 Kotlin 的插件安装、基本语法、基本类型、包、控制流、返回与跳转,到了这里 Kotlin 的基础学习已经基本差不多了,这一篇文章来一起学习一下 Kotlin 的编码风格和习惯用语。编码风格命名风格在 Kotlin 中的命名风格和 Java 的命名风格基本是一致的,或者说是极其相似的。* 使用骆驼命名法(在命名中避免下划线)

2017-08-26 21:07:56 224

原创 Kotlin 第四章:Kotlin 基础之包、控制流、返回与跳转

Kotlin 第四章:Kotlin 基础之包、控制流、返回与跳转上一篇文章介绍了 Kotlin 基础中的基本类型,这篇文章,咱们一起来学习一下 Kotlin 的基础知识之包、控制流、返回与跳转。包在 Kotlin 中与在 Java 中一样,源文件也是以包的声明开始的。package foo.barfun bza() {}class Goo {}//...源文件的所有内容(比如类和函数)都被包声明包括

2017-08-25 23:28:22 277

原创 Kotlin 第三章:Kotlin 基础之基本类型

Kotlin 第三章:Kotlin 基础之基本类型这是我学习 Kotlin 的第三篇文章,在上一篇文章中简单的说一些以节本语法,这一章开始学习 Kotlin 基础中的基本类型。在 Java 中的基本类型分别是:byte,short,int,long,float,double 等。在 Kotlin 中的基本类型分别是:Byte,Short,Int,Long,Float,Double 等。由此可见,Ja

2017-08-25 22:11:41 268

原创 Kotlin第二章:Kotlin 的基本语法

Kotlin第二章:Kotlin 的基本语法

2017-08-25 10:56:29 313

原创 Android Permission权限列表以及Android6.0以后获取权限

Android程序在执行某些敏感问题时需要获取权限,比如获取通讯录权限,获取相机权限,获取定位权限等等,针对Android6.0以前,只需要在AndroidManifest.xml文件中使用类似于的代码即可,但是到了Android6.0以后,由于安全机制又有增强,所以需要在代码中动态的获取要是用的权限,所有代码分为两个部分:申请授权和回调以下是申请授权// 拍照的权

2017-07-10 16:19:57 11130

原创 初探Okhttp3+Retrofit2+RXJava

初探Okhttp3+Retrofit2+RXJava           本人菜鸟一枚,涉及Android开发也只有区区两年的时间,联网操作从最初接触的httpClient到Xutils,因为后来Android6.0发布。使得联网操作有了很大的变化。Android 6.0发布之后,谷歌已经将所有旧版的HttpURLConnection,HttpClient,和一些和apache有关包的类和方法

2017-05-15 14:39:29 2091

Okhttp3+Retrofit2

Okhttp3+Retrofit2的demo

2017-05-15

空空如也

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

TA关注的人

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