自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GitLqr的博客

小程序《超级便便便》 微信公众号《FSA全栈行动》

  • 博客(426)
  • 资源 (53)
  • 收藏
  • 关注

原创 Kotlin - 函数与Lambda表达式

函数函数是以特定功能组织起来的代码块,函数定义格式如下:fun 函数名:[返回值类型]{[函数体]}fun 函数名 = [表达式]fun sum(arg1: Int, arg2: Int): Int { return arg1 + arg2}如果函数方法体只有一行代码,那可以将 {} 改为 =,去掉 return,表达式的值将作为函数返回值:fun sum(arg1: Int, arg2: Int) = arg1 + arg2默认返回值类型任何函数都是有返回值的,一般函数方

2021-01-30 22:06:38 195

原创 Kotlin - 常量与变量

常量Kotlin 中的常量使用 val 修改,一旦定义值后"不可再修改",常量类型分 2 种:运行时常量(val):编译期不能确定它的值,代码中会保留变量对它的引用。编译期常量(const val):编译期就知道值,并且会把代码中所有对它的引用都替换成它的值。下面我们来举例看看,这两者在代码层面上的区别到底是什么。运行时常量(val)这是一段很简单的 Kotlin 代码,先定义一个常量 FINAL_NAME,再定义一个变量 myName 引用常量 FINAL_NAME:val FINAL_

2021-01-30 22:05:05 818 1

原创 Kotlin - 区间与数组

区间(Range)区间是一个数学上的概念,表示范围。区间的声明Kotlin 中可以使用 .. 或 until 来声明区间:val range: IntRange = 0..1024 // 闭区间[0,1024],包括1024val rangeExclusive: IntRange = 0 until 1024 // 半开区间[0,1024),不包括1024val emptyRange: IntRange = 0..-1 // 空区间[]其实这里的 .. 操作符对应的是 Int 类中的一个 r

2021-01-28 23:02:21 687

原创 Kotlin - 空类型和智能类型转换

空类型Kotlin 跟 Java 的最大不同应当就属空类型这点了,使用 Kotlin 开发,IDE 会智能的对可能为空的地方进行报错提示,开发者必须处理该错误,否则连编译都通过不了,从而降低程序 NullPointException 异常的出现几率,所以,一般情况下使用 Kotlin 开发很少见到 NPE 异常。非空与可空类型fun getName(): String { return "lqr"}这是一个很普通的函数声明,它指明了函数返回值是一个 String 类型,对此,Kotlin

2021-01-28 22:59:19 247

原创 Kotlin - 类与构造器

