自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (2)
  • 收藏
  • 关注

原创 Rxjava

Rxjava原理介绍Rxjava原理 基于 一种扩展的观察者模式Rxjava的扩展观察者模式中有4个角色: 角色 作用 类比 被观察者(Observable) 产生事件 顾客 观察者(Observer) 接收事件,并给出响应动作 厨房 订阅(Subscribe) 连接 被观察者 & 观察者 服务员 ...

2018-03-29 21:22:02 763

转载 Andoird 图片加载框架区别

1.哪三大图片加载框架? 1) Picasso 2) Glide 3) Fresco2.介绍: Picasso :和Square的网络库一起能发挥最大作用,因为Picasso可以选择将网络请求的缓存部分交给了okhttp实现。 Glide:模仿了Picasso的API,而且在他的基础上加了很多的扩展(比如gif等支持),

2017-09-13 10:32:35 640

原创 Static关键字

前言定义基本使用基础知识静态变量静态方法静态代码块静态内部类前言 Static关键字的重要性,对于Java开发者都知道,不用多说,但是Static关键字的知识点比较多,不容易记住,或者说很容易忘,楼主也是前后学习了好几次Static关键字的用法,每次学完都很清晰,但是时间长了遇到Static还是感觉有点蒙,索性今天就好好在研究一番,并且记录下来供大家一起学习.定义 stat

2017-08-31 15:11:44 612

原创 TextView 中SpannableString应用,让你灵活玩转TextView

设置TextView的背景颜色给文本设置点击事件设置文本颜色设置删除线效果设置下划线效果在TextView中设置图片方法一方法二方法三基于X轴的缩放设置字体粗体样式上下标的使用设置超链接TextView算是Android开发中最最常用的控件了,有的时候,我们要给一个TextView中的显示的文字设置不同的样式或者响应事件,比如同一个TextView中,有的字是红色,有的字是蓝

2017-08-28 15:06:34 766

转载 JAVA 线程池的使用

先来看下 ThreadPoolExecutor 的构造函数: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime,

2017-08-14 18:59:26 491

原创 Android判断是否已经开启开发者调试模式以及引导用户去开启相应设置

大家都是有经验的开发人员,直接撸码: 判断当前是否已经开启开发者调试模式: boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) > 0);if(enableAdb){ Toast.makeText(this, "enable", 1).sho

2017-07-13 14:22:41 13326

原创 Android手机文件系统操作——轻松存储与获取手机文件

Android获取各种系统路径的方法完整 操作手机文件 工具类Android获取各种系统路径的方法 通过Environment获取的Environment.getDataDirectory().getPath() :                                      获得根目录/data 内部存储路径Environment.getDownloadCacheDirec

2017-07-11 11:01:43 7761

原创 Java获取 ISO 8601格式时间

/** * 传入Data类型日期,返回字符串类型时间(ISO8601标准时间) * @param date * @return */ public static String getISO8601Timestamp(Date date){ TimeZone tz = TimeZone.getTimeZone("Asia/

2017-07-10 10:15:37 21092 2

转载 Android将Bitmap保存成本地图片

主要步骤确定存储路径获取外部存储权限确定外部存储状态确定文件名保存到文件中发送广播通知系统扫描保存后的文件图片的异步保存本文描述将一个Bitmap对象保存为一个图片文件的主要步骤。保存的图片文件能够立刻在系统相册和图库中找到。主要步骤这里只介绍按下“保存”后如何将一个Bitmap对象保存为图片文件的执行步骤,对图片的下载,图片到Bitmap对象的转换,Bitmap对象的格式转换和压缩

2017-07-10 10:02:13 31669

转载 Android 同步异步区别

在Android的API当中handler消息处理、Broadcast广播消息等均采用异步通信机制。什么是异步通信机制呢?和它相对的同步通信机制又是什么呢?有什么区别呢? Synchronous(同步)和Asynchronous(异步)的概念最早来自通信领域。通信的同步:指客户端在发送请求后,必须要在服务端有回应后客户端才继续发送其他请求,所以这时所有请求将会在服务端得到同步,直到服务端返回请

2017-07-06 07:01:23 1887

原创 Android广播接收器BroadcastReceiver——学会这一篇文章就够了

Android广播机制概述自定义BroadcastReceiverBroadcastReceiver注册类型广播发送及广播类型1Normal Broadcast普通广播2System Broadcast 系统广播3Ordered broadcast有序广播4Sticky Broadcast粘性广播5Local BroadcastApp应用内广播本地广播 4不同注册方式的广播接收器回调o

2017-07-05 21:16:30 6454

转载 Android 在Service中启动Activity的大坑

一    Context的继承关系图二    异常如何产生三    解决这个异常后会出现问题四    ActivitystartActivity为什么不出现这个异常呢五    Android 为什么要这么设计六 样例代码Service 启动 Dialog使用 WindowManager 实现使用 Activity 实现在Activity中其中startActivity这个大家应该是

2017-07-05 10:43:05 23982 6

原创 设计模式之——观察者模式(触发联动)

观察者定义何时使用观察者模式实现方式一观察者模式 经典模版实现方式二利用Java提供的观察者实现 观察者模式实现方式三区别对待观察者场景问题 灵活定制观察者观察者定义 观察者模式的定义,有多个对象在关注着一个对象,如果这个对象的状态发生了改变,其它依赖(关注)它的对象就会收到通知,然后在接收到通知以后各个对象做出相应的动作。这里涉及到两个概念(观察者和被观察者(目标类)),被观察者只能有

2017-06-30 17:26:21 4685

原创 Object类wait,notify,notifyAll的使用

Object类waitnotifynotifyAll的使用waitnotifynotifyAll总结Object类wait,notify,notifyAll的使用这三个方法是java的基础类Object中定义的。wait()JDk文档写道在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。换句话说,此方法的行为就好像它仅执行 wait(0)

2017-06-29 19:25:21 777

原创 JAVA多线程————一篇文章让你彻底征服多线程开发(一)

线程生命周期线程的调度与控制synchronized死锁守护线程Timerschedule线程生命周期线程是一个进程中的执行场景,一个进程可以启动多个线程 多线程不是为了提高执行速度,而是提高应用程序的使用率.线程和线程共享”堆内存和方法区内存”.栈内存是独立的,一个线程一个栈.可以给现实世界中的人类一种错觉 : 感觉多线程在同时并发执行. 很多人都对其中的一些概念不够明确,如同步、

2017-06-29 14:48:47 34991 6

原创 Android界面绘制流程

1.ViewRootViewRoot是连接WindowManager与DecorView的纽带,View的整个绘制流程的三大步(measure、layout、draw)都是通过ViewRoot完成的。当Activity对象被创建完毕后,会将DecorView添加到Window中(Window是对窗口的抽象,DecorView是一个窗口的顶级容器View,其本质是一个FrameLayout),同时会创

2017-06-22 13:57:36 2206

原创 Spring深入研究(三)

基于aspectJ的注解aop操作jdbcTemplate实现crud操作添加 修改和删除操作增加jdbcTemplate实现 CRUD 操作查询实现第一种 查询返回某一个值第二种 查询返回对象第三种 查询返回ListSpring配置c3p0连接池Spring配置c3p0连接池dao使用jdbcTemplateSpring的事务Api事务概念Spring事务管理apiSpri

2017-05-21 15:15:10 683

原创 androidAnnotations常用注解总结

androidAnnotationsEnhanced componentsEActivityInjectionViewByIdRidbutton1ViewsByIdRidtextView2RidtextView3AfterViewsExtraMainActivityNAME_KEYEvent bindingClickRidbutton1Ridbutton2LongClickRid

2017-05-07 12:14:25 527

原创 Spring深入研究(二)

Spring的bean管理(注解)Spring注解开发准备 1 导入jar包 (1)导入基本的jar包 commons-logging.jar log4j.jar spring-beans.RELEASE.jar spring-context.RELEASE.jar spring-core.RELEASE.jar spring-expression.

2017-05-06 17:30:04 422

原创 Spring深入研究(一)

Spring创建Spring配置文件Spring配置文件 名字位置不固定放在src目录下面,命名applicationContext.xmlschema约束<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http

2017-04-29 15:49:13 563

原创 Vimrc配置文件

" 不要使用vi的键盘模式,而是vim自己的 set nocompatiblesource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vim" 加载配置。 behave mswinset diffexpr=MyDiff()function MyDiff() let opt = '-a --binary ' if &

2017-04-10 14:26:03 1153

原创 服务器端 文件上传模版代码

import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Arrays;import java.util.List;import java.util.UUID;import javax.servlet.

2017-03-14 17:21:46 740

原创 常用开源数据库连接池与编写自己的JDBC框架

常用开源数据库连接池数据库连接池都要实现DataSource接口DBCP:连接设置driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbc username=root password=初始化连接initialSize=10最大连接数量maxActive=50最大空闲连接maxIdle=20最小空闲连接

2017-03-04 17:25:27 807

原创 数据库表设计最终方案

每天睡觉前必做两件事数据库表的设计一对多 多对一 多对多 一对一一对多或多对一:多的一方加外键,描述数据的关系 多对多:加中间表来描述关系一对多或多对一的对象存到数据库时,表的设计方案(部门和员工) create table department ( id int primary key, name varchar( 40) ); create table emp

2017-03-03 10:19:31 2211

原创 使用beanUtils操纵javabean

使用beanUtils操纵javabeancommons-beanutils-.jar commons-logging.jar使用beanUtils操纵bean的属性ConvertUtils.register( new DateLocaleConverter( ),Date.class); Person p=new Person( ); BeanUtils.setProperty( p

2017-02-28 14:49:53 380

原创 反射

静态导入自动装箱/拆箱// Last Change: 2017-02-28 11:18:25// Last Change: 2017-02-27 18:14:12// Last Change: 2017-02-27 15:22:54Integer i=i; //装箱int j=i; //拆箱Iterator it=list.iterator( );while( it.hasN

2017-02-28 13:54:30 397

原创 MVC 三层架构 事务

批处理Statement addBatch(sql); //添加SQL命令executeBatch()方法:执行批处理命令clearBatch()方法:清楚批处理命令JDBC获取主键和调用存储过程st=conn.prepareStatement(sql);st.excuteUpdate();rs=st.getGenerateKeys();if(rs.next()){ System.o

2017-02-25 17:15:37 599

原创 进入标签的世界JSTL与EL深入研究

<%@page import="java.util.*"%><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><jsp:useBean id="person" class="com.jia.test.Person"></jsp:useBean><%@ taglib

2016-08-11 16:40:40 508

原创 Android 地图导航开发

在相关下载里下载最新的库文件。将so文件的压缩文件解压出来,把对应架构下的so文件放入开发者自己APP的对应架构下的文件夹中(建议全部放入以提高程序兼容性),将locSDK_6.X.jar文件拷贝到工程的libs目录下,这样您就可以在程序中使用百度定位SDK了。使用eclipse开发的开发者,只需要将SO的文件夹放到libs下即可;使用AndroidStutio的开发者除了上述操作,还需要在bui

2016-08-04 14:34:32 1023

原创 为什么每天都如此开心

我说过,我的情绪分为高兴、很高兴和非常高兴。每一个跟我相处过的人,都觉得像我这种24小时脸都笑烂了的傻×,肯定是从出生到现在就一帆风顺,人生的最大挫折就是眼睫毛又掉了两根吧?怎么可以这么乐观、这么二?不然呢,我该每天以泪洗面吗?我以泪洗面,这事儿就能解决吗?到底为什么我可以做到这么乐观?为什么很多人跟我经历的事儿的狗血程度差不多,甚至比我还轻点儿,却比我痛苦一万倍?柴静在《看见》里说过一句话:痛苦不

2016-08-02 17:52:56 1636

原创 最常用的HTML标签 总结整理

body:在网页上要展示出来的页面内容一定要放在body标签中p:如果想在网页上显示文章,这时就需要p标签了,把文章的段落放到p标签中。标签的默认样式,段前段后都会有空白,如果不喜欢这个空白,可以用css样式来删除或改变它。hx:标题标签一共有6个,h1、h2、h3、h4、h5、h6分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。并且依据重要性递减。h1是最高的等级。stro

2016-07-14 08:41:06 9042

原创 Android绘图机制与处理技巧

一屏幕的尺寸信息1屏幕参数2系统屏幕密度3独立像素密度dp4单位换算二2D绘图基础三Android XML 绘图BitmapShapeLayerSelector四绘图技巧Canvas一.屏幕的尺寸信息1屏幕参数屏幕大小 指屏幕对角线的长度,通常使用”寸”来度量,例如4.7寸手机 5.5寸手机等.分辨率 分辨率是指手机屏幕的像素点个数,例如720*1280是指屏幕分

2016-07-12 21:01:28 2341

原创 与Session的亲密接触&彻底掌握Java中Session Token Cookie

Session管理Session管理网址重写隐藏域cookieServlet相对路径和绝对路径 Session管理(Session追踪)是Web应用程序开发中一个非常重要的主题. 本篇文章将重点讲解常用的Session管理的四个方法:网址重写 隐藏域 cookie 及HttpSession对象.1.网址重写 网址重写是一种Session追踪技术,需要将一个或多个token作为

2016-07-07 20:38:25 3973

原创 JAVA WEB SERVLET 基础知识点

ServletServletServlet API 概述Servlet编写基础的Servlet应用程序1编写和编译Servlet类2应用程序的目录结构3调用ServletServletRequestServletResponseServletConfigServletContextGenericServlet1 HTTPServlet2 HttpServletRequest

2016-07-01 00:57:29 3333

原创 Servlet 远航 预备篇

一超文本转移协议HTTP1HTTP请求2HTTP响应二Tomcat1下载和配置Tomcat2Tomcat环境变量3启动和停止Tomcat4定义Context5定义资源 趁着现在项目不是很紧,我打算抽出一些时间写个Servlet和JSP的一个专题, 算是对自己这么多年来的一个技术总结吧! 我们会从最基础的开始包括HTTP协议的讲解,逐渐深入到最后的java主流框架都会进行深入

2016-06-29 00:51:36 585

原创 Android RecyclerView 完全解析

什么是RecyclerView你想要控制其显示的方式,请通过布局管理器LayoutManager 你想要控制Item间的间隔(可绘制),请通过ItemDecoration 你想要控制Item增删的动画,请通过ItemAnimator ![RecyclerView能干什么][1] RecycleView 1、不关心Item是否显示在正确的位置,如何显示 —–用LayoutManager 2

2016-06-16 20:07:32 551

原创 编程基础 二进制 解密

二进制基础进制转换十进制数字57转换为二进制方法:用二进制表示57则为(按权展开):111001=2^(6-1)+2^(5-1)+2^(4-1)+2^(1-1)=32+16+8+1=57 ![十进制换算二进制][2] 换算为二进制采用短除2 除法 商 余数 2|5 2 1 2|1 0 1 直到商为0,再将余数倒序排列 ![常用进制的换算][3] ![适合计算机的进制8、16都是2的整

2016-06-11 10:18:41 5515

原创 操作数据表中的记录

回顾和概述默认约束和非空约束不存在表级约束,只能为列级约束 主键约束,唯一约束,外键约束即存在表级约束,也存在列级约束 约束划分 1,功能 非空约束 not null 主键约束 primary key 唯一约束 unique key 外键约束 foreign key 默认约束 default 2,个数 表级约束 foreign key unique key primar

2016-05-27 00:10:45 1927

原创 Android Scroll分析 (二) 教你使用七种方法实现滑动

实现滑动的基本思想是:当触摸View时,系统记下当前触摸点坐标;当手指移动时,系统记下移动后的触摸点坐标,从而获取到相对于前一次坐标点的偏移量,并通过偏移量来修改View的坐标,这样不断重复,从而实现滑动过程.2.1 Layout方法在View进行绘制时,会调用onLayout()方法来设置显示的位置 通过修改View的left,top,right,bottom四个属性来控制View的坐标,在每次

2016-05-26 22:09:52 7521

原创 Android Scroll分析 (一) 滑动效果是如何产生的

1.滑动效果是如何产生的要实现View的滑动,就必须监听用户触摸的事件,并根据事件传入的坐标,动态且不断地改变View的坐标,从而实现View跟随用户触摸的滑动而滑动. 1.1 Android 坐标系 将屏幕最左上角的顶点作为Android坐标系的原点,从这个点向右是X轴正方向,从这个点向下是Y轴正方向. 系统提供了getLocationOnScreen(int location[])方法来获

2016-05-23 20:27:54 581

Android Super ListView

Android ListView 优化

2016-05-06

SharedPreferences解析

SharedPreferences详细解析

2015-02-09

空空如也

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

TA关注的人

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