自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

若鱼的专栏

JAVA开发

  • 博客(203)
  • 资源 (50)
  • 问答 (1)
  • 收藏
  • 关注

原创 无用的知识点又增加了-关于Spring Bean的生命周期

问:请描述下Spring Bean的生命周期答:简单的说就3步:1、创建BeanDefination阶段2、创建Bean阶段3、销毁Bean阶段创建BeanDefination阶段1.BeanFactory通过xml、注解配置类创建BeanDefination2.通过BeanFactoryPostProcessor.postProcessBeanFactory()对BeanFination进行修改创建Bean阶段1.反射调用构造函数,创建初始化的Bean对象2.注入@Autowired

2022-04-30 10:23:37 1113

原创 无用的知识点又增加了-关于FactoryBean

问:如果在Spring中定义了一个FactoryBean,那么容器中会存在几个Bean?一个还是两个?写一段代码测试下:public class FactoryBeanTest { public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); ctx.registerBean(Us

2022-04-30 09:34:22 320

原创 那些年,我们写过的低级BUG,警钟长鸣

又一个低级的生产BUGif(newDto.getStoreName().equals(oldDto.getStoreName()) && newDto.getStoreCode().equals(oldDto.getStoreCode()) && newDto.getGoodsName().equals(oldDto.getGoodsName()) && newDto.getGoodsSpec().equals(oldDto.getGood

2022-02-23 12:44:26 757

原创 JDBC执行批量UPDATE的几个坑

关于allowMultiQueries上代码:@Test public void testUpdateBatch2Jdbc()throws Exception{ Connection conn = ds.getConnection(); PreparedStatement pstmt = conn.prepareStatement( "update users set gender = 0 where id = 1;" +

2021-12-10 16:14:56 3353

原创 Mybatis一级缓存与二级缓存

一级缓存作用范围是SqlSession,当创建SqlSession的时候,会创建Executor,父类BaseExecutor中有一个localCache,查询结果就是缓存在这个localCache中。如果SqlSession执行了增删改就会刷新缓存二级缓存作用范围是namespace,当框架启动的时候会去解析每一个mapper.xml,一个mapper.xml有一个与之对应的namespace,一个xml中会有多个MappedStatement,每个查询的MappedStatement都会关联一个

2021-09-10 20:56:42 809

原创 3个线程依次交替打印ABC

方法1.wait-notifypublic static void main(String[] args) throws Exception{ Object lock1 = new Object(); Object lock2 = new Object(); Object lock3 = new Object(); Thread t1 = new Thread(()->{ while(true){ try{

2021-07-14 11:34:52 283

原创 mysql的bigint(20)里面的20代表什么含义?

参考:Types in MySQL: BigInt(20) vs Int(20)See http://dev.mysql.com/doc/refman/8.0/en/numeric-types.htmlINT is a four-byte signed integer.BIGINT is an eight-byte signed integer.They each accept no more and no fewer values than can be stored in their resp

2021-03-01 17:16:15 939

原创 又见Druid:sql injection violation, multi-statement not allow

之前写过一篇关于这个问题的文章:https://blog.csdn.net/goldenfish1919/article/details/50600053最近在一个项目中又遇到这个问题了,道理在上篇文章中已经说得很清楚了,说一下这回遇到的问题。首先,项目是用jndi来连接的数据库,因此数据库的配置不是配置在应用程序里面的,比如${tomcat_home}/conf/context.xml:<Context> <WatchedResource>WEB-INF/web.xm

2020-12-01 09:30:21 1192

原创 Apollo配置中心客户端源码解析

配置中心在现在的分布式系统可以说是一个必不可少的核心组件了,国内使用最广泛的配置中心应该是携程开发的Apollo。Apollo的思想还是挺简单的,简单地说,服务端利用Eureka做高可用,配置信息存到数据库,客户端调用服务端的接口,拉取最新的配置,如果有变化,就更新客户端的配置。服务端提供了可视化的图形界面去修改配置,保存到数据库。我们今天先来看下客户端部分是如何来实现的。客户端的主要功能就是调用服务端接口,获取最新的配置,然后更新配置。由于apollo-client的代码还是比较复杂了,因此在它的基础上

2020-10-15 12:24:25 747

原创 spring-cloud-starter-openfeign源码解析

上文中我们讲了spring-cloud-starter-openfeign的使用,比起原生的openfeign的api好用了很多,本文我们就来看下它的源码。看下spring-cloud-openfeign-core:这里面对openfeign做了自动配置,其中FeignRibbonClientAutoConfiguration和FeignLoadBalancerAutoConfiguration显然是做负载均衡的,FeignHalAutoConfiguration是用来处理application/ha

2020-09-22 19:48:08 1098

原创 如何获取当前线程中所有的ThreadLocal?

public class ThreadLocalUtil { public static Map<ThreadLocal, Object> getThreadLocalMap(){ Map<ThreadLocal, Object> threadLocals = new HashMap<>(); Thread thread = Thread.currentThread(); try{ Fiel

2020-09-16 16:37:58 7185

原创 spring-cloud-starter-openfeign使用详解

首先还是把demo跑起来:添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>添加注解@SpringBootApplication@EnableFeignClients//添加这个注解public c

2020-09-15 09:16:10 19500 1

原创 搞了一天存储过程,现在又说历史数据不用处理了。。。

十几年不写oracle的存储过程了,花了一整天,一行一行的调试出来的,说不用就不用了,记一下语法吧,万一以后还能用得上:--先创建个类型CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4000);-- 创建个字符串拆分函数 CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_sp

2020-09-11 14:14:33 239

原创 OpenFeign源码解析

feign的核心功能就是通过接口去访问网络资源,猜一下里面也是用动态代理来实现的,就跟Mybatis用接口去访问数据库一样,今天我们就来看下源码的处理,核心就一个包:<dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-core</artifactId></dependency>先来看个demo://feign接口public in

2020-09-08 09:13:56 878

原创 OpenFeign使用详解

openfeign是一个java的http客户端,用来简化http调用,先看一个最简单的demo:这是服务端接口:@RestControllerpublic class DemoController { @GetMapping("/hello") public String hello(){ return "hello"; }}openfeign是如何来调用这个接口的呢?public interface Demo { @RequestLine("

2020-08-31 21:00:51 8698

原创 spring-cloud-starter-netflix-hystrix使用详解

前面文中我们学习了hystrix的原生使用(hystrix入门-原生API使用)和注解使用(hystrix进阶-注解hystrix-javanica使用),本文来看下hystrix在spring-boot中的使用。首先还是先看个最简单的demo第一步:添加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netf

2020-08-24 09:16:41 15023

原创 SpringBoot 2.2和2.3异常处理的一个小变化

先看个有意思的现象:@RestControllerpublic class DemoController { @GetMapping("/hello") public String hello(){ throw new RuntimeException("服务端异常,请稍后再试!"); }}在springboot2.2.0的时候,浏览器访问http://localhost:8080/hello,输出结果如下:换成springboot2.3.0的时候,输出

2020-08-18 08:57:07 1816 1

原创 hystrix进阶-注解hystrix-javanica使用

前一篇我们讲了hystrix原生api的使用,用起来还是比较复杂的,如果想让一个方法支持fallback还得去继承HystrixCommand,跟业务完全耦合到一起,对业务的侵入性太大了,显然不利于hystrix的使用,因此hystrix-javanica出现了,可以让应用以注解的方式更方便的来使用hystrix。先看个demo第一步:引入依赖<dependencies> <dependency> <groupId>com.netflix.hystrix&l

2020-08-16 15:12:26 652 2

原创 hystrix入门-原生API使用

熟悉spring-cloud的同学都知道,hystrix是用来做服务熔断降级用的,在Springloud中使用hystrix很简单,后面的文章中我们再演示,今天首先来看下原生的hystrix api是如何来使用的。hystrix入门demo<!--添加下这个依赖--><dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-core</

2020-08-10 09:17:58 620

原创 spring-boot-starter-logging源码解析

本文以2.2.0为例来说明下,首先还是打开jar包,不出所料,空空如也:然后打开autoconfigure的jar包,找到spring.factories,搜索logging:打开ConditionEvaluationReportLoggingListener,这里也没有配置使用哪一个log框架啊,没办法,只好看一下它的依赖:依赖了logback,同时还依赖了jul-to-slf4j和log4j-to-slf4j,我们知道logback是springboot默认使用的日志框架,那么后面这两个ja

2020-08-05 10:02:15 1896 3

原创 spring-boot-starter-data-redis源码解析与使用实战

我们以spring-boot-starter-data-redis-2.1.7为例,starter本身没有包含任何代码,只是引入了spring-data-redis的依赖,因此肯定是在spring-boot-autoconfigure中加了自动配置:我们就看下这几个配置类:其中RedisAutoConfiguration里面就配置了我们常用的RedisTemplate,RedisRepositoriesAutoConfiguration这里面是实现了spring-data规范的一些配置,RedisRe

2020-07-26 12:04:24 5779

原创 SpringBoot加载web项目流程源码解析

​上一篇文章中我们写了一个极简版的SpringBoot,基本完成了Controller的映射和访问,真实的SpringBoot是如何来做的?我们以2.3.0.RELEASE版本的SpringBoot为例来看下它是如何一步一步创建内嵌的tomcat并且注册DispatcherServlet的,它是否跟上篇文章中讲的一样,也是利用了Servlet3.0的ServletContainerInitializer和WebApplicationInitializer呢? 友情提示:公众号的排版对源码的文章非常不友好,建

2020-07-20 09:36:29 396

原创 三分钟手写极简版SpringBoot-重复造个轮子

前一篇文章中(SpringMVC不使用web.xml如何配置及源码解析)我们讲了SpringMVC如何使用JavaConfiguration的方式进行配置,这个不就跟SpringBoot里面创建web项目是一样一样的吗?今天我们就来模拟一个极简版的SpringBoot。(1)添加依赖。<dependencies> <dependency> <groupId>org.springframework</groupId>

2020-07-14 09:22:50 266

原创 SpringMVC不使用web.xml如何配置及源码解析

SpringMVC在很久之前就不推荐使用web.xml作为项目的配置文件了,更推荐使用java configuration的方式,因为web.xml配置实在是太繁琐了,今天我们就来演示下如何使用更简单的java configuration的方式来配置SpringMVC,总共分3步,非常简单。第一步:添加入口类WebApplicationInitializer。首先需要在项目中添加一个WebApplicationInitializer的实现类,一般是继承AbstractAnnotationConfigDi

2020-07-06 09:20:19 1672

原创 Java中到底能不能在运行时获取方法的参数名?why?how?

最近一个项目有一个需求,需要去获取方法的参数名,我们知道,java的源文件首先是编译成class文件,jvm在运行时是执行的class文件的字节码, 那么,如果想获取到方法的参数名,首先要保证class文件中得有参数的名字才可以,那么我们就来看一下,默认的javac编译出来的class文件中是否是带有参数名的://这是一个非常简单的类:package com.github.xjs;public class CompilerDemo { public static void main(Strin

2020-07-04 13:17:39 440 1

原创 Spring IOC的@Autowired、@Inject、@Resource的区别

使用过Spring的同学相信对这几个注解都已经很熟悉了,这几个都是用来做依赖注入的,我们挨个的来看一下。@Autowired@Autowired可以加在构造函数、方法、方法参数、成员变量、注解上,从Spring4.3开始,如果bean只有一个构造函数,或者只有一个primary/default的构造函数,那么构造函数上的@Autowired可以不加,否则还是要在某个构造函数上明确的加上@Autowired。源码如下:@Deprecated@Retention(RetentionPolicy.RUN

2020-06-27 09:43:57 284

原创 spring aop的@target与@within的真正区别到底是什么?

文档里面是这么说的:@target: Limits matching to join points (the execution of methods when using Spring AOP) where the class of the executing object has an annotation of the given type.@within: Limits matching to join points within types that have the given annot

2020-06-19 21:15:14 5797 1

原创 Spring的@Bean只能放在@Configuration里面吗?

首先来看几个问题:1.@Bean方法只能定义在@Configuration里面吗?2.@Bean方法定义在@Configuration里面和定义在@Component里面有啥区别?3.@Bean方法可以是private static的吗?4.@Bean方法啥时候必须得定义成static的?先说一下答案:只要是@Component注解修饰的类里面都可以定义@Bean,并且都可以注册到Spring容器里面。其实不仅仅是@Component,只要是被@Component修饰的注解同样

2020-06-13 18:00:01 1107

原创 Spring的Event事件处理使用详解

Spring中使用事件非常简单,只需要以下的几个步骤:1.定义事件,继承ApplicationEvent2.定义监听,要么实现ApplicationListener接口,要么在方法上添加@EventListener注解3.发布事件,调用ApplicationContext.publishEvent()或者ApplicationEventPublisher.publishEvent();下面我们就用一个例子来说下具体的用法:比如用户注册成功以后,系统要给用户发送一封邮件,同时还要给用户发放优惠券,

2020-06-08 09:59:31 7403 1

原创 Spring的@EnableScheduling与@Scheduled使用详解

首先来看下EnableScheduling的javadoc:@EnableScheduling启用了Spring的任务调度功能,这跟在xml中配置task:* 是一样的,它可以加在@Configuration上:@Configuration@EnableSchedulingpublic class AppConfig {// various @Bean definitions}下面的代码可以在容器中的bean上查找到@Scheduled注解,比如:package com.myco.task

2020-05-30 13:52:42 4621

原创 Spring的@EnableAsync与@Async使用详解

@EnableAsync的javadoc@EnableAsync可以让Spring启用异步方法执行,就跟在xml中配置task:* 效果是一样的。它可以跟@Configuration结合,让整个Spring环境启用基于注解的异步处理:@Configuration@EnableAsyncpublic class AppConfig {}比如下面的MyAsyncBean是一个用户自定义的Bean,它里面的方法上添加了@Async注解或者EJB 3.1 的@javax.ejb.Asynchronou

2020-05-23 14:31:49 7358 1

原创 Spring-Boot-Starter-AOP源码解析

打开spring-boot-starter-aop的jar包:里面一个类也没有,只是在pom中添加了几个依赖:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.1.7.RE

2020-05-18 13:24:06 1008

原创 SpringAOP使用详解

https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#aop-ataspectj几个AOP相关的概念Aspect: 在SpringAOP中,切面就是一个普通的类,然后要么加上@Aspect注解,要么在xml中配置下,它里面包含了Advice和Pointcut。Joint point:程序执行的时候的某个点,比如执行方法的时候,抛出异常的时候,在SpringAOP中一般代表方法

2020-05-10 16:40:57 431

原创 Spring的@Import注解详解

首先看下@Import的javadoc文档:Provides functionality equivalent to the element in Spring XML. Allows for importing @Configuration classes, ImportSelector and ImportBeanDefinitionRegistrar implementations, ...

2020-04-26 13:34:33 339

原创 mockbatis-spring-boot-starter重复造轮子

前面两篇文章我们介绍了mybatis-spring-boot-starter的使用入门和源码解析,源码当中还是有很多地方值得我们去学习的,这篇文章我们就来实现一个自己的mockbatis-spring-boot-starter,回顾一下这里面的知识点。我们今天要实现的效果是这样的://类似于@Mapper@MockMapperpublic interface UserMapper { ...

2020-04-21 09:39:00 319

原创 MyBatis-Spring-Boot-Starter源码解析

我们以MyBatis-Spring-Boot-Starter:2.1.2为例,首先打开mybatis-spring-boot-autoconfigure:2.1.2,找到spring.factories:# Auto Configureorg.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.mybatis.spr...

2020-04-17 16:35:23 827 4

原创 MyBatis-Spring-Boot-Starter扫盲

springboot集成mybatis非常简单,只需要两部:(1)添加依赖:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <vers...

2020-04-03 13:56:52 2067 1

原创 SpringBoot的@Configuration扫盲

@Configuration注解标识的类中声明了1个或者多个@Bean方法,Spring容器可以使用这些方法来注入Bean,比如:@Configurationpublic class AppConfig { //这个方法就向Spring容器注入了一个类型是MyBean名字是myBean的Bean @Bean public MyBean myBean() { // inst...

2020-03-28 10:30:08 13818 2

原创 MySQL-MyBatis-Tinyint填坑

先看下表结构:mysql> show create table user \G*************************** 1. row *************************** Table: userCreate Table: CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT...

2020-03-11 22:39:43 7284

转载 为什么Mongodb索引用B树,而Mysql用B+树?

来源:https://zhuanlan.zhihu.com/p/107228878引言好久没写文章了,今天回来重操旧业。今天讲的这个主题,是《面试官:谈谈你对mysql索引的认识》,里头提到的一个坑。也就是说,如果面试官问的是,为什么Mysql中Innodb的索引结构采取B+树?这个问题时,给自己留一条后路,不要把B树喷的一文不值。因为网上有些答案是说,B树不适合做文件存储系统的索引结构。...

2020-03-04 14:50:09 2229 2

全国行政区划2022年版

全国行政区划2022年版

2022-08-31

省市区名称与代码的SQL

省市区的mysql,可以直接导入数据库。省市区的mysql,可以直接导入数据库。

2017-11-09

Nginx安装配置

nginx源码安装和配置,集成cache-purge、https,希望参考:《实战Nginx:取代Apache的高性能Web服务器》《Nginx教程从入门到精通》《HTTPS权威指南 在服务器和Web应用上部署SSL&TLS;和PKI》

2017-10-13

apache安装并配置HTTPS

apache源码安装并配置HTTPS,首先要安装apr、apr_util、pcre、openssl,资源中包含了所需的所有的源码和安装文档。

2017-10-11

记录应用的接口访问信息

基于SpringBoot,实现记录应用的接口访问信息,包括接口的访问次数、正常调用次数、异常调用次数、接口的平均访问时间、最大访问时间、最小访问时间。

2017-09-26

Redis4基于CentOS6集群搭建

Redis4基于CentOS6集群搭建,3主3从,文档是安装在同一台机器上,实际可以安装在不同的机器,启动集群的时候指定ip地址就可以。

2017-09-07

Oracle11gR2 CentOS7 静默安装

Oracle11gR2 CentOS7 静默安装,开机自启动,等等

2017-08-15

navicat for mysql解压版

navicat for mysql解压版

2017-08-03

EmEditor Pro15.1.5x64解压版

EmEditor Pro15.1.5x64解压版

2017-08-03

jd反编译工具

jd-gui反编译,jdeclipse插件

2017-08-03

gitlab安装-配置-运维-使用详细说明

gitlab安装-配置-运维-使用详细说明

2017-07-21

Axure8.0破解版+chrome插件

Axure8.0破解版+chrome插件

2017-07-03

dubbo调用的例子

dubbo-interface dubbo-provider dubbo-consumer

2016-09-25

Spring Boot集成MyBatis与分页插件

Spring Boot集成MyBatis与分页插件

2016-06-18

maven+spring+mybatis配置

1.非web环境下spring如何与mybatis集成 2.maven如何打可以直接运行的jar包 3.maven如何用profile动态打包jdbc.properties 4.maven如何把mybatis的mapper.xml一起打包到jar中

2015-12-17

Apache CXF + Spring3 + REST + JSON配置

Apache CXF配置REST服务,集成到Spring当中。

2015-09-01

Android-加速传感器或者OrientationEventListener做横竖屏切换

在播放视频的时候,可能要做横竖屏的切换,但是,用户可以设置自己的手机关掉屏幕旋转,这个时候就需要想其他的办法了,比如:加速传感器或者OrientationEventListener。

2015-08-13

Android日期时间选择控件

android的DatePicker与TimePicker都受android系统版本的影响,展示风格非常不统一,而且不能同时选择日期与时间。这个控件就能做到。

2015-08-12

Android-对ListView的Adapter的一种简单封装

对ListView的Adapter的一种简单封装,详细:http://blog.csdn.net/goldenfish1919/article/details/47039985

2015-07-24

Android-自定义显示价格的PriceView

如何用onDraw和onMeasure自定义view

2015-03-18

Android-maven配置multidex打包

工程大了以后,不可避免就会出现方法数目超出65536的限制,很幸运的是新的android提供了多dex打包的方式可以解决这个问题。本资源就是演示如何用android-maven-plugin打多dex包。

2014-12-18

launch mode 测试demo

android支持4中launch mode,本例就是想看下他们之间的区别。

2014-11-03

Android-用ListView模仿ExpandableListView

ListView的adapter有一个getItemViewType()和getViewTypeCount()这么两个方法,挺好用的,主要是用来练习这两个方法的。

2014-08-01

Android-异步图片加载器

在ListView中加载图片是非常常见的场景,图片的加载要满足下面的几个要求: (1)不管图片是位于网络还是本地,加载都不应该是同步的,而是应该异步去加载,比如用AsyncTask。 (2)为了避免重复下载图片和页面展示的速度,一般要做缓存,比如最常见的LruCache。 (3)为了提高Listview的性能,我们一般会用holder来重用Listview的item。 因为item会重用,所以当图片下载时间很长的情况下,就会引起页面上图片显示错乱!本文的图片加载器可以避免这个问题

2014-05-09

Android-Popupwindow和Dialog做弹出窗口

(1)Popupwindow在显示之前一定要设置宽高,Dialog无此限制。 (2)Popupwindow默认不会响应物理键盘的back,除非显示设置了popup.setFocusable(true);而在点击back的时候,Dialog会消失。 (3)Popupwindow不会给页面其他的部分添加蒙层,而Dialog会。 (4)Popupwindow没有标题,Dialog默认有标题,可以通过dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);取消标题 (5)二者显示的时候都要设置Gravity。如果不设置,Dialog默认是Gravity.CENTER。 (6)二者都有默认的背景,都可以通过setBackgroundDrawable(new ColorDrawable(android.R.color.transparent));去掉。

2014-05-04

Android录音与播放

android中 (1)使用MediaRecorder做录音 (2)使用MediaPlayer播放录音

2014-04-29

Android-拍照、打开本地相册

(1)调用系统的拍照功能 (2)调用系统的相册 (3)获取文件的绝对路径

2014-03-13

Android-网络通信框架Volley使用详解

1.发送get 2.发送post 3.获取图片 4.发送https 5.获取cookie 6.上传cookie 7.自定义request 8.设置超时

2014-03-12

Android-根据EditText内容的变化,自动追加TextView

根据EditText内容的变化,自动追加TextView,可以不用适配二者之间的间距

2014-02-27

前面部分可以编辑后面部分不可编辑的EditText

有一个需求是这样的,页面上有一个输入框,供用户输入手机号码,如果通讯录里面存在这个号码,会自动把名字追加到号码后面。这个需求变态的地方在于,假如用一个EditText+TextView,那么不好控制二者之间的距离,就算是做了各种适配,但是用户可以设置系统的字体,仍然显示很难看!没办法,之好在一个EditText里面来实现号码部分可编辑,名字是自动追加上的。

2014-02-25

Android-从页面右侧滑出通讯录

点击从页面右侧滑出通讯录 /*主要参考: * * 1. Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音 * http://blog.csdn.net/xiaanming/article/details/12684155 * 2. Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 * http://blog.csdn.net/xiaanming/article/details/11066685 * 3. Android系统联系人全特效实现(上),分组导航和挤压动画 * http://blog.csdn.net/guolin_blog/article/details/9033553 */

2014-02-22

Android-部分可编辑的EditText

有一个需求是这样的,页面上有一个输入框,供用户输入手机号码,如果通讯录里面存在这个号码,会自动把名字追加到号码后面。这个需求变态的地方在于,假如用一个EditText+TextView,那么不好控制二者之间的距离,就算是做了各种适配,但是用户可以设置系统的字体,仍然显示很难看!没办法,之好在一个EditText里面来实现号码部分可编辑,名字是自动追加上的。

2014-02-20

自动购票2014-01-11版

(1)不支持验证码自动识别 (2)不支持一次顶多个票

2014-01-11

SharedPreferences帮助类

(1)用单例注册表模式来管理所有的SharedPreferences文件 (2)支持批量写入 (3)支持按版本号写入key (4)对key的写入是异步,提高效率 原理请参考:http://blog.csdn.net/goldenfish1919/article/details/17629541

2013-12-31

Android自定义组件-MultiTextView(更新)

可以在一个固定宽度的区域显示多个不定长度的字符串,类似于淘宝上商品详情的尺码和颜色分类那种。

2013-12-25

如何让TextView的人民币符号是¥(下面是两道杠)而不是一道杠

如何让TextView的人民币符号是¥(下面是两道杠)而不是一道杠

2013-12-18

android自定义组件-刮刮卡

刮刮卡,引用在:http://gundumw100.iteye.com/blog/1932020

2013-12-13

ListView后台更新报错:java.lang.IllegalStateException

java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131230720, class android.widget.ListView) with Adapter(class com.example.listviewdemo.UserListAdapter)]

2013-12-13

Android自定义组件-MultiTextView

可以在一个固定宽度的区域显示多个不定长度的字符串,类似于淘宝上商品详情的尺码和颜色分类那种。

2013-12-11

Android的ExpandableListView+CheckBox全选

ExpandableListView的group和child里面都含有CheckBox框,二者联动。

2013-11-22

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

TA关注的人

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