自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丶如一 的专栏

失败并不可怕 可怕的是你还相信这句话 (本人博客仅为私人记录)

  • 博客(56)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java协变、逆变、类型擦除。列表优先于数组

什么是协变、逆变、类型擦除。假设F(X)代表Java中的一种代码模式,其中X为此模式中可变的部分。如果B是A的派生类,而F(B)也享受F(A)派生类的待遇,那么F模式是协变的,如果F(A)反过来享受F(B)派生类的待遇,那么F模式是逆变的。如果F(A)和F(B)之间不享受任何继承待遇,那么F模式是不变的。总结:是否享受继承待遇:数组 Object[] = Apple[] 协变某个...

2019-02-26 16:28:17 181

原创 Kotlin基础

一、 函数与变量函数1. 函数特征 fun 关键字 参数声明 如: arg1:Int, arg2:Array<String> 函数不一定要放在类中,可以放在文件的最外层 数组也是类 有些方法可以简化,如 println 可以直接使用 可以省略末尾的分好 返回值同参数声明,同类字段声明都是冒号隔开 函数体是单个表达式的可以省略花括号 可以推出来

2017-11-06 17:18:21 359

原创 android 插件框架机制

android 插件框架机制

2017-05-11 16:55:25 571 1

原创 Android Support Library

com.android.support:support-annotations:23.1.1Nullness注解 Nullable 作用于函数参数或者返回值,标记参数或者返回值可以为空。 NonNull 作用于函数参数或者返回值,标记参数或者返回值不可以为空。如果违反,会出现警告 资源类型注解 AnyRes: 标记整型值是 任何一种资源类型 AnimatorRes:

2017-05-03 16:13:18 675 1

原创 Android 过渡动画(Transition Animation)

放个标题在这慢慢补充

2017-05-03 09:37:51 869 2

原创 各种常用第三方包地址

各种资源 开源项目 https://github.com/kHRYSTAL/AndroidStarArchive/tree/master/app RxJava https://github.com/ReactiveX/RxJava RxAndroid https://github.com/ReactiveX/RxAndroid RxLifecycle h

2017-04-26 10:52:51 776

原创 android:singleLine ="true" 过时

android:singleLine =”true” 过时,会导致莫名其妙的错误。 解决方法: android:lines=”1”

2017-04-24 15:01:38 1691

原创 Dialog 和 Popup Window 的区别

AlertDialog是非阻塞式对话框,而PopupWindow是阻塞式对话框 AlertDialog弹出时,后台还可以做事情;而PopupWindow弹出时,程序会等待,在PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法的后,PopupWindow退出,程序才会向下执行。这两种区别的表现是:AlertDialog弹出时,背景是黑色的,但是当我们点击背景,Aler

2017-04-07 09:44:51 1666

原创 Glide 使用

/** * 使用glide下载图片 glide 默认缓存 * Created by wangyy on 2017/3/22. */public class ImageLoaderUtils { /*gif 图片也可以使用 但gif 不能放在圆形控件里面*/ public static void loadImageFromUri(Context context, String

2017-03-22 14:18:40 297

原创 ReactiveX/RxJava文档中文版

http://wiki.jikexueyuan.com/project/rx-docs/

2017-02-20 10:46:47 690

原创 微信小程序 例子

github 地址: https://github.com/daisywangyy/wxxcx

2017-01-22 10:23:37 511

原创 View的事件分发机制复习

MotionEvent 所谓点击事件的事件分发,其实就是对MotionEvent事件的分发过程。即当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发过程。三个重要方法public boolean dispatchTouchEvent(MotionEvent ev) 用来进行事件的分发。如果事件能够传递给当前View,就一定会调用这个

2016-10-10 16:21:32 300

原创 Android 经典框架收集

网络请求Retrofit + RxAndroid 优点: 以接口/注解的形式定义请求和响应Square 开源的项目. 是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装。 本身

2016-10-09 10:58:39 443

原创 微信小程序

http://wxopen.notedown.cn/

2016-10-08 11:26:35 551

原创 Android知识点复习整理

Thread、MessageQueue、Message、Looper、Handler关系及需要注意的地方Android任何一个Thread中都跟着一个Looper,Looper提供了MessageQueue。只要Thread拥有MessageQueue,别的线程就可以往其中添加Message。Looper.prepare(),Looper.loop(),Looper.release(). 如果不

2016-09-26 17:09:20 1707

原创 牢骚

懂得很多道理,却依旧过不好这一生…不该执着于原本不该执着的东西…

2016-09-22 13:59:19 338

转载 Android学习笔记----解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题

同时在工程中引入了多个第三方jar包,导致调用的方法数超过了android设定的65536个(DEX 64K problem),进而导致dex无法生成,也就无法生成APK文件。解决办法如下:1、谷歌官方已经给出了相关的文档,参照网上搜索的资料,首先,我的问题是: 复制代码Error:Execution failed for task ‘:duchazhushou:dexRelease’. co

2016-06-23 17:18:04 498

转载 设计模式(全)

一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池

2016-06-23 17:16:43 475 10

原创 ReactNative 安装步骤

1、 JDK安装、环境变量配置 2、 Android SDK 安装 build tools 版本必须严格匹配23.0.1、环境变量配置 3、 Git 安装 4、 Python 必须为2.7.X 版本 5、 Node.js 安装 npm 版本必须为3.+ 6、 建议设置npm镜像以加速后面的过程(或使用科学上网工具)。 npm config set registry htt

2016-06-13 14:50:02 423

原创 AOP(面向切面编程 Aspect Oriented Programming)

AOP(面向切面编程 Aspect Oriented Programming)概念(百度百科)通过 预编译方式和运行期动态代理 实现 程序功能 的 统一维护 的一种技术。特点:低耦合,高聚合。 AOP能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任,例如事务处理、日志管理、权限控制等,封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。OOP与AOP

2016-06-12 10:01:16 4772

原创 代理 及 注解

代理(Proxy)Proxy代理类的理解:在系统程序设计中,有时需要面对无法确定接口,却需要构造对象的情况。通过代理类,能够在不额外创建Java文件的情况下构造对象及调用该对象方法。(系统程序设计用得较多,应用程序设计遇到的情况比较少)代理类可以在运行时创建全新的类,这样的代理类能够实现指定的接口,尤其是,它具有下列方法: 指定接口所需要的全部方法。 Object类中的全部方法,例如:

2016-06-02 16:17:07 981

原创 2015年就这样过去了

过去一年,莫名其妙 稀奇古怪 乱七八糟

2016-01-08 16:29:49 442

转载 不同的启动方式,应用启动多次的Bug解决

http://blog.csdn.net/busjb/article/details/40891239 * 我们需要判断:该意图是打开一个新的任务,还是将后台的应用给提到前台来. * 若是要将应用提到前台来直接将这个Activity结束掉,然后显示出来的Activity就是之前被最小化的Activity. * 因为点击图标的意图会将新启动的Activ

2015-12-04 17:10:38 824

原创 Android 绘制渐变梯形,其他图形同理

// LinearGradient 第一个参数第二个参数为 起始位置x,y 三四参数为终点位置x,y。 // 如果x不变则为y轴渐变, y不变则为x轴渐变 // 第五个参数为颜色渐变,此处为红色渐变为绿色 // 第七个参数为渐变次数,可repeat Shader mShader=new LinearGradient(0, 500, 0, 0,

2015-11-09 15:16:37 6749

原创 Matrix 简介

Matrix 在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵图片的处理分为四个基本类型:Translate 平移变换Scale 缩放变换Rotate 旋转变换Skew 错切变换图片变换的三种操作方式set(用于设置Matrix中的值)post(后乘,根据矩阵的原理,相当于左乘)pre(先乘,相当于矩阵中的右乘) 默认时,这四种变换

2015-11-03 16:44:39 828

转载 Android 简单特殊知识点

Android 简单特殊知识点View变灰色, 即实现灰度视图// 获取当前activity 的根ViewgetWindow().getDecorView().findViewById(android.R.id.content) // true 为灰, false 为正常 public void setGreyscale(View v, boolean greyscale) {

2015-11-02 15:03:16 561

转载 RxJava 各种操作符(2、3)

RxJava 各种操作符(2) - Transforming Observables buffer, FlatMap, GroupBy, Map, Scan, Windowbufferbuffer操作符周期性地收集源Observable产生的结果到列表中,并把这个列表提交给订阅者,订阅者处理后,清空buffer列表,同时接收下一次收集的结果并提交给订阅者,周而复始。一旦源Observabl

2015-10-29 18:14:38 1386

转载 RxJava 各种操作符(1)

RxJava 各种操作符(1) - Creating Observables Create, Defer, Empty/Never/Throw, From, Interval, Just, Range, Repeat, Start, and TimerCreatecreate操作符是所有创建型操作符的“根”,也就是说其他创建型操作符最后都是通过create操作符来创建Observable的.

2015-10-27 15:17:36 2762

原创 常用viewpager动画效果实现

/** * position参数指明给定页面相对于屏幕中心的位置。它是一个动态属性,会随着页面的滚动而改变。当一个页面填充整个屏幕是,它的值是0, * 当一个页面刚刚离开屏幕的右边时 * ,它的值是1。当两个也页面分别滚动到一半时,其中一个页面的位置是-0.5,另一个页面的位置是0.5。基于屏幕上页面的位置 * ,通过使用诸如setAlpha * ()、setTranslationX()、

2015-10-23 14:14:51 402

转载 编程经验之考虑使用静态工厂方法

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0922/3494.htmlhttps://medium.com/@orhanobut/consider-static-factory-method-8c0d4eaa5e73安卓中的基本问题之一就是对键/值对的持有。因为bundle 需要键/值对,所以你

2015-10-10 17:25:40 585

原创 单立模式 Java

单立模式 - 确保一个类只有一个实例,并提供全局访问点一:同步getInstance方法缺点:如果频繁调用getInstance,同步会导致代码执行效率下降100倍,而且当uniqueInstance已经被实例化的时候,同步显得累赘。public class Singleton{ private static Singleton uniqueInstance; private S

2015-09-24 10:31:10 449

原创 终于找到了不用自定义一个activity栈,来关闭所有activity的方法了!!!

直接上代码!!!Intent intent = new Intent(this, LoginActivity.class);ComponentName cn = intent.getComponent();Intent mainIntent = IntentCompat.makeRestartActivityTask(cn);startActivity(mainIntent);可能很早就有了。

2015-08-13 18:00:59 1281

转载 RecyclerView 动画 (添加、删除动画 以及 加载item 时的动画)

github地址:  https://github.com/wasabeef/recyclerview-animators感谢作者。

2015-08-04 15:40:58 7172

原创 Volley全解析

什么是VolleyVolley 的单词涵义是:迸发、万箭齐发。 是比喻的命名方式,寓指网络请求并发效率高。Volley 的重要方法mQueue = Volley.newRequestQueue(context); public static RequestQueue newRequestQueue(Context context, HttpStack stack) {

2015-07-22 11:00:16 459

转载 Android中Bitmap和Drawable [转]

一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap 1、从资源中获取Bitmap Java代码

2015-07-08 15:42:07 283

转载 Android studio gradle配置 【转】

Gradle 基本概念首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android build.gradle。build.gradle //设置脚本的运行环境 buildscript { //支持java 依赖库管理(maven/ivy),用于项目的依赖。

2015-07-02 11:53:01 479 1

转载 Comparable与Comparator的区别

Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包

2015-06-24 14:52:04 336

原创 Core Java 学习(三) - 继承设计技巧

继承设计技巧公共操作和域放在超类不要使用 protected 的域使用继承实现 is - a 关系除非所有的继承的方法都有意义,否则不要使用继承在覆盖方法时,不要改变预期的行为使用多态,而非类型信息不要过多地使用反射

2015-06-24 14:17:32 420

转载 android studio 目录结构

build:构建目录,相当于Eclipse中默认Java工程的bin目录。libs:依赖包src: main - java Java代码 - res 资源文件 - - layout App布局及界面元素配置 - - menu App菜单配置 - - values - - - dimens.xm

2015-06-18 11:24:05 323

原创 Core Java 笔记(三) - 反射

Class类 - 运行时的类型标记Class 对象表示一个特定类的属性Student student;Class cl = student.getClass();getName() 获取类名Student student;Class cl = student.getClass();String name = cl.getName();Class 的静态方法 forName() 获得类

2015-06-18 11:21:46 421

空空如也

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

TA关注的人

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