自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zcl1359205840的专栏

好走的都是下坡路

  • 博客(86)
  • 资源 (13)
  • 收藏
  • 关注

原创 ImageView 的scaleType 记录

imageView scaleType1:FitXY 充满所给的区域2:center 不拉伸或者压缩图像,单纯的居中3:centerCrop 保持图像的宽高比,以较长边为准,会超出边界;会填充满整个布局,展示对应对应图片的部分或者全部。4:centerInside 保持图像宽高比,不会对图片进行拉伸,只会进行等比例压缩,不会填充整个布局,会有留白(除非刚好显示整张图片);5:f...

2018-10-08 14:54:59 202

原创 Fresco gif不能使用圆圈或圆角的处理方式

起因是这样的,使用recycleView加载items的时候需要封面需要时gif或者是img。这个时候出现了img的item是圆角的但是gif不是圆角。解决办法:在xml文件中使用fresco:roundWithOverlayColor="@color/you_color_id""you_color_id"是指你的背景色,这样也可以实现圆角、圆圈效果解释:fresco不...

2018-09-30 18:12:51 1025

原创 反转单链表并返回反转之后的单链表的头节点

 代码如下所示:public static ListNode reverseList(ListNode head) { ListNode root = new ListNode(); root.next = null; ListNode next; while (head != null) { next ...

2018-08-04 22:11:20 1461

原创 官方Canvas and Drawables翻译以及批注

Android框架提供了一套二维绘图API,可让你将自己的自定义图形渲染到画布上或修改现有视图以自定义其外观和感觉。 你通常以以下方式之一绘制二维图形: - a:在布局中的View对象上绘制你的图形或动画。 使用此选项,会调用系统的渲染管道处理的图形 (需要在视图中定义自行定义) - b:在Canvas对象中绘制图形。使用此选项,需要你将画布传递到适当的类’onDraw(Canvas)’方法。你

2017-09-15 19:42:44 835

原创 View Animation和Drawable Animation

View Animation(属性动画那一篇真是受够了那个编辑器,所以到Markdown上来了) 你可以使用视图动画系统在视图上执行补间动画。Tween动画使用诸如动画的起始点,终点,大小,旋转以及其他常见方面的信息来计算动画。(编者按:Tween动画是操作某个控件让其展现出旋转、渐变、移动、缩放的这么一种转换过程,我们称为补间动画。)补间动画可以对View对象的内容执行一系列简单的转换(位置,大

2017-09-07 20:28:43 333

原创 官方Property Animation翻译(全部)以及批注

之前一直都是翻译并标注了哪几块哪几块,现在终于可以说,标注完了,O(∩_∩)O哈哈哈~

2017-09-06 19:33:45 877 1

原创 getTranslationX与getLeft()的联系

假设原来的控件位置(mLeft,mTop)以左边为例:getTranslationX():获取到控件的移动距离,正方向为正,负方向为负。getLeft():控件相对于父布局左边界的距离getLeft()=mleft+getTranslationX();上边也一样:getTop()=mTop+getTranslationY();

2017-09-04 15:23:52 624

原创 实现可滑动,能在外部动态控制ListView显示个数的Android项目

步骤:这里是用一个RelativeLayout实现ListView的一个title,在title中有一个Image通过点击这个image,来控制ListView的显示个数。第一步:新建两个类分别继承RelativeLayout和ListView(title的layout我就不写了,只要是开发的都会写)public class SettingListView extends List

2017-08-11 11:55:57 470

原创 回调函数

前言:        最近在一个地方用到回调函数,差不多一年之前接触过,也写了demo,但是碰见还是半懂不懂的,所以把这次写的demo写成博客,再看的时候也能快些。首先都在说回调,但是我到现在也不是明确的理解哪里回调了,知道代码的逻辑流程,但是还是不理解为什么叫这么个名字,可能有人跟我一样,也可能我比较愚钝,不能一点就透。     回调分为三个关系体:调用者,被调者,被调者的父类(看了

2017-08-10 18:36:29 245

原创 修改AndroidStudio默认的compileSdkVersion(纠正了大部分文章的错误)

起因最近使用AndroidStudio的时候想要修改一下compileSdkVersion,因为现阶段26并没有相应的API sources,所以想看源码的时候就不能看(我丢)。然后就想着能不能修改默认的compileSdkVersion,设置它的compileSdkVersion为25,然后就去网上搜了一下,网上文章给出的建议是:按照给出的路径/plugins/android/l

2017-07-27 11:02:12 25038 16

原创 自定义安卓Button样式

Talk is cheap,Show you the code.估计很多朋友对上面的一些属性不是很清楚,比如selector,item,shape,corners,stroke,solid等不太了解,下面的代码就是他们的详细介绍。(上面的代码是我找到的使用最全的,你如果有自定义Button需求的话应该够用了)。上面的可以拆成两部分。第一部分是selector和下面的item属性。第二部分是sh

2017-05-25 17:11:12 1089

原创 windows上面装node但是npm一直查不出版本号

准备做混合型开发,要用到npm,转好之后一般都会以查版本号的形式来查看是否安装成功,但是node的版本号可以查出来,但是npm的版本号一直查不出来,看了很多都说node本身集成了npm并且会自动添加到路径中。尝试过手动安装,但是毫无效果,再单独添加路径进去也不行。关机,下午回来发现可以了。Windows的弊端之一。

2017-02-27 15:16:34 5974

原创 bindService 和startService 终止方法

1: bindService 解除绑定方法:(1) unbindService 解除绑定(2)尽管 Activity 被 finish 的时候绑定会自动解除2:startService 的终止方法:(3)调用stopService,(4)或自身的stopSelf方法。(当然如果系统资源不足,android系统也可能结束服务。)3:同时使用 startService 与 bindServic

2016-09-29 11:47:02 5138

原创 java中static代码块和构造函数的调用顺序

之前看到过,后来有点模糊了就写篇记录一下。package com.java.text;public class Father { static { System.out.println("父类--静态代码块"); } public Father() { System.out.println("父类--构造函

2016-09-26 15:57:47 353

原创 java线程并发笔记

无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象。在java中每一个对象都可以作为锁,它主要体现在下面三个方面:对于同步方法,锁是当前实例对象。 对于同步方法块,锁是Synchonized括号里配置的对象。对于静态同步方法,锁是当前对象的Class对象。 下面是同步方法的一段代码public class ThreadTest implements

2016-09-26 14:32:22 294

转载 AndroidStudio好用的插件

AndroidStudio好用的插件在开发过程中,本人用的最爽的就是代码生成的插件,帮助我们自动完成大量重复简单的工作。个人也觉得代码自动生成工具是最值得推荐的。因此下面的插件以代码生成的插件为主。1. Android ButterKnife Zelezny在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解。

2016-09-21 14:07:11 1394 1

转载 Android通用流行框架大全

Android通用流行框架大全1. 缓存名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载名称描述Android Universal Image Loader一个强大的加载,缓存,展示图片的库Picas

2016-09-21 12:18:44 339

转载 JNI编程中如何传递参数和返回值。

本篇将介绍在JNI编程中如何传递参数和返回值。首先要强调的是,native方法不但可以传递Java的基本类型做参数,还可以传递更复杂的类型,比如String,数组,甚至自定义的类。这一切都可以在jni.h中找到答案。1. Java基本类型的传递用过Java的人都知道,Java中的基本类型包括boolean,byte,char,short,int,long,float,dou

2016-09-20 16:24:59 1192

原创 Android你需要了解的知识点

1、Android四大组件;2、动画、滑动冲突、自定义View、事件分发机制;3、多进程和多线程、以及相关的通信机制:AsycnTask、Handler、Binder、AIDL;4、Android的数据存储方式;5、UI布局、Fragment的使用;6、内存&性能优化、图片的处理、屏幕适配;7、网络通信的几种实现、断点续传的实现、了解TCP/IP、UDP、HTTP等网络协议

2016-09-14 13:41:58 368

原创 自定义控件和fragment使用流程和区别。

自定义控件:1:新建自定义控件xml文件2建立Java文件继承自View或者其子类,并在里面使用(可以在构造函数中使用)LayoutInflater.from(context).inflate(R.layout.a,this)动态加载。也可以在Java文件中对该布局里面的控件进行监听。3使用自定义控件,代码如下。        android:layout_width="mat

2016-09-07 17:03:07 1403

原创 多线程规避死锁方法

只在必要的最短时间内持有锁,考虑使用同步语句块代替整个同步方法;尽量编写不在同一时刻需要持有多个锁的代码,如果不可避免,则确保线程持有第二个锁的时间尽量短暂;创建和使用一个大锁来代替若干小锁,并把这个锁用于互斥,而不是用作单个对象的对象级别锁。

2016-09-06 16:34:56 810

原创 synchronized 详解

在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确保在某一时刻,方法内只允许有一个线程。采用 synchronized 修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象都有一个 monitor (锁标记),当线程拥有这个锁标记

2016-09-06 15:24:56 686

转载 Java 理论与实践: 正确使用 Volatile 变量

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特性:

2016-09-06 14:18:25 222

转载 计算机网络部分的面试常考点

整理一下计算机网络部分的面试常考点,参考书籍:《计算机网络》第五版 谢希仁的那本,希望对大家有所帮助 OSI,TCP/IP,五层协议的体系结构,以及各层协议 OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。 五层协议     (5层):物理层、数据链路层、网络层、运输层、 应用层。

2016-09-05 18:17:21 722

原创 单例模式深探-懒汉式和饿汗式

什么是单例模式首先说句题外话,单例模式在很多的开源框架和项目都随处可见,所以单例模式的重要不言而喻,在一些稍微大点的公司设计模式肯定是会在面试中会问到的,单例模式的命中率不亚于工厂模式等设计模式(在之后的会陆续补上其它项目中经常用到的设计模式)进入正题,什么是单例模式,通俗的说就是:在整个对象中,单例类只能有一个实例,单例类必须自己创建自己的唯一实例单例类必须给其它对象提供这一实例

2016-09-05 10:45:21 1482

原创 高效加载大图

图片有不同的形状与大小。在大多数情况下它们的实际大小都比需要呈现的尺寸大很多。例如,系统的图库应用会显示那些我们使用相机拍摄的照片,但是那些图片的分辨率通常都比设备屏幕的分辨率要高很多。考虑到应用是在有限的内存下工作的,理想情况是我们只需要在内存中加载一个低分辨率的照片即可。为了更便于显示,这个低分辨率的照片应该是与其对应的UI控件大小相匹配的。加载一个超过屏幕分辨率的高分辨率照片不仅没有任何

2016-09-02 17:48:35 314

原创 使用adb shell对SQLite进行相关查询

写这篇文章呢是被我的adb烦的,只成功了一次,所以我在怀疑是不是偶然成功的。。。。这个是我没启动虚拟机的时候cmd.exe给出的信息,要我打开虚拟机。汗。。。重启ADB之后,打开虚拟机和eclipse程序,再次输入命令行 adb shell 出现这样的提示,看起来好一点,只是看起来,在用cd命令到 数据库的时候出错了。。。就像这样。这种事常见的行不通的方式,重启

2016-09-02 10:55:45 913

原创 Android数据存储SQLite-使用sql操作数据库

SQLiteDatabase db=new SQLiteDatabase();public static final String CREATE_BOOK = "create table Book (" + "id integer primary key autoincrement, " + "author text, "

2016-09-01 15:40:55 597

转载 HTTP 协议简介

转载自http://blog.jobbole.com/104886/一、TCP/IP 协议介绍在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容。TCP/IP协议是分层的,从底层至应用层分别为:物理层、链路层、网络层、传输层和应用层,如下图所示:从应用层至物理层,数据是一层层封装,封装的方式一般都是在原有数据的前面加一个数据控制头,数据封装格式如下:其中

2016-08-30 14:19:15 520

原创 代码段

1:Android开辟新线程,以Runnable()对象作为构造参数。new Thread(new Runnable() {            @Override            public void run() {                try {                                    } catch (Exceptio

2016-08-29 17:44:54 332

原创 Java中== equals hashcode解析

1. '=='是用来比较两个变量(基本类型和对象类型)的值是否相等的, 如果两个变量是基本类型的,那很容易,直接比较值就可以了。如果两个变量是对象类型的,那么它还是比较值,只是它比较的是这两个对象在栈中的引用(即地址)。对象是放在堆中的,栈中存放的是对象的引用(地址)。由此可见'=='是对栈中的值进行比较的。如果要比较堆中对象的内容是否相同,那么就要重写equals方法了。2. Objec

2016-08-26 18:15:49 507

转载 java中hashcode()和equals()的详解

本来想自己看看Java编程思想自己写的,不过偶然看到有个哥们已经写了,也是根据Java编程思想写的,感觉很好就不自己写了。转载自:http://www.iteye.com/topic/2571911. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下:   public boolean equ

2016-08-26 18:12:02 410

原创 2017 阿里实习 JAVA 研发工程师面经

很遗憾这篇面经不是我的,但是所有的回答信息是我自己总结出来的。#一面 1.写出知道的所有单例模式的写法 2.整数的二进制找出有几个 1,效率要求最高 3.会场安排问题 4.如何用两个栈模拟一个队列(前面四道考了 30 多分钟) 5.TCP 三次握手的过程 6.http 了解吗?(这道我直接说没有深入研究 web 开发) 7.java 集合类,哪些线程安全,哪

2016-08-26 17:58:39 4188

原创 剑指offer-Java-二进制中 1 的个数

题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1的个数。例如 把 9表示成二进制是 1001;有 2位是 1,因此如果输入 9,函数输出 2.public class Problem10 {public static void main(String args[]){Problem10 test=new Problem10(); System.o

2016-08-26 14:54:13 490

原创 剑指offer-Java-旋转数组的最小数字

题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为 1.public class Problem8 {public static void main(String[] args) { Problem8 p8=new P

2016-08-26 14:52:38 458

原创 剑指offer-Java-用两个栈实现队列

题目描述:用两个栈实现一个队列,实现对了的两个函数 appendTail和 deleteHead,分别完成在队列尾插入结点和在队列头部删除结点的功能。public class Problem7 {private Stack stack1=new Stack(); private Stack stack2=new Stack();public void appendTail(T t

2016-08-26 14:51:03 436

原创 剑指offer-Java-从尾到头打印链表

题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。方式1:非递归的实现public class PrintListReverse{public static void main (String args[]){ListNode node1=new ListNode(); ListNode node2=new ListNode(); ListNode node3=

2016-08-26 14:47:29 753

原创 Lock 与 Synchronized

多线程保证数据的线程安全与数据同步  多线程开发中不可避免的要用到锁,一段被加锁的代码被一个线程执行之前,线程要先拿到执行这段代码的权限,在Java里边就是拿到某个同步对象的锁(一个对象只有一把锁),如果这个时候同步对象的锁被其他线程拿走了,这个线程就只能等了(线程阻塞在锁池等待队列中)。拿到权限(锁)后,他就开始执行同步代码,线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个

2016-08-26 10:05:46 713

原创 关于Java集合类中线程安全与不安全问题笔录

关于Java集合类是面试中的常客,线程安全也是,所以就想写篇文章好好分析一下。线程安全的类Vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用。Statck:堆栈类.hashtable:就比hashmap多了个线程安全.enumeration:枚举,相当于迭代器.除了这些之外,其他的都是非线程安全的类和接口。线程安全的类其方法

2016-08-25 11:56:31 801

原创 JNI: Java类中静态和非静态方法的区别

在java中声明的JNI的静态方法(native static)和非静态方法,对于底层的C/C++代码来说是有区别的:JNI函数的参数也由三部分组成:首先是JNIEnv*,是一个指向JNI运行环境的指针;第二个参数随本地方法是静态还是非静态而有所不同一一非静态本地方法的第二个参数是对对象的引用,而静态本地方法的第二个参数是对其Java类的引用;其余的参数对应通常Java方法的参数,参数类型需要

2016-08-23 17:35:15 748

针对Unable to load R3 module 解决方案

针对Unable to load R3 module 解决方案

2016-07-13

设计模式之我见源代码

这个是设计模式之我见系列的源代码,因为有付出别人才会珍惜,所以设计了一些资源分。

2016-07-12

Android 面试必备

安卓面试必备,重要的汇总知识点

2016-07-12

Visitor模式

该PPT包含了Visitor里面所有的知识点和扩展,对于想要学习该模式的人来说是不二的选择,并且配上了源代,未经允许不可传至其他网站。

2016-06-21

jsp学习笔记

自己在学习jsp的时候写的笔记,写的很详细也很实用,希望大家喜欢

2016-03-12

设计模式学习历程和心得

自己学习时候写的设计模式的源码和心得,源码倒是没什么,主要是里面有心得,这个是干货,对后来者很有帮助。

2015-11-21

Head First 设计模式[高清中文版].pdf

Head First 设计模式[高清中文版].pdf

2015-11-20

SSH框架的例子Chinamobile

一个SSH框架的资源,适合初学者和开发者,我学WEB的时候用到的,蛮好的

2015-11-20

andriod经典源码

很多源码的集合,这对很多人来说是个福利,为了大家的学习,资源分设为1

2015-11-18

疯狂Android讲义源码

疯狂Android讲义源码

2015-11-18

设计模式之禅

设计模式之禅是一部很经典的设计模式的书籍,很适合大家学习的时候使用

2015-11-11

eclipse ADT汉化包

ADT我找了很久,试了好几个版本都不行可能是版本的问题,不过总有一个适合你

2015-04-25

JEE AND SPRING

这里面有除了eclipse之外你开发spring的所有资源,包括汉化包

2015-04-25

空空如也

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

TA关注的人

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