自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Angus博客

知足长乐,助人为乐,自得其乐。

  • 博客(436)
  • 资源 (59)
  • 收藏
  • 关注

原创 EFLK海量日志实时分析检索系统应用实践-3.logstash 编码插件 codec

输出就是一个普通的字符串,,输入什么 输出什么,,输出这样的是原封不动的输出,,输入什么输出什么

2021-08-31 17:13:55 133

原创 EFLK海量日志实时分析检索系统应用实践-2.logstash 输入插件 input

从键盘输入 stdinadd field 增加字段,,配置的时候是什么,,输出就是什么,,可以用来特殊过滤使用

2021-08-31 17:10:52 150

原创 EFLK海量日志实时分析检索系统应用实践-1.logstash介绍配置

文件目录介绍服务启动指令, input输入 stdin 控制台的意思,也就是控制台输入, output输出方式,也是控制台输出启动报错,提示有一个进程启动了,,但是可以启动多个,启动多个进程需要指定path data路径然后再启动时候加上路径指定 再次启动,默认安装一次启动是不需要配置的,用的默认路径启动后测试简单的输入输出指令如果配置过多控制台编写不合适,,写一个配置文件把指令放进去:X! 保存并退出指令读取配置文...

2021-08-31 17:08:01 225

原创 QMUI Android使用

管网:https://qmuiteam.com/androidgithubhttps://github.com/Tencent/QMUI_Android腾讯的一款Android UI开源组件库,功能列表:包含了很多UI使用https://qmuiteam.com/android/documents/Components ClassesQMUIAnimationListView使ListView支持添加/删除 Item 的动画,支持自定义动画效果。QMUIBo...

2021-08-19 10:46:23 2878

原创 框架CAS实现SSO单点登录功能

1. 概述1.1. 什么是SSO?单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。管网地址:https://www.apereo.org/projects/cas1.2. 什么是CAS?随着SSO技术的流行,相关产品也比较多,其中CAS就是一套解决方案,CAS(Central Authentication Service)中.

2021-08-09 22:21:35 953

转载 activiti并发多实例子流程任务处理

一直在搞工作流(activiti),总结一下关于工作流(activiti)中同时并发处理多个子流程的操作方法。先说下我要实现的业务:1、办公室发通知(在系统申报页面上,勾选科室,被选中的科室执行第二步)2、科室科员填报数据3、科室科长做审核(注意这里的科长审核是对应第二步的科室,本科科长去审核本单位填报完的任务)4、办公室编制立项书,汇总数据好,需求就先这样,这里主要是给讲解一下关于子流程的使用,所以其他的需求就不往上写了。先看一眼画好后的流程图:可以看到任务发起时(启动

2021-04-19 11:27:38 3610 2

转载 activiti之事件子流程的使用

一、图标:和子流程图标一样,只不过事件子流程是虚线,子流程是实线。使用规则:1.事件子流程中必须以错误开始事件或者消息开始事件开始,且事件子流程里面需要有结束标签。2.事件子流程没有incomingflow和outcomingFlow流程图示例:PS:"结束错误任务是activiti中"标签是“结束错误任务”的节点"错误开始事件"是activiti中"错误开始事件"的节点"结束错误任务"节点和"错误开始事件"需要捕获同一种错误信息。"结束...

2021-04-19 11:24:44 966

转载 activiti源码解读之心得整编

TaskService.completeTask()的执行内幕是啥?activiti采取了command模式,completeTask会被包装成一个CompleteTaskCmd,一个Cmd执行的时候需要一些外围处理,如:log日志。activiti定义了一个拦截器链,链上的每个拦截器都有个next,会一直next执行下去。以CompleteTaskCmd为例,拦截器链为:logger拦截器-->spring事务拦截器-->CommandContext拦截器-->CommandIn

2021-04-09 09:21:06 1014

转载 activiti6.0之并行网关

绘制流程图:具体的xml代码如下:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/2...

2021-03-24 14:30:41 984

转载 Activiti6.0——四种边界事件:定时器、错误、信号、补偿

一、概述边界事件:边界事件属于一种特殊的中间事件。区别是: 中间事件 可以单独作为流程元素存在于流程中,而 边界事件 必须附属于某个流程元素(如任务、子流程等)。边界事件是Catching事件。注意:补偿事件的连接线需要用association,association必须放在所有标签最后。二、定时器边界事件说明:定时器边界事件会在定时器时间到了之后进行触发,需要开启异步执行器(在activiti.cfg.xml中)。此处模拟一个损坏的物品首先交给初级工程师修理,定时1分钟后没有修好就给中级工

2021-03-24 14:08:47 2695 1

转载 Activiti6.0——四种Job工作的产生与管理

一、概述介绍: 流程在执行过程中会产生不同的任务。ServiceTask异步任务会产生异步任务,存放在一般工作表act_ru_job中。 定时任务会产生定时的任务,在定时时间未到达之前会存放在定时工作表act_ru_timer_job中。 挂起任务,比如将未到时间的定时任务手动暂停,则会存放在挂起任务表act_ru_suspended_job中。 不可执行任务,如果任务执行失败,并且在重试次数用完的情况下也没有成功执行,则任务会存放到不可执行任务表act_ru_deadletter_job中。

2021-03-24 14:00:06 1390

转载 Activiti6.0——定时器开始事件、消息开始事件和错误开始事件介绍

一、概述介绍: 在activiti中,事件按位置分可以有:开始事件、中间事件、边界时间、结束事件;按事件的特性区分有:捕获事件和抛出事件。除了事件,还有各种事件定义,常用的有:定时器事件定义、错误事件定义、信号事件定义、消息事件定义 、取消事件定义、补偿事件定义等。事件和事件定义可以进行组合,成为特定的事件。此刻: 本文主要讲四种开始事件无指定开始事件:不为开始事件指定任何的触发条件的事件。此处不介绍。 定时器开始事件:在开始事件中加入定时器事件定义。 消息开始事件:在开始事件中加入消息事件

2021-03-24 13:52:35 1870 1

转载 activiti-三种计时器事件(timer event)

1.start timer event可以设置时间,让流程定时开启流程部署后不用startInstanceByxxx,到设定时间后开启2.boundary timer event设定超时时间,当task1在设定时间内没有完成,流程实例则走向task2cancel activity参数意义参考Cancel activity属性(cancelActivity)作用3.intermediate timer event设定延迟时间,当完成task1任务后,延时指定时间,流程再走向task2

2021-03-24 11:37:17 2041

转载 ORACLE 异常错误处理,触发器异常编写,最全面的异常信息处理

本篇主要内容如下:5.1异常处理概念5.1.1预定义的异常处理5.1.2非预定义的异常处理5.1.3用户自定义的异常处理5.1.4用户定义的异常处理5.2异常错误传播5.2.1在执行部分引发异常错误5.2.2在声明部分引发异常错误5.3异常错误处理编程5.4在PL/SQL中使用SQLCODE,SQLERRM异常处理函数即使是写得最好的PL/SQL程序也会遇到错误或未预料到的事件。一个优秀的程序都应该能够正确处理各种出错情况,并尽可能...

2021-03-15 15:07:50 2306

转载 fiddler软件抓包工具超详细配置方法

最近由于需要一些抓包进行处理数据,所以就出了一期关于抓包的教程,俗话说得好,Fiddler用得好,真的可以为所欲为。首先打开fiddler官网点击页面Download Now这里注意吧上面的三个选项填写了,同意accept才能下载。双击打开下载的安装包。一直下一步在此就不过多赘述了(在此提醒一下牢记你的安装目录,因为下一步运行可能要用到)。然后下一步安装完成。可能桌面没有所以需要在文件夹找到安装目录下的执行文件。双击运行后:按照如下图设置:一

2021-02-25 09:29:52 2025 4

转载 MySQL max_allowed_packet设置及问题

mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败,导致项目访问异常。查看目前的配置:进入mysql 命令行中运行:show VARIABLES like '%max_allowed_packet%';显示的结果为:+--------------------+---------+| Variable_name | Value |+-----------------...

2021-02-02 13:38:26 543

原创 工作流activiti中任务的过期时间

方式一:流程图中动态配置如下:这样通过 taskService.setVariable来传参实现每个环节的动态时间配置taskService.setVariable这样在工作流中ACT_RU_TASK表中DUE_DATE_字段就会有时间数据方式二:直接写时间,如下:它不能直接写正常的时间日期,无法解析。这个格式相当于一天后延后三个小时,距离格式说明下面有介绍格式解析R2/2015-06-04T19:25:16.828696-07:00/P1DT10S上面的字符串通过".

2021-01-26 17:28:50 5898 5

转载 idea插件之mybatis log plugin控制台sql

兄dei,耐心把我的写的看完,我写的不繁琐,很好理解. 去Idea的plugins里面搜索mybatis log plugin.如果搜不到,没关系,这可能跟我们激活的idea时候填的激活码有关系,作者只是根据自身使用的idea经验怀疑是这个原因,不说这个 下面是官方的连接https://plugins.jetbrains.com/plugin/10065-mybatis-log-plugin.来这里选个版本下载就行.下载完是个Jar,不用管,存起来,然后我们去idea里选择插件...

2020-12-30 09:48:57 1134 1

转载 Quarkus框架入门之一:Quarkus框架介绍及简单示例

开篇最近几年,Spring全家桶横扫其它Java框架,已然成为事实标准,单体应用使用Spring Framework+Spring Boot,服务治理Spring Cloud,生态完善,各种组件层出不穷。曾经还玩过JFinal和Nutz等国内的开发框架,但是仅仅是私下玩玩,实际工作过程中,还是Spring的天下,很少会选择其它小众的框架(谁知道会不会有填不完的大坑)。最近在社区闲逛的时候,发现一个Red Hat开源的Java框架Quarkus,定位为GraalVM和OpenJDK HotSpot量身定

2020-12-25 15:54:42 2142

转载 SQL语句:insert、update 操作ORACLE中的BLOB字段

使用函数rawtohex将raw串转换为十六进制insert:insert into blob_table values(rawtohex('里面放需要增加的BLOB'));update:update blob_table set BLOB字段名 = rawtohex('里面放需要更新的BLOB');

2020-12-16 17:19:18 3472

原创 Oracle中复制表结构和表数据

1. 复制表结构及其数据:create table table_name_new as select * from table_name_old2. 只复制表结构:create table table_name_new as select * from table_name_old where 1=2;或者:create table table_name_new like table_name_old3. 只复制表数据:如果两个表结构一样:insert into ta

2020-12-16 13:51:18 661

转载 RabbitMQ控制台详解

转载于:https://blog.51cto.com/536410/2389877?source=draoverview→Totals所有队列的阻塞情况Ready:待消费的消息总数Unacked:待应答的消息总数Total:总数 Ready+UnackedPublish:producter pub消息的速率。Publisher confirm:broker确认pub消息的速率。Deliver(manual ack):customer手动确认的速率。Deliver( auto ack):

2020-12-09 17:02:30 1998

转载 SQL--LEFT JOIN 右表多条数据解决方案

用到SQL中的LEFT JOIN时,在右表中存在多条记录,即一对多的情况时,表结构与数据:CREATE TABLE `image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `productId` int(11) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=ut

2020-11-30 12:44:10 11694 2

原创 Springboot项目javax.validation使用方法详解包含组合bean和list特殊情况无法使用

javax.validation 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现。Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大。SpringBoot在内部集成了hibernate-validation,可以直接使用。常用注解:代码 说明 @Null 被注解的元素必须为null @NotNull 被注解的元素必须...

2020-11-25 11:05:25 5609

原创 Oracle ceil 函数

Ceil(值)函数返回大于等于指定值的最小整数,取整,没有四舍五入这一说法select Ceil(104.36) from dual ---105select Ceil(105.56) from dual ---106

2020-11-05 13:21:14 4413

转载 Oracle decode函数

转载于:https://www.cnblogs.com/luzhanshi/p/11895736.htmldecode函数在Oracle SQL查询语句中的使用非常广泛,也经常应用到PL/SQL语句块中。decode()函数语句的基本表达式是:decode(expr1,expr2,expr3,[expr4])作如下理解该表达式:  (1),如果expr1 = expr2,decode函数返回expr3表达式的值;  (2),如果expr1 != expr2,decode函数返回expr4

2020-11-05 13:13:05 744

转载 Springboot 整合RabbitMq ,用心看完这一篇就够了

该篇文章内容较多,包括有rabbitMq相关的一些简单理论介绍,provider消息推送实例,consumer消息消费实例,Direct、Topic、Fanout的使用,消息回调、手动确认等。 (但是关于rabbitMq的安装,就不介绍了)安装参考https://javawsj.blog.csdn.net/article/details/109465049在安装完rabbitMq后,输入http://ip:15672/,是可以看到一个简单后台管理界面的。在这个界面里面我们可以做些什么?可以...

2020-11-03 16:34:14 777 1

原创 windows环境下RabbitMQ安装及配置详细步骤和代码测试

RabbitMQ安装依赖Erlang,因为RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。所以先安装Erlang。先提前下载Erlang和RabbitMQ安装包。可以管网自行下载,比较慢。。附上百度云链接:链接:https://pan.baidu.com/s/13bQWt1cg2Nz5GTAdlT5hGw 提取码:gswm第一步安装Erlang这个安装就一个操作下一步,下一步就行了。。没...

2020-11-03 11:34:17 855

原创 Java8新特性五:方法引用(双冒号 ::)

方法引用在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑?...

2020-10-29 20:07:55 2604 4

原创 Java8新特性四:Stream流

Stream流说到Stream便容易想到I/O Stream,而实际上,谁规定“流”就一定是“IO流”呢?在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。1.1 引言传统集合的多步遍历代码几乎所有的集合(如Collection 接口或Map 接口等)都支持直接或间接的遍历操作。而当我们需要对集合中的元素进行操作的时候,除了必需的添加、删除、获取外,最典型的就是集合遍历。例如:package com.wsj.java

2020-10-26 20:52:56 728

原创 Java8新特性三:常用的函数式接口(Supplier,Consumer,Predicate,Function)

JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在java.util.function 包中被提供。下面是最简单的几个接口及使用示例。Supplier接口java.util.function.Supplier<T> 接口仅包含一个无参的方法: T get() 。用来获取一个泛型参数指定类型的对象数据。由于这是一个函数式接口,这也就意味着对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。实例:实战:求数组元素最大值Con.

2020-10-26 20:06:35 1910

原创 Java8新特性二:Functional Interfaces(函数式接口,函数式编程)

1.函数式接口1.1 概念函数式接口在Java中是指:有且仅有一个抽象方法的接口。函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。1.2 格式只要确保接口中有且仅有一个抽象方法即可:列子:package com.wsj.java8.functional;/** * @ClassName MyFunction

2020-10-25 20:20:41 870

原创 Java8新特性一:Lambda Expressions(Lambda 表达式)

Lambda介绍Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式的结构 一个 Lambda 表达式可以有零个或多个参数 参数的类型既可以明确声明,也可以根据上下文来推断。例如:(int a)与(a)效果相同 所有参数需包含在圆括号内,参数之间用逗号相隔。例如:(a, b) 或 (i

2020-10-25 20:19:52 439

原创 工作流(activiti7)-进阶使用(子流程CallActivity详细使用)(五)

子流程:(一个人让另一个人干活,然后这个人最后验收工作),主流程在进行过程中,可能需要一个或者多个其它流程来完成任务的操作。内嵌子流程(在主流程中嵌套一个流程)如下图,解耦性一般,不详细介绍唤醒callActivity流程(主流程走到某个节点后唤醒其它子流程,当子流程走完后,主流程继续走。其中子流程可以作为一个独立的流程启动互不影响)开始使用测试:其中calledelement 参数是唤醒其它流程填入其它流程的流程定义ID,这里写${call} 是可以动态配置,这样传递哪个流程ID就可...

2020-08-20 20:19:49 12505 33

原创 工作流(activiti7)-进阶使用(流程变量,网关,监听器,拦截器)(四)

一,流程变量 流程变量在activiti中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和activiti结合时少不了流程变量,流程变量就是activiti在管理工作流时根据管理需要而设置的变量。变量可以带这很多数据,(业务的数据,或者业务的标识信息等)1.启动流程时设置 @Test public void test3() { //开启流程 String processDefinitionId = "qjlc:1:4"; ...

2020-08-19 20:59:08 8331 5

原创 工作流(activiti7)-进阶使用(流程实例,个人任务,组任务)(三)

一,流程实例 每次启动一个流程,就是一个流程实例,他是动态的。。。比如画了一个流程图,张三来请假,发起一个流程就是一个流程实例,李四来发起又是一个实例。。。如下图:启动流程实例流程部署后,也就是流程图画好部署到数据库后。。就可以启动流程实例了。。。代码如下,和之前启动流程一样。。 @Test public void test3() { //开启流程 String processDefinitionId = "qjlc:1:...

2020-08-19 20:29:00 10308 3

原创 Oracle触发器

触发器:简单理解就是数据库表的监听器,,,监听对表的操作来处理一些业务上的问题(比如日志,增删改查数据库等操作。)

2020-08-05 20:34:21 280

原创 工作流(activiti7)-简单的介绍和使用(二)

目录工作流:1.1环境搭建1.2添加依赖1.3添加数据库1.4流程图介绍和使用1.5部署流程定义1.6启动流程实例1.7流程定义查询1.8任务处理1.9任务查询1.10历史查询1.11删除流程定义工作流:1.1环境搭建建好项目后新建activiti.cfg.xml配置文件这个名字是默认名字,加载默认配置文件,修改名字就需要手动代码加载了本地新建数据库,名字activiti,随便起。。。<?xml version="1....

2020-07-26 23:11:28 8446 4

原创 工作流(activiti7)-简单的介绍和使用(一)

工作流(activiti)工作流(activiti)1.1 工作流介绍1.2 工作流系统1.3 具体应用2.1集成使用2.2 BPM1.1 工作流介绍 工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。说白了就是流程一个过程。(比如请假流程,报销流程,审批流程等等。。)。 Activ...

2020-07-26 21:49:27 11199 2

原创 redis设置端口和密码

windows客户端操作: 一:打开redis.windows.conf或者redis.windows-service.conf 二选一就行了,选择哪个到时候启动哪个,如下图二:修改端口 port =‘8379’ 密码:requirepassfoobared 去掉#号或者另起一行修改为requirepass 1234三:重启设置链接配置文件如下图:四:客户端链接测试:在redis目录下输入redis-cli -h 127.0.0.1 -p ...

2020-07-20 10:13:21 2584

自定义控件其实很简单三

详情:http://blog.csdn.net/onceing/article/details/54618525

2017-01-19

自定义控件其实很简单二

详情:http://blog.csdn.net/onceing/article/details/54618505

2017-01-19

app引导页(背景图片切换加各个页面动画效果)

详情:http://blog.csdn.net/onceing/article/details/54235901

2017-01-08

Windows Installer Clean Up

office卸载:http://blog.csdn.net/onceing/article/details/53649651

2016-12-14

Activity中间点分开

详情:http://blog.csdn.net/onceing/article/details/53393177

2016-11-29

自定义微信好友列表

详情:http://blog.csdn.net/onceing/article/details/53378772

2016-11-28

微信侧滑finish页面

详情:http://write.blog.csdn.net/postedit/53202596

2016-11-18

Effective Java 中文第二版

下载为TET文件里面有某云的连接,如果连接失效联系扣扣297754019

2016-11-13

Android抖动动画

详情:http://blog.csdn.net/onceing/article/details/52474143

2016-09-08

Android仿支付宝咻一咻

地址:http://blog.csdn.net/onceing/article/details/52355097

2016-08-29

侧滑删除LIstview2

文章详情:http://blog.csdn.net/onceing/article/details/51498086

2016-05-25

侧滑删除LIstview

文章链接:http://blog.csdn.net/onceing/article/details/51497033

2016-05-25

PullToRefreshdemo

文章链接:http://blog.csdn.net/onceing/article/details/51496321

2016-05-25

PullToRefresh

文章阅读:http://blog.csdn.net/onceing/article/details/51496167

2016-05-25

XListViewDemo

XlistView的使用简单demo,文章下载http://blog.csdn.net/onceing/article/details/51492104

2016-05-24

Viewpager+Fragment

Viewpager+Fragment

2016-02-29

ListView和CheckBox结合

ListView和CheckBox结合,单选多选

2016-02-25

自定义popwindow炫酷UI

详情:http://blog.csdn.net/onceing/article/details/47611489

2015-08-13

Android更新带进度条的通知栏

详情:http://blog.csdn.net/onceing/article/details/47317189,如果你觉得不错希望给个评价,谢谢

2015-08-06

Android签名工具支持(window,mac,linux)

Android签名工具下载,Android免费签名

2015-07-28

2021年最新Android中高进阶面试集锦.pdf

2021年最新Android中高进阶面试集锦

2021-11-19

EFLK海量日志实时分析检索系统应用实践课件.zip

EFLK海量日志实时分析检索系统应用实践课件

2021-10-22

dbutils的jar包和源码

dbutils的jar包和源码

2017-08-29

pool开发jar包

pool开发jar包

2017-08-25

dbcp开发包

dbcp开发jar包

2017-08-25

c3p0开发包

c3p0.jar包

2017-08-24

mysql-connector-java-5.0.8

mysql-connector-java-5.0.8

2017-08-09

MySQL使用文档

MySQL文档API

2017-08-07

navicat安装包

navicat for mysql安装包

2017-08-07

mysql安装包

MySQL安装包

2017-08-07

jstl.jar和standard.jar

jstl.jar和standard.jar

2017-07-31

实现圆形圆角图片

2017-04-25

W3School全套教程

W3School全套教程

2017-03-28

HTML帮助文档

HTMLhelp帮助文档

2017-03-28

Java参考文档

JDK 1.6API

2017-02-07

自定义控件其实很简单 八

详情:http://blog.csdn.net/onceing/article/details/54618663

2017-01-19

自定义控件其实很简单七

详情:http://blog.csdn.net/onceing/article/details/54618654

2017-01-19

自定义控件其实很简单 六

详情;http://blog.csdn.net/onceing/article/details/54618625

2017-01-19

自定义控件其实很简单五

详情:http://blog.csdn.net/onceing/article/details/54618609

2017-01-19

自定义控件其实很简单 四

详情:http://blog.csdn.net/onceing/article/details/54618551

2017-01-19

空空如也

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

TA关注的人

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