类是什么?类是一个抽象的概念,是具有某些特征的事物的概括,不特定指代任何一个具体的事物。写法:class <类名> { <成员>}Number(Int、Float、Byte)、字符串(String)也是类class Girl constructor(var nature: String,var appearance: String,var sound: String){ // 构造方法的方法体 init { println("女

2021-01-21 21:08:01 414

原创 Kotlin - 数据类型

Boolean 类型示例代码:val aBoolean: Boolean = trueval anotherBoolean: Boolean = falsekotlin 中的 Boolean 在多数情况下,相当于 Java 中基本类型 boolean,只有在必要情况下才会装箱成 Java 中的装箱类型 Boolean,由编译器决定,通常我们不需要关心。Number 类型Number 即数字,主要包括整型和浮点型:分类类型位宽浮点型Double64Float32

2021-01-20 20:30:02 393

原创 RePlugin强制退出App

RePlugin强制退出需求:插件中按“退出”按钮,就完全退出整个app,包括宿主。一、前提以下所有的理论,都是基于宿主跟插件使用同个进程这个大前提下,即不需要常驻进程。apply plugin: 'replugin-host-gradle'repluginHostConfig { useAppCompat = true persistentEnable = false // 设置为“不需要常驻进程”}“不需要常驻进程” 的目的是为了减少整个app的内存开销。二、问题

2021-01-17 09:47:15 377

原创 RePlugin集成Fresco

Fresco版本说明目前fresco最新版本2.3.0,但无法直接在插件中集成从1.14开始要求使用AndroidX ,向下选择1.13.0从1.10.0开始没有armeabi, 向下选择1.9.0从1.8.0开始强制使用SoLoader,向下选择1.7.1插件集成Fresco遇到的问题这里需要重点说明一下SoLoader问题,fresco在1.8.0版本开始,就使用SoLoader替换了SoLoaderShim,原文:SoLoader has been released f

2021-01-17 09:46:00 255

原创 AndroidTV——获取Mac地址

一、核心工具类亲测 Android9、Android10 可用,注意:前提条件是,必须联网才能获取到Mac地址,否则为null。/** * @author LQR * @time 2020/8/24 * @desc 获取Mac地址工具类 * <p> * 必须在联网的情况下才能获取到mac地址 */public class MacUtil { private static final String TAG = "MacUtil"; private Mac

2020-10-10 16:58:22 1049 1

原创 Docker——配置国内源

1、创建或修改daemon.jsondaemon.json 文件路径为:/etc/docker/daemon.json,使用vi或vim打开daemon.json:vim /etc/docker/daemon.jsonetc目录下,可能没有docker文件夹,需要手动创建:mkdir /etc/docker2、daemon.json配置直接复制粘贴以下内容:{ "registr...

2020-04-01 11:07:50 3563

原创 AndroidTV——解决EditText焦点无法转移问题

经反馈,在AndroidTV9.0 盒子上发现EditText一旦获取了焦点之后,遥控器上的方向键就无效了,即焦点无法再转移到其他焦点控件上,但这个问题在Android7.0及以下盒子上却不会出现,应该是Android8.0及以上源码做了修改,故查看EditText源码,得知确实是官方源码对方向键进行了处理~一、源码分析EditText源码中搜索onKeyDown,定位到父类TextView中...

2020-03-31 14:09:48 1733

原创 AndroidNDK——Cmake详解

一、Cmake语法详解1、什么是CMake在Android Studio 2.2及以上,构建原生库的默认工具是CMake。CMake是一个跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。能够输出各种各样的makefile或者project文件。CMake并不直接构建出最终的软件,而是产生其他工具的脚本(如makefile),然后再依据这个工具的构建方式使用。CMake...

2020-02-19 09:13:03 1596

原创 AndroidNDK——makefile语法详解

一、编译流程详解编译流程编译:将高级语言编写的程序转换为二进制代码可执行性目标程序的过程四大过程:预处理、编译、汇编、链接1、预处理完成宏替换、文件引入,以及去除空行、注释等,为下一步的编译做准备;也就是对各种预处理命令进行处理,包括头文件的包含、宏定义的扩展、条件编译的选择等。// test.c文件内容#include <stdio.h>int main(){ ...

2020-02-12 15:24:18 505

原创 Android音视频——Libyuv使用实战

近期换部门,从事之前从未接触过的Android音视频开发,主要涉及到USB摄像头调用、libyuv处理Nv21图像、直播推流等功能,对应的库有【UVCCamera】、【libyuv】等,刚接触没经验也没人带挺难搞的,而且网上资料很凌乱,所以,开此篇总结&汇总一下近期的研究,兴许可以帮助到别人,本人亦是新手,文中如有不正确的地方,欢迎指出点评。一、libyuv入门先简单说明一下,不管是A...

2019-09-20 15:48:41 1252 1

原创 不一样的Gradle多渠道配置总结

好久没有写博客了,突然想把这段时间项目中使用到的技术和多渠道相关的认识总结分享一下~一、新增渠道使用AndroidStudio配合gradle,可以很方便的输出多个渠道包,只需要在app Module下的build.gradle中,对productFlavors领域进行配置即可,假设我当前开发的项目,需要上线不同的地区,一个是国内版,一个美国版,还有一个免费版,那么gradle可以这么配:a...

2019-05-15 19:18:03 1032

原创 DroidPlugin手札——home键强杀处理

DroidPlugin手札——home键强杀处理DroidPlugin是360开源的插件化框架,github地址为:https://github.com/DroidPluginTeam/DroidPlugin。因公司业务及项目历史原因,来公司的这段时间一直在使用DroidPlugin进行业务开发,期间遇到的一些问题在此进行总结记录。一、背景为了方便访客知道本章在解决什么问题,这里先把需求背...

2019-01-21 09:08:12 4929

原创 Gradle入门系列(五)——Gradle其它模块与Plugin插件

Gradle其它模块一、Settings类settings.gradle(对应Settings.java)决定哪些工程需要被gradle处理,占用了整个gradle生命周期的三分之一,即Initialzation初始化阶段。二、SourceSet类对默认的文件位置进行修改,从而让gradle知道哪种资源要从哪些文件夹中去查找。// sourceSets是可以调用多次的android {...

2019-01-05 17:33:19 979

原创 Gradle入门系列(四)——初识Gradle Task

Gradle中的Task一、Task定义及配置TaskContainer:管理所有的Task,如:增加、查找。定义(创建)Task// 直接通过task函数去创建task helloTask { println 'i am helloTask.'}// 通过TaskContainer去创建this.tasks.create(name: 'helloTask2') { ...

2019-01-05 17:32:41 1064 1

原创 Gradle入门系列(三)——初识Gradle与Project

初识Gradle一、Gradle的基本概念一个开源的项目自动化构建工具,建立在Apache Ant和Apache Maven概念的基础上,并引入了基于Groovy的特定领域语言(DSL),而不再使用XML形式管理构建脚本。同时,gradle还是一个编程框架,可以让开发者使用编程的思想来实现应用构建。gradle的组成:groovy核心语法build script blockgradle...

2019-01-05 17:32:06 1581

原创 Gradle入门系列(二)——groovy高级语法

groovy高级语法一、json操作使用groovy自带的json工具进行json操作groovy.json.JsonSlurper:将json原数据转成实体对象groovy.json.JsonOutput:将实体对象转成json数据def list = [ new Person(name: 'John', age: 25), new Person(name: 'Major'...

2019-01-05 17:31:28 674

原创 Gradle入门系列(一)——groovy基础语法

groovy基础语法一、变量1、类型对象类型、基本类型(本质是对象类型)int x = 0println x.classdouble y = 3.14println y.class输出:class java.lang.Integerclass java.lang.Double结论:从log输出可以得出,groovy中实质上是没有基本类型的,本质是java中的装箱对象...

2019-01-05 17:30:49 746

原创 解决ImageView超出父控件(或屏幕边界)时,图片挤压问题

一、需求在屏幕边缘显示一张图片,超出屏幕宽度时,只显示图片的左边部分,并且不被挤压,其余部分剪切。但我在实际开发中,踩了个坑,这里做个记录,下面通过图片直观了解一下情况: 理想 现实 目前可以确定,这种情况会出现在使用RelativeLayout作为ImageView父控件的情况下,其他类型的ViewGroup效果如何,暂不确定。二、分...

2018-09-05 11:37:40 3691 1

原创 热修复与插件化基础——Java与Android的类加载器

一、java中的ClassLoader1、类加载器2、加载流程Loading:类的信息从文件中获取并载入到JVM的内存中。Verifying:检查读入的结构是否符合JVM规范的描述。Preparing:分配一人上结构用来存储类信息。Resolving:把类的常量池中的所有符号引用变成直接引用。Initializing:执行静态初始化程序,把静态变量初始化成指定...

2018-05-18 00:28:20 550

原创 热修复与插件化基础——Java与Android虚拟机

一、Java虚拟机(JVM)1、JVM整体结构使用javac将java文件编译成class文件。类加载器(ClassLoader)将class字节码加载进JVM对应的内存中。JVM将内存分配给方法区、堆区、栈区、本地方式栈4个部分,这4个部分分别存储字节码不同的部分。垃圾回收器(gc)会管理整个内存空间中的垃圾。2、Java代码的编译和执行过程下图是Java代...

2018-05-13 20:31:07 665

原创 热修复与插件化基础——dex与class

一、dex/class浅析1、class与dex对比 类型 class文件 dex文件 定义 能够被jvm识别、加载并执行的文件格式 能够被dvm识别、加载并执行的文件格式 如何生成 使用java命令(javac) 使用java命令、dx命令 作用 记录一个类文件的所有信息 记录整个工程中所有类文件的信息2...

2018-05-13 20:21:58 579

原创 使用PorterDuff解决clipPath无法抗锯齿问题

一、简述前段时间公司史无前例的接了一个大数据外包项目(哇~我们又不是外包公司(╯°Д°)╯︵ ┻━┻),要求搞很多图表方便观察运营的数据情况,图表当然要用到MPAndroidChart啦,但并不是所有的图表都可以用它用实现,这时就需要自定义View了,其中有一个要求,如下图所示,这就是本篇要实现的效果:本篇全文适合像我一样的小白细细观看,如果你很赶时间,就只是进来看看标题上的解决方案,...

2018-03-16 14:20:07 4635 1

原创 Libgdx——使用pixmap绘制透明圆角矩形

一、简述1、需求最近在使用Libgdx进行游戏大厅开发,遇到这种需求:为个别文本控件(Label)设置纯色透明的圆角矩形背景。2、思路Libgdx中的Label是提供背景设置的:对Label的Style的background属性进行设置即可,这个background是个Drawable,可以使用图片作为Label的背景,很好很强大,但我这个项目中的Label背景只需要一种透...

2018-02-09 09:37:24 1618

原创 热修复——Bugly让热修复变得如此简单

一、简述在上一篇《热修复——Tinker的集成与使用》中,根据Tinker官方Wiki集成了Tinker,但那仅仅只是本地集成,有一个重要的问题没有解决,那就是补丁从服务器下发到用户手机上,如果你团队中的后台开发人员实力够强,那么完全可以自己做一个补丁管理系统,但我想应该没多少人愿意花精力在这个后台管理系统的开发上面吧,且开发有时候就是在造bug,鬼知道会挖出一个多大的坑呢?对于这样的一个问题,据我

2017-12-12 17:30:10 2197 3

原创 热修复——Tinker的集成与使用

一、简述 Tinker是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新。当然,你也可以使用Tinker来更新你的插件。上面是Tinker官方Wiki的原话,意思嘛相信大家都看得明白,但注意啦,它并没有说Tinker可以让补丁实时生效(也叫无感知更新),它必须在打上补丁后重启App(重启进程),补丁才会发挥作用,这跟阿里的热

2017-12-06 17:51:26 1252

原创 使用注解打造自己的IOC框架

一、简述IoC和AOP可谓是后台开发入门必学的知识(Spring相关),但这两者都仅仅只是概念而已,并非具体技术实现,同样的,Android也可以使用IoC和AOP,之前已经写过如何在Android开发中使用AOP了,有兴趣的朋友可以看我之前的博客(顺便点个关注吧),所以,本文主题便是IoC。 控制反转(Inversion of Control,英文缩写为IoC)是框架的重要特征,并非面向对象编

2017-11-28 19:49:58 595

原创 手撸一个简易Android数据库框架

一、简述众所周知,移动端(不管是Android还是iOS)使用的数据库是Sqlite,这种小型的数据库很适合移动端存储大量的数据,使用上也跟mysql基本无差,但官方提供的API在操作性方面真不咋的,你必须掌握一定程度的sql语句,否则将很难驾驭。所以,有很多第三方的数据库框架就开始流行,如:GreenDao、Litepal等。这些ORM数据库框架,可以帮助开发者节省大量编写数据库操作代码的时间,只

2017-11-27 11:55:26 1609

原创 Android面向切面编程(AOP)

一、简述1、AOP的概念如果你用java做过后台开发,那么你一定知道AOP这个概念。如果不知道也无妨,套用百度百科的介绍,也能让你明白这玩意是干什么的: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数

2017-11-16 18:12:00 637

原创 热修复——深入浅出原理与实现

一、简述热修复无疑是这2年较火的新技术,是作为安卓工程师必学的技能之一。在热修复出现之前,一个已经上线的app中如果出现了bug,即使是一个非常小的bug,不及时更新的话有可能存在风险,若要及时更新就得将app重新打包发布到应用市场后,让用户再一次下载,这样就大大降低了用户体验,当热修复出现之后,这样的问题就不再是问题了。目前较火的热修复方案大致分为两派,分别是:阿里系:DeXposed、andf

2017-11-14 19:28:43 13656 16

原创 LinkedList与Queue源码分析

java中的数据结构源码解析的系列文章: ArrayList源码解析 LinkedList源码解析一、简述上篇已经分析了基于数组实现数据存储的ArrayList(线性表),而本篇的主角是LinkedList,这个使用了链表实现数据存储的集合,它的增、删、查、改方式又会是怎样的呢?下面就开始对LinkedList的源码进行分析吧。二、分析List在分析LinkedList之前,还是先瞄一

2017-11-08 17:42:43 917

原创 ArrayList源码分析

java中的数据结构源码解析的系列文章: ArrayList源码解析 LinkedList源码解析一、简述我们知道,数据结构中有两种存储结构,分别是:顺序存储结构(线性表)、链式存储结构(链表),在java中,对这两种结构分别进行实现的类有:顺序存储结构:ArrayList、Stack链式存储结构:LinkedList、Queue本篇只对ArrayList的源码进行分析,对于其他

2017-11-08 17:42:00 1326

原创 项目实战 - 使用Fiddler抓取bilibili安卓客户端口数据并分析(http、https)

一、简述经过了一个多星期的时间(自2017/10/16开始),到目前(2017/10/24)为止,项目框架的搭建已基本完成、还完成了首页中「直播」与「推荐」Fragment的数据填充,可以说相仿度很高,说这么多不如先看看效果。很6吧,但这不是重点,本篇要记录的,是使用fiddler来抓取app客户端的数据(包括http和https的数据抓取),并记录下对接口与数据的分析结果,下面就直入主题吧。二、使

2017-10-24 16:57:39 4770

原创 项目实战-仿bilibili刷新按钮的实现

一、简述       最近跟小伙伴一起讨论了一下,决定一起仿一个BiliBili的app(包括android端和iOS端),我们并没有打算把这个项目完全做完,毕竟我们的重点是掌握一些新框架的使用,并在实战过程中发现并弥补自身的不足。       本系列将记录我(android端)在开发过程中的一些我觉得有必要记录的功能实现而已,并不是完整的从0到1的完整教程,若个别看官大爷觉得不好请出门左拐谢谢。以

2017-10-24 13:00:19 7589 18

原创 redis系列(二)- 语法与命令

redis系列文章: redis系列(一)- 安装与启动 redis系列(二)- 语法与命令一、简述Redis支持的键值类型有:String字符类型、map散列类型、list列表类型、set集合类型、sortedset有序集合类型。本篇将对这些键值类型在使用上进行总结,并介绍下Keys命令,虽然语法简单,但由于数量过多,还需要我们多多实践。二、String字符类型1、赋值语法:SET

2017-09-27 00:39:01 1314

原创 redis系列(一)- 安装与启动

redis系列文章: redis系列(一)- 安装与启动 redis系列(二)- 语法与命令一、Redis介绍Redis是NoSql的一种,在弄清楚Redis是个什么玩意之前,先了解下NoSql是什么。1、什么是NoSqlNoSql,全名:Not Only Sql,是一种非关系型数据库,它不能替代关系弄数据库,只是关系型数据库的一个补充,是可以解决高并发、高可用、高扩展、大数据存储等一

2017-09-27 00:38:26 4228 1

原创 SpringBoot详解(四)-优雅地处理日志

一、简介日志功能在j2ee项目中是一个相当常见的功能,在一个小项目中或许你可以在一个个方法中,使用日志表的Mapper生成一条条的日志记录,但这无非是最烂的做法之一,因为这种做法会让日志Mapper分布到了项目的多处代码中,后续很难管理。而对于大型的项目而言,这种做法根本不能采用。本篇文章将介绍,使用自定义注解,配合AOP,优雅的完成日志功能。 本文Demo使用的是Spring Boot框架,但

2017-09-09 16:52:23 3201

各大音乐网站接口

各大音乐网站接口

2016-06-01

三级缓存网络图片查看器

这是一个三级缓存模仿xUtils中BitmapUtils的例子,带有详细注释,轻松完成三级缓存。 自定义三级缓存图片加载工具MyBitmapUtils。 1、优先从内存中加载图片(MemoryCacheUtils) 2、其次从本地(sdcard)加载图片(NetCacheUtils) 3、最后从网络下载图片(LocalCacheUtils)

2016-05-22

vm安装苹果需要的解锁工具unlocker207和208

vm安装苹果需要的解锁工具unlocker207和208

2016-05-21

java连接mysql数据库用到的jar包

java连接mysql数据库用到的jar包

2016-05-21

默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具)

默认使用DES加密聊天信息的SocketChat(内含DES与RSA加密工具) 使用的是GBK编码!!!

2016-05-19

视频缩略图和显示的缓存异步机制

视频缩略图 和显示的缓存异步机制,很实用,代码清晰,写了不少注释 http://blog.csdn.net/CSDN_LQR/article/details/51417637

2016-05-15

扫描本地视频并获取缩略图Demo

扫描本地视频并获取缩略图Demo

2016-05-15

ViewPagerIndicator

ViewPagerIndicator使用流程: 1.引入库 2.解决support-v4冲突(让两个版本一致) 3.从例子程序中拷贝布局文件 4.从例子程序中拷贝相关代码(指示器和viewpager绑定; 重写getPageTitle返回标题) 5.在清单文件中增加样式 6.背景修改为白色 7.修改样式-背景样式&文字样式

2016-05-09

xUtils的lib工程及sample

xUtils的lib工程及sample

2016-05-09

SlidingMenu侧边栏的lib及实例

SlidingMenu侧边栏的lib及实例. 使用见:http://blog.csdn.net/csdn_lqr/article/details/51340102

2016-05-08

servlet多文件上传(带进度条)

servlet多文件上传(带进度条)

2016-05-06

javaEE带进度条的上传

带进度条的上传,可以再对进度条进行美化,progressBar.js这个js控制页面,progressBar.css是对进度条的美化

2016-05-06

httpmime的jar包

httpmime,配合httpclient使用,可实现文件上传

2016-05-02

Volley工程类库

使用volley必须关联此类库

2016-05-02

eclipse的svn插件

eclipse的svn插件,可以在eclipse中检出svn上的项目

2016-04-22

获取缓存及清理缓存会用到的aidl文件

获取缓存及清理缓存会用到的aidl文件,包括: IPackageDataObserver.aidl、IPackageStatsObserver.aidl、PackageStats.aidl

2016-04-18

安卓shell工具RootTools.jar

用于判断root权限是否开启和执行shell命令。 RootTools.isRootAvailable():判断手机是否有root。 RootTools.isAccessGiven():是否root权限授权给当前apk。 RootTools.sendShell("mount -o remount rw /system", 8000);:挂载system分区为读写状态。

2016-04-16

安卓桌面小火箭发射

1,小火箭喷火 图片切换的动画 2,自定toast来显示小火箭 设置view 和params 3,冒烟 1,冒烟动画 2,打开Activity来显示冒烟 在服务中打开Activity 设置参数 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//在任务栈

2016-04-16

手机归属地数据库

使用教程: http://blog.csdn.net/CSDN_LQR/article/details/51164381

2016-04-15

安卓挂断电话用到的aidl

1、创建android.telephony包,把NeighboringCellInfo.aidl复制进去。 2、创建com.android.internal.telephony包,把ITelephony.aidl复制进去。

2016-04-15

java房贷计算工具类(商贷、公积金、组合贷)

java版房贷计算工具类,可自定义利率,支付商贷、公积金、组合贷的计算,功能十分强大,高精度,亲测可用。

2017-04-28

全国地区数据库-带有地区编码

这是在网上收集整理的全国最新地区数据库,精确到街道。是我目前收集整理地区数据库中最全的,可直接导入数据库即可。

2017-02-25

java版发送邮件工具类

使用mail.jar封装的万能邮件发送工具类

2016-11-24

java版ftp上传下载工具类

使用apache的common-net.jar,实现ftp文件的上传和下载,封装成工具类,方便开发。

2016-11-24

利用Filter全局中文过滤(get和post请求中文乱码问题)

filter是javaWeb中一个十分重要的知识点,可以拦截webApp的所有请求。 使用场景: 1、可以利用filter做到网站自登录。 2、可以利用filter全局修改参数编码,从而解决中文乱码问题(十分重要)。

2016-10-23

使用ThreadLocal解决代码分层问题

javaee开发常见的模式有MVC模式,在C层中常常会再次分层,如:servlet(web层)、service(业务逻辑层)、dao(数据访问层),其中service和dao最容易混在一起,如转钱交易场景,service层需要执行“事务”操作,会用到数据库连接对象(Connection),这就与dao层混在一起了,因为Connection是dao层才会用到对象,但如果把“事务”放到dao层,也是将service层与dao混在一起,因为转钱交易这个 事务应该由service层来做。所以,使用ThreadLocal可以解决这样的分层问题。

2016-10-22

mysql使用c3p0需要用到jar包

mysql使用c3p0需要用到jar包

2016-10-20

使用dbcp需要用到的jar包

使用dbcp需要用到的jar包

2016-10-20

使用jar使用验证码功能(ValidateCode.jar )

使用请看http://blog.csdn.net/CSDN_LQR/article/details/52821701

2016-10-15

XposedBridgeApi-54.jar

XposedBridgeApi-54.jar是xp框架开发所需的jar包

2016-08-18

使用makefile编译多个.c文件例子

包含main.c、a.c、b.c、makefile。 其中,在main.c中使用a.c和b.c中的函数。 makefile文件使用了变量和模式规则,是一份兼容性很强的代码指令,若要编译其它源文件,只需在SRCS变量后面修改即可。 使用: 1、在源码路径下的终端中输入 make 即可运行makefile。 2、输入make clean可以清除所有生成的.o文件。

2016-08-13

抓取浏览器访问头信息的web应用

使用servlet写的一个可以获取浏览器访问servlet时的头信息应用,打印到一个文本文件中,有助于一些特定情景的使用。

2016-07-22

commons-beanutils-1.8.3-connections.jar

从commons-beanutils-1.8.3.jar中删除了org/apache/commons/collections目录及其下的类,避免了与commons-collections-3.2.jar一起在android中使用时报Andorid Unable to execute dex: Multiple dex files define Lorg/apache/commons/collections/FastHashMap错。

2016-07-01

genymotion 5.0以上的 ARM_Translation

genymotion 5.0以上的 ARM_Translation 使用的步骤很间单: - 在 Genymotion 裡面建立 5.0 or 5.1 的模拟器。 - 开机后把 ARM_Translation_Lollipop.zip 拖到模拟器视窗中,让他自动安装。 - 先不要重新启动模拟器,透过 adb shell 执行 /system/etc/houdini_patcher.sh - 完成后重开模拟器即可。

2016-06-29

VitamioBundle-master4.2.zip

VitamioBundle-master4.2.zip

2016-06-29

android vitamio在线视频播放demo

Vitamio是一个支持所有Android设备的多媒体框架。Vitamio与Android默认的MediaPlayer工作方式相似,但功能更强大。 支持主流的视音频格式:mp3/mp4/mkv/avi/3gp/rmvb/mov/flv等。

2016-06-29

Genymotion-ARM-Translation_v1.1

解决模拟器加载.so文件时出现"library 'system/lib/libhoudini.so' not find"问题

2016-06-29

xstream-1.4.7

xml的解析、生成工具: xstream的使用跟gson一样,常用的方法有fromXml()、toXml()、alias("名字",class),其中alias很重要,默认生成的xml根标签使用的是类的全类名,使用alias可以解决该问题。

2016-06-18

xml的解析、生成工具

xstream的使用跟gson一样,常用的方法有fromXml()、toXml()、alias("名字",class),其中alias很重要,默认生成的xml根标签使用的是类的全类名,使用alias可以解决该问题。

2016-06-18

java解析json的工具--json-lib

json-lib是java工程中常用到的json解析工具,使用简单灵活,本压缩包中包括的文件有(使用json-lib必备的jar包): commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.4-jdk15.jar

2016-06-18

空空如也

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

TA关注的人

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