自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

旺仔的专栏

Android开发

  • 博客(73)
  • 资源 (24)
  • 收藏
  • 关注

原创 通过GitHub和Hexo来搭建自己的个人博客

搭建个人博客在我大学的时候建过一次,那时候是用新浪云和Wordpress搭建的,那时候新浪云服务是免费的,后来变收费,博客就没有了。之前便想着再弄个自己的博客出来,这几天就着手弄了起来。 看到很多人的个人博客是用github来当服务器,然后通过Hexo来搭建博客框架,那么新建个人博客也用这两个来搭建吧。本文同步更新于旺仔的个人博客,访问可能有点慢,多刷新几次。 GitHub主页创建仓库想必大家都

2017-10-12 17:24:20 6659 4

原创 Kotlin常见问题和代码

高阶函数,又称算子(运算符)或泛函,包含多于一个箭头的函数,高阶函数是至少满足下列一个条件的函数:1.接受一个或多个函数作为输入,2.输出一个函数。 在无类型Lambda 演算,所有函数都是高阶的;在有类型Lambda 演算(大多数函数式编程语言都从中演化而来)中,高阶函数一般是那些函数型别包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化的函数。 在很

2017-10-08 18:10:33 3339

原创 自己编写Android Studio插件

前言为何会自己写插件呢,原因有两个,一个是之前看到鸿神写了一篇学会编写Android Studio插件 别停留在用的程度了的博客,另一个是有些插件是不能满足自己的需求的,所有就需要自己来写;之前因为赶项目没时间,今天抽空就学习了下。可以看下一篇 Android Studio插件GenerateFindViewById 这篇博客是根据输入或者选中布局文件(如R.layout.activity_ma

2016-11-19 23:00:05 4745 14

原创 Kotlin学习(一)Kotlin插件安装

什么是Kotlin? Kotlin是针对JVM、Android 和浏览器的静态编程语言! 100% 与 Java™ 可互操作!Kotlin的插件安装

2016-10-19 09:55:44 15568 2

翻译 ubuntu 12.04 遇到sudo: /etc/sudoers is mode 0777 , should be 0440的解决办法

之前不知道遇到什么情况,就把/etc目录下都设置为777了,然后再也不能输入sudo 命令了,然后百度了好久,才找到解决方法,但是很多都是不能全面解决的。在这里列出我综合的方法(在虚拟机下):1、启动ubuntu的时候按下shift键,注意是一直按住,然后会进到这里2、进入到这里后,选择第二个recovery mode模式,注意,选择之后不是按回车(enter),而是按

2014-01-30 11:05:54 3988

原创 ConstraintLayout中Chains和Guideline的使用

前面介绍了如何使用ConstraintLayout,在用ConstraintLayout的时候千万要运行一下,在手机上看看结果,因为有时候在AS上面看是没问题的,但是运行到手机上面还是会又不一样的效果的。 然后本文将来介绍ConstraintLayout中的Chain也就是链条,还有ConstraintLayout辅助线Guideline的使用。Chains链条是什么?简单说就是...

2018-02-26 15:30:14 14129 2

原创 Android ConstraintLayout的使用

ConstraintLayout是谷歌推出的一个新布局,字面意思是约束布局,距离发布已经有一段时间了,下面会有一个复杂布局的代码对比。 对于ConstraintLayout,有篇文章写了关于它的性能优势:解析ConstraintLayout的性能优势我们知道,当我们的布局越来越复杂的时候,所使用的嵌套就越来多,性能自然而然的就会有所下降,而ConstraintLayout恰恰就是为了...

2018-01-22 20:21:25 1220

原创 Kotlin学习(二十): Kotlin实现流的读取的方案

在Java对流的读取是下面的那样,当前不要忘记流的关闭close。// java 代码void someFunc(InputStream in, OutputStream out) throws IOException { int read; while ((read = in.read()) != -1) { out.write(read); }}

2018-01-22 10:11:38 10780 4

原创 Kotlin实战(三): 动手撸个玩Android客户端

玩Android鸿洋大神的玩Android网站。 本网站每天新增20~30篇优质文章,并加入到现有分类中,力求整理出一份优质而又详尽的知识体系,闲暇时间不妨上来学习下知识; 除此以外,并为大家提供平时开发过程中常用的工具以及常用的网址导航。可以在 https://github.com/hongyangAndroid/xueandroid项目中以issue的形式提出任何好的建议。接口由玩Andr

2018-01-01 00:36:01 2303

原创 Kotlin学习(十九): 属性自动生成方法所引发问题

在Kotlin中创建一个属性,如果是val,那么会自动生成getter方法,如果是var,那么会自动生成getter和setter方法。class MethodFoo() { var a: Int = 1 var b: Int = 2}生成的class内容public final class MethodFoo { private int a = 1; private

2017-12-04 11:00:58 4782 1

原创 Kotlin学习(十八): 委托模式(Delegate)和委托属性(Delegate Properties)

委托模式已经被证明是实现继承的一个很好的替代方式,在扩展一个基类并且重写方法时,基类就必须依赖子类的实现,当不断地修改的时候,基类就会失去当初的性质,Kotlin中就将类默认为final,确保不会被修改。有一种模式是装饰器模式,本质就是创建一个新类,实现与基类一样的接口,并且将类的实现作为一个字段保存,这样就能在基类不被修改就能直接修改基类的实例。但是这样的缺点是会造成很多的样板代码。class D

2017-11-26 20:50:10 7114 4

原创 Kotlin学习(十七): 运算符重载

在前面写了关于集合和范围的内容,里面包括了一点运算符重载的内容,在这里我们来详细了解运算符重载的知识,内容参考《Kotlin实战》(Kotlin in Action)。什么是运算符重载?简单来说,就是Kotlin通过调用自己代码中定义特定的函数名的函数(成员函数或者扩展函数),并且用operator修饰符标记,来实现特定的语言结构,例如如果你在一个类上面定义了一个特定函数命名plus的函数,那么按照

2017-11-19 20:40:47 693

原创 Kotlin学习(十五): 解构声明(Destructuring Declarations)

Kotlin1.1.3发布,Kotlin 插件现在支持在编辑器的提示中显示推导的变量、函数和参数类型。默认情况下该功能是禁用的,可以在编辑器的设置中启用它。下面进入正文,有时候要获取一个对象的属性,会定义很多个变量,这样子就会很麻烦,而在Kotlin中有个很方便的用法,就是使用解构声明。创建变量在Java中创建多个变量Person person = new Person("person", 1);

2017-11-03 08:26:40 812

原创 Kotlin学习(十六): 关键字与操作符(Keywords and Operators)

本文同步更新于旺仔的个人博客,访问可能有点慢,多刷新几次。Kotlin中有一些常用的关键字和标识符,同时还有一些操作符和特殊符号,这些都是和Java有不一样的地方的,这里将他们介绍一下,方便记忆和回看。硬关键字(Hard Keywords)Kotlin中的硬关键字不能作为标识符package与Java一样,Kotlin的源文件同样以包声明开始的。package foo.barfun baz() {}

2017-11-03 08:24:23 3537 1

原创 使用Xposed实现QQ/TIM自动确认电脑扫一扫登录

缘由不知道大家有没有用过QQ/TIM登录的时候使用扫描二维码登录的功能呢?也就是登录界面的右下角那里有个二维码的按钮点击之后就会出现二维码然后用手机QQ/TIM打开扫一扫界面,扫了之后,会弹出允许登录的界面然后我们需要点击允许登录TIM/QQ,电脑端就登录成功了。但是每次登录都要点击允许登录,我觉得好麻烦,所以就实现了自动点击功能,这篇文章就是来介绍如何使用Xposed来实现自动点击。实践首先我们先

2017-10-16 17:17:29 6741 1

原创 使用Xposed去除微博国际版的启动广告

本文同步更新于旺仔的个人博客,访问可能有点慢,多刷新几次。前面有篇文章已经介绍了如何创建Xposed模块的文章了,这篇就让我们来实现一个简单的去除启动广告的功能吧。起因为什么要是要去掉微博国际版的开屏广告呢,因为广告烦人啊,而且我打开微博的时间也是偶尔才会打开的,每次一打开就能看到广告,所以就想把这个开屏广告给删掉,奇怪的是,打开一次后,再关掉再打开是没有广告的,要隔一段时候才会出现广告,这个原因会

2017-10-12 17:25:57 7434

原创 探究Exported属性对startActivity的影响

本文同步更新于旺仔的个人博客,访问可能有点慢,多刷新几次。缘由这几天想做一个点击跳转到TIM的扫一扫的Activity的功能,代码是这样的,就是普通的跳转Intent intent = new Intent();intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);ComponentName component = new ComponentName("c

2017-10-12 17:25:24 3986

原创 Xposed开发初体验

本篇文章具体是Xposed开发,如何安装Xposed需自行上网查找,本文同步更新于旺仔的个人博客,访问可能有点慢,多刷新几次。Xposed什么是Xposed呢? “Xposed是一个适用于Android的框架。基于这个框架开发的模块可以改变系统和app应用的行为,而不需要修改APK。这是一个很棒的特性,意味着Xposed模块可以不经过任何修改,安装在各种不同的ROM上。Xposed模块可以很容易

2017-10-12 17:24:52 553

原创 Kotlin学习(十四): 类型别名(Type aliases)和注解(Annotations)

高阶函数,又称算子(运算符)或泛函,包含多于一个箭头的函数,高阶函数是至少满足下列一个条件的函数:1.接受一个或多个函数作为输入,2.输出一个函数。 在无类型Lambda 演算,所有函数都是高阶的;在有类型Lambda 演算(大多数函数式编程语言都从中演化而来)中,高阶函数一般是那些函数型别包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化的函数。 在很

2017-10-08 18:10:11 1905

原创 Kotlin学习(十三): 集合(Collections)和范围(Ranges)

高阶函数,又称算子(运算符)或泛函,包含多于一个箭头的函数,高阶函数是至少满足下列一个条件的函数:1.接受一个或多个函数作为输入,2.输出一个函数。 在无类型Lambda 演算,所有函数都是高阶的;在有类型Lambda 演算(大多数函数式编程语言都从中演化而来)中,高阶函数一般是那些函数型别包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化的函数。 在很

2017-10-08 18:09:36 583

原创 Kotlin学习(十二): 函数、高级函数和Lambda表达式

高阶函数,又称算子(运算符)或泛函,包含多于一个箭头的函数,高阶函数是至少满足下列一个条件的函数:1.接受一个或多个函数作为输入,2.输出一个函数。 在无类型Lambda 演算,所有函数都是高阶的;在有类型Lambda 演算(大多数函数式编程语言都从中演化而来)中,高阶函数一般是那些函数型别包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化的函数。 在很

2017-10-08 18:08:57 517

原创 Kotlin实战(二): 实现RecyclerView多种Item布局

前言RecyclerView出来很久了,可以说一出来就将ListView给比下去了,当然,Recyclerview有它的好,ListView的好,并不是说一定要用Recyclerview,最适用自己项目的才是最好的。在这里我们将用Kotlin来实现RecyclerView的多种item布局,和单个item布局,同时写一个通用的Adapter。使用先将写完的代码的使用方式展示一下:一种item布局cl

2017-10-08 18:08:18 4044

原创 Kotlin学习(十一): 泛型(Generics)

泛型,即“参数化类型”,顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。接下来学习Kotlin中的泛型,Kotlin的泛型为类型安全提供保证,相比与Java更安全。泛型在Java中经常会用到泛型:class Box<T>{ private T var ; }// 使用Bo

2017-10-08 18:07:32 458

原创 Kotlin学习(十): 可见性修饰符和数据类

Java中有可见性修饰符(private…),而Kotlin中也是有这样的修饰符,但也有一些不一样,下面来学习Kotlin中的可见性修饰符(Visibility Modifiers)和数据类(Data Classes)的相关知识。可见性修饰符(Visibility Modifiers)Kotlin有四种可见性修饰符,分别是public、internal、protected和private,默认的修饰

2017-10-08 18:07:09 403

原创 Kotlin学习(九): 扩展(Extensions)和This表达式

扩展是Kotlin中特别强大的一个功能,如扩展函数,本文是学习Kotlin中的扩展(Extensions)和This表达式的相关知识。扩展(Extensions)在Java开发时,会经常将那些共用的方法写到一个Utils类,如FileUtils,StringUtils等等。很有名的java.util.Collections也是其中一员的,在使用的时候Collections.swap(list, Co

2017-10-08 18:06:50 564

原创 Kotlin学习(八): 对象表达式和声明(Object Expressions and Declarations)

2017年的Google I/O大会上谷歌宣布Kotlin正式成为Android的官方语言。下面我们来继续学习Kotlin中的对象表达式和声明(Object Expressions and Declarations)的相关知识。对象表达式和声明(Object Expressions and Declarations)在写代码的时候,会创建一个对当前类做轻微修改的对象,而不用重新声明一个子类,Kot

2017-10-08 18:06:24 318

原创 Kotlin学习(七): 类和继承、接口与实现

本文是学习Kotlin的类和继承相关,嵌套类相关,接口相关。类Kotlin的类的声明与Java一样,使用class关键字class Invoice {}类的声明包含类名,类头(指定类型参数,主构造函数等等),以及类主体,用大括号包裹。类头和类体是可选的;如果没有类体可以省略大括号。class Empty构造函数Kotlin的类有两种构造函数,一种是主构造函数,一种是二级构造函数。 主构造函数是写

2017-10-08 18:05:47 1532

原创 Kotlin实战(一): 写一个登录的Demo

前言如何安装Kotlin可以参考Kotlin学习(一): Kotlin插件安装这篇文章。demo说明该demo是使用Kotlin写的登录demo,使用MVP模式,里面用到了Retrofit+RxJava,然后用了Mob的登录Api接口作为登录和注册的判断,Mob提供了很多免费的接口。Activity直接将控件的id当成变量来使用 设置点击事件login.setOnClickListener(thi

2017-10-08 18:05:25 3416 1

原创 Kotlin学习(六): 包、控制流、返回与跳转

本文是学习Kotlin的包相关,控制流相关以及返回与跳转相关,与Java比较大的区别是Kotlin用when来替换掉Java的switch,写好简单,可以有各种类型值的判断,另外可以指定返回和跳转到指定标签的位置。包(Package)与Java一样,Kotlin的源文件同样以包声明开始的。package foo.barfun baz() {}class Goo {}// ...源文件的所有内容(如类

2017-10-08 18:03:56 523

原创 Kotlin学习(五): 惯用语法和代码风格(Idioms And Coding Conventions)

本文是学习Kotlin的惯用语法和代码风格,与Java的语法和代码风格有一些相同,也有一些不同。创建DTO’s(POJOs/POCOs)数据类(Creating DTOs (POJOs/POCOs))data class Customer(val name: String, val email: String)这里的Customer是数据类,在Kotlin中,会自动为Customer类生成以下方法

2017-10-08 18:02:58 633

原创 Kotlin学习(四): 基本类型(Basic Types)

本文是学习Kotlin的基本类型,Kotlin的基本类型与Java有一些不同,例如整数类型,Java是int表示,而Kotlin是Int表示;例如布尔类型,Java是boolean表示,而Kotlin是用Boolean表示。在 Kotlin 中,所有变量的成员方法和属性都是一个对象,我们可以在任何变量上调用成员函数和属性。 在本文中,将会讲解经常被使用的类型:Numbers,Characters,

2017-10-08 17:58:07 569

原创 Kotlin学习(三): 属性和字段

声明属性(Declaring Properties)Kotlin中可以使用var关键字声明可变属性,或者用val关键字声明只读属性,属性的类型在后面,变量名在签名,中间加冒号和空格。public class Address { public var name: String = ... public var street: String = ... public var ci

2017-02-28 21:50:58 3782

原创 Kotlin学习(二)基本语法

定义包名(Basic Syntax)与Java定义包名一样,在源文件的开头定义包名:package my.demoimport java.util.*// ... 包名和文件夹路径可以不一致:源文件可以放在项目的任意位置。定义函数(Defining functions)与Java定义函数的区别在于:Kotlin在定义函数的时候要加个fun关键词,函数的返回值前后不同,Java的在前面,如

2017-02-25 20:38:03 705

原创 Android ButterKnife的使用

前言在写这篇文章之前,自己写了有两篇关于编写Android Studio插件的文章,在写的同时,也了解到了ButterKnife,所以抽时间来了解它。 下面是我之前关于Android Studio插件的文章,有兴趣的可以去看一下:自己编写Android Studio插件Android Studio插件GenerateFindViewById本篇文章所使用的ButterKnife的版本为8.4

2016-12-12 16:24:13 991

原创 Android Studio插件GenerateFindViewById

前言这个插件是为了方便自己写代码,至于如何编写Android Studio插件可以看我上一篇博客自己编写Android Studio插件。演示安装下载项目里面的GenerateFindViewById.jar包,然后打开AS的Plugins,点击Install plugin from disk…安装 打开AS的Plugins,点击Browse repositories…然后搜索GenerateFi

2016-12-05 12:04:06 9985 5

原创 Android Studio逆向分析APK(Analyse APK)

Android Studio逆向分析APK(Analyse APK)前言 Android Studio升到2.0版本以后,有个很好的功能,就是可以直接逆向分析apk,查看到里面的内容。条件 Android Studio 版本为2.0以上Analyze APKBuild->Analyze APK 2.择一个apk 内容说明apk大小和下载大小 raw size是apk包的大小

2016-11-22 22:03:53 20191 2

原创 Android AIDL相关

AIDL全称(Android Interface Definition Langague)

2016-11-18 11:17:53 377

原创 Android ListView相关

ListView

2016-11-18 11:08:58 414

原创 Android微信分享

Android微信分享需要注册开发者账号并且创建应用

2016-11-18 11:07:54 1077

原创 Android 隐藏和显示虚拟按键

虚拟按键

2016-11-18 11:06:33 1813

php and xml.chm

php and xml.chm

2014-02-14

ThinkPHP快速入门.chm

ThinkPHP快速入门.chm

2014-02-12

常用JavaScript特效.chm

常用JavaScript特效.chm

2014-02-11

jQuery1.2API.chm

jQuery1.2API.chm

2014-02-10

html5-chm.chm

html5-chm.chm

2014-02-10

CSS 2.0 中文手册.chm

CSS 2.0 中文手册.chm

2014-02-10

Apache2.2中文手册.chm

Apache2.2中文手册.chm

2014-02-10

Linux命令大全.chm

Linux命令大全.chm Linux命令大全.chm

2014-02-10

正则表达式系统教程.CHM

正则表达式系统教程.CHM

2014-02-10

[JavaScript权威指南(第6版)].(JavaScript:The.Definitive.Guide).David.Flanagan.英文版.pdf

[JavaScript权威指南(第6版)].(JavaScript:The.Definitive.Guide).David.Flanagan.英文版.pdf

2014-02-10

jQuery实战中文版.pdf

jQuery实战中文版.pdf

2014-02-10

精通正则表达式 第3版 pdf

精通正则表达式 第3版 pdf

2014-02-05

PHP简明教程.pdf

零基础学习PHP-从零开始学习PHP-PHP基础教程-PHP简明教程.pdf

2014-02-04

细说PHP(第2版).pdf

细说PHP(第2版).pdf

2014-02-04

php程序员菜鸟成长手记 php入门教程 pdf

php程序员菜鸟成长手记 php入门教程 pdf

2014-02-03

轻轻松松学用javascript编程.pdf

轻轻松松学用javascript编程.pdf

2014-02-02

MYSQL培训经典教程.pdf

MYSQL培训经典教程.pdf

2014-02-02

轻轻松松学用javascript编程pdf

轻轻松松学用javascript编程轻轻松松学用javascript编程轻轻松松学用javascript编程

2014-02-01

HTML与CSS入门经典 第8版 pdf

第8版

2014-01-31

着陆页优化101招pdf

着陆页优化101招,对于web前端开发的很有帮助

2014-01-31

空空如也

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

TA关注的人

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