自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

行走江湖的文艺猿 的专栏

程序员的价值并不是编码能力,而是独立思考、不断学习、解决问题的能力。

  • 博客(50)
  • 资源 (26)
  • 收藏
  • 关注

原创 gradle使用总结之全局变量

随着项目的开发,code变得越来越多,libary也从最初的2个变成了很多个,这个时候我们就需要用一套代码抽象多个产品形态,即抽象出部分主要或共用的代码到一个libary,其他的app libary基于这个libary展开,然而在每个libary中都有sdk build tool等等各种版本信息,还有导入support包的版本信息,如果要碰到升级或修改sdk版本,就会变得很麻烦,这里提供一种全局变...

2018-02-23 22:00:50 3411

原创 Java多线程从0到1之线程创建(一)

我们开发中经常会用到多线程,尤其是在Android中,由于主线程的诸多限制,像网络请求,文件读取等一些耗时的操作都会用多线程来写,多线程说简单也简单,就是new Thread(),然后在start();说复杂也复杂,线程数太多会造成OOM,由此引入线程池,死锁,同步(synchronized),生产者/消费者,原子操作,Java并发集合等。所以深思之后打算写一个系列,记录从学校到工作自己对多线程的

2017-10-12 15:17:50 493

原创 由Instant Run引发的问题及其解决方案

众所周知,Android作为移动市场占有率第一的系统,之前一直没有自己的编辑器,曾今Java出身的我一直在用eclipse,后来转向Android后eclipse用的更是手到擒来,但是google肯定不甘心自己开发的系统用别人的编辑器,so,Android studio就诞生了,最初Android studio各种问题,各种bug被开发者所吐槽,但是随着google的大量投入,Android

2017-10-11 11:20:59 4904

原创 回顾和总结的重要性

回顾和总结的重要性一段时间的紧张开发结束了,作为一个技术开发者,不知道大家是不是和我一样,在每次开发新项目的时候都会用到一些新的技术,新的知识点,遇到一些技术难点,一些很奇怪的bug。或许你在当时解决了,但是几个月之后你只记得你用过某个技术或者遇到错某个错误,但是已经想不起当时是怎么解决的了。因为我们每天都要接触很多很琐碎的东西,除了工作你还有生活。所以总结的作用就变得非常重要了。该记录一些什么?

2017-08-16 14:42:23 4364

原创 glide全局配置

gilde是一款很优秀的图片加载框架,使用起来也很方便。有时候我们需要对glide做一些配置,现记录一下glide全局配置的方法。环境说明  Android studio 2.3.3    glide:3.6.1新建一个MyGlideModule继承GlideModulepublic class MyGlideModule implements GlideModule {

2017-08-14 14:47:22 2997

原创 greendao在项目中的实践

众所周知Android中使用的数据库是sqlite,几乎在我们的每一个商业项目里或多或少都会用的数据库,有的1-2张表,有的甚至十几张表,有的表可能有十几个,几十个字段,所以就给我们写sql就更容易出错,这种出错只有运行的时候才会知道写错了某个字段名,有没有感觉很影响效率,那有没有一个第三方的组件可以代替我们写sql语句呢?答案是有的,就是我今天讲的——greendao1、什么是gre

2017-05-01 15:06:03 938

原创 github正式启用啦

开通github已经有2年多了,从一开始只有找资源项目才上到现在的天天上,github已经成为我每天必须上的网站了。但是自己并没有在github上push过公开的项目。作为一个对技术有追求的人,怎么能没有自己的libary。所以我决定从今天开始,正式的把github用起来,go,go,go~~~~github地址:https://github.com/zhaochang

2017-03-02 13:32:29 548

原创 自定义一个带进度值的圆形进度条

项目中有时候我们为了博得用户的眼球,需要自定义一些好看的控件,下面记录一个自定义带进度值的圆形进度条先上效果下面记录具体的实现过程在Android studio下新建一个project,然后新建一个CircleProgressView,继承系统的view,然后重写它的三个构造方法,如下: public CircleProgressView(Context contex

2017-02-27 22:53:48 2205

原创 Android EventBus使用总结

最近在工作中用的了eventbus,给我的感觉是很酸爽~~,所以记录一下。eventbus的GitHub地址     https://github.com/greenrobot/EventBuseventbus的源码:https://codeload.github.com/greenrobot/EventBus/zip/masterAndroid Studio中使用

2017-02-17 22:22:18 613

原创 Android ANR总结

对于刚开始做Android的童鞋们,经常会遇到ANR(application not response ,应用程序无响应),下面我就把我工作中关于ANR的理解总结一下。1、是什么引起了ANR?简单来说,最常见的引起ANR的原因有以下这么几种:   1)RuntimeException,运行时异常,比如空指针(这个算是前期遇到的最多的),类型转换异常,数组越界等   2)在主

2017-02-13 15:20:10 373

原创 积攒力量,继续折腾(16年年终总结)

2016年年终总结听着耳机里的音乐,看着窗外的万家灯火,心理很复杂,16年还剩最后的三天了,先感叹一声时间过的真快,用我以前的一句话来说“时间有三条腿,两条腿的我们注定要追赶时间...”,其次就是好好总结这一年的点点滴滴了,回忆起来,这一年忙的时候很忙闲的时候又很闲,有时候连喝水的时间都节省了,其实这样是不好的,比如前几天公司组织体检,自己总是担心查出什么问题,一上午心都悬着,最后我得出一个真

2016-12-28 21:42:57 377

原创 android studio下jni传递int,String,数组类型的参数

这篇文章主要讲Java通过jni调用c层时如何传递参数,如何在c的代码中回调Java的方法上一篇   Android studio下jni的配置和第一个hello word程序  在上一个例子的基础上继续研究如何通过jni传递参数给c,其实传递参数很简单,先说一下步骤:1、在Java中定义native的含参的方法2、使用javah生成头文件3、在头文件中找到我们

2016-12-19 15:13:37 4570

原创 Android studio下jni的配置和第一个helloword程序

现在用Android studio的人越来越多,但是网上很多jni开发的教程都是基于eclipse的,所以我把自己Android studio配置的过程记录下来,供大家参考。我的环境:Android studio  2.2buildtool  23.0.3jdk  1.7ndk  android-ndk-r9d-windows-x86_64(根据自己的机器和Androi

2016-12-15 15:52:47 597

原创 Android中canvas学习笔记

第三届互联网大会结束时间不长,却给我的触动很大,看到了很多的AI(人工智能),或许将来的某一天很多职业会被AI替代,包括80%的程序员,我们做为社会中的一份子,只有不断的提升自己,居安思危,才不会被这个快速发展的社会淘汰。最近遇到了好几个自定义view 的功能,其实自定义view的步骤不多,其中有2个关键的位置,OnMeasure()和OnDraw()这2个方法的重写。一些复杂好看的v

2016-11-21 14:51:14 381

原创 Android app启动页广告

一款app刚出世的时候是没有广告的,流畅的速度和粘性的设计,让这款app使用的人越来越多,这个时候,广告就诞生了,app中加入广告的位置有很多,最常见的就是启动页的广告,首页的banner的轮询广告,其他页面的一些角标广告。今天我这里实现的是一个Android的启动页的广告,支持倒计时,和跳过,点击进入广告的详情页。今天记录下来,也给大家参考。首先来看效果图:我们都

2016-10-25 17:50:54 21443 7

原创 webview 加载h5页面,播放视频+全屏,实现简单封装

前段时间项目中用到了h5。从目前的市场来看,原生和h5的结合受到很多公司的欢迎,刚好最近微信也推出了它自己的“小程序”,这在Android程序员之间也掀起了波澜,引起大家讨论。个人觉得Google提供的webview有很多的坑,我这次就踩了不少,比如在某些版本的系统上某个方法不会执行,或者执行的顺序不一样,有的方法会多执行一次,说白了就是兼容性做的很差,究其主要原因,是Android4

2016-09-29 22:50:52 18822 8

原创 Android录音并播放(mp3或amr格式)

Android项目中媒体是很多人头疼的一个问题,不仅仅因为处理起来很麻烦,而且不同的手机差别很大(和硬件,系统都有关系),今天就总结一下Android中的录音和播放,可保存成mp3或amr格式。小米1s,三星,酷派8721移动版 测试通过1、首先说一下amr格式和mp3格式的却别:amr由欧洲通信标准化委员会提出,是在移动通信系统中使用最广泛的语音标准。他是被各大手机厂商认可的一种保存

2016-07-19 13:40:10 31261 5

原创 Android中使用aidl在进程间通信(IPC)

最近去面试,发现有些公司的要求里要熟悉使用aidl,今天就把aidl简单的给大家分享一下首先说aidl是什么?Android Interface Definition Language,即Android接口定义语言。官方是这也解释的:为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实

2016-07-04 18:04:26 1487

原创 Android 微博长图加载

之前项目里用到过一个加载长图的功能,觉得还挺有意思,所以这儿把关键代码提取出来和大家分享功能描述:点击缩略图,加载长图,双击放大,单机返回一开始是想着加载长图的时候用dialog,但是过程中遇到了好多问题,最后就该用avtivity了Demo下载

2016-06-29 15:30:51 2134

原创 ImageLoader如何用的更好

写在前面的话:相信每一个Android的app都少不了图片的加载,每一个Android程序员都少不了去写加载图片的代码,自己写的图片加载不知道大家有没有遇到很多问题,比如图片加载缓慢,同时加载多个图片时会有卡顿,加载大图时还会出现OOM等等各种问题,下面就为大家介绍一下我在项目中使用ImageLoader(开源框架)加载图片的用法和一些技巧那么imageloader有那么特性呢?我这儿只说最常

2016-06-29 11:29:22 592

原创 Android 中启动一个activity,怎么写才好

我们在开发一个app中,用到最多的就是activity了吧,对于大多数的新手来说,学习Android四大组件时最先接触的也是activity,但是我们的一个app中activity肯定不止一个,那么该怎么去启动一个新的activity呢?一)常见的启动activity的方法:

2016-06-27 17:20:40 1836

原创 Android 使用service实现多线程断点续传下载

写在前面的话:项目中有一个视频的下载,所以去研究了service的下载,这儿有人会问,用service有什么好处,我可以用Thread吗?我想说的是service有自己的生命周期,它不依赖于activity的生命周期,如果有需要甚至你的app退出了你的service还可以继续运行,其次一个项目中下载的入口可能有好几个,用service的话可以让多个入口统一到service处来方便管理。如果你使用T

2016-06-01 23:25:00 2092

原创 listview 常见的优化和使用技巧

listview的基本用户大家可能都很熟悉了,下面我总结一些我在工作中对listview的一些使用技巧。1、使用ViewHolder模式来提高效率我们都知道加载布局的xml文件是很耗时的,为什么呢?因为有许多不同层级的控件,而我们的listview的getview()方法中一般都会通过findviewbyid()去找到某个控件,然后显示,想一想当你在快速滑动一个listview的时

2016-05-30 23:05:06 1568

原创 json总结

首先说josn是一种数据交换的格式,它的数据保存在键值对中,键值对用逗号隔开,花括号来保存对象,中括号保存数组,多个对象可以放到一个数组中。1、为什么要使用json简单地说  ,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是

2016-03-27 21:38:39 843

原创 java 泛型小总结

1、首先来说一下什么是泛型,为什么java要引入泛型泛型是Java1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。泛型使用最多的地方就是集合。 Java语言引入泛型的好处是安全简单。为什么说是安全简单呢,通过下面的一个小例子说明: List list = new ArrayLi

2016-03-25 16:14:27 321

原创 java 笔试易错题(二 )

接着之前总结的java笔试易错题,后续会有好多,所以新起一篇。后续会持续更新。。。1、下面有关JVM内存,说法错误的是?A   程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B   Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C   方法区用于存储JVM加载的类信息、常量、

2016-03-07 17:48:34 4990 3

转载 程序员别迷茫,通往牛逼的道路有很多

文/奋斗De奶爸(简书作者)原文链接:http://www.jianshu.com/p/6480a5cc07c1著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。有个网友给我留言,说看了我的上篇文章《三个月不工作,我才转行成了程序员》,感触很深,自己和奶爸的经历类似,也是从其它行业,转到IT圈做了一名程序员。如今已有2年时间,大大小小也参与了一些系统开发项目,可如今感觉

2016-03-07 10:31:55 901

原创 js在jsp页面或当独的js文件中获取项目路径

在jsp中获取context path或者basePath 是很容易的。在javascript中也可以获取,并且有的时候也很有必要。    String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get

2016-01-18 11:59:28 3477 3

原创 树形节点的递归遍历

树形节点大概如下,有任意多个父节点,每个父节点下有任意多个子节点,每个子节点下又有任意多个子节点,,,,,一次类推如下图所示,我们怎么才能一次获得某个父节点下的所有子节点,或者是所有的节点呢。说明:每一个节点都是对应数据库中的一条数据,每条数据有自己的id,也有父id,顶级父节点的父id为0遍历的代码如下:public List getAllChild(String i

2016-01-03 20:59:07 6596 1

原创 java操作mongdb多条件复合查询(包括模糊查询和按时间段查询),分页

最近学了下mongdb,在这儿先和大家分享一下java操作mongdb的多条件查询,包括模糊查询,完全匹配查询和按时间段查询,以及分页。import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.regex.Pattern;import org.apache.commons

2015-12-28 11:09:43 9367 1

原创 java多线程或者定时任务中查询数据库报空指针异常

最近在做项目的时候出了个问题,大家很熟悉的空指针异常,说实话已经很久没遇到这个异常了,就算有时候遇到也就是分分钟解决的事,但是这次搞了一晚上,纠结了一晚上。。。用的框架是springmvc当时的业务大概是这样的,需要一个定时任务去轮询查询,根据结果发送邮件,都是通过注解的方式,定时任务也通过注解获取了dao层的对象,但是在定时任务中查询就是报空指针异常,但是把查询的代码放到

2015-12-23 16:12:27 8565 1

原创 jquery+html5 在web页面播放提示音

New Document function play(){ if($.browser.msie && $.browser.version=='8.0'){ $('#newMessageDIV').html(''); }else{ //IE9+,Firefox,Chrome均支持 $('#newMessageDIV').html('<so

2015-12-15 23:02:54 11867 2

原创 transient 关键字的用法解析

之前在看ArrayList的源码的时候就遇到了这个关键字,不知道它是什么意思,但是那个时候太忙了就跳过了,最近在看LinkedList的时候又遇到了这个关键字,突然想起了,就决心把它整理一下,说实话java里的基础知识还是很多啊,还需要再接再厉的学习,不可一日放松。下面就说下这个神秘的关键字transient ,它到底是干嘛的(以下是我在网上搜索整理的)1、transient 的作用:我们

2015-12-10 09:34:51 999

原创 util.ArrayList之源码分析

在写这篇文章之前我也看过其他人写的关于ArrayList的源码分析,但总感觉差点什么,有些地方也说的很含蓄,所以今天自己写下,一是加深对其的理解,二是方便其他人的学习理解。看源码分析源码有什么用呢?我们可以学习java语言开发者他们写代码的一些好的习惯和设计思想,我觉得这是最重要的。声明:我jdk的版本是1.7

2015-11-22 20:46:50 279

原创 LINUX 常用命令

之前学校的时候linux命令也记过一些,但由于不经常用,好多都忘记了。。。下面记录一下工作工可以用到的linux命令,不全面但很重要。   后续会持续更新。。。解压文件tar的压缩包:tar -zxvf sourceName targetName         //sourceName 要解压的文件的路径    targetName 解压到那zip的压缩包:unzip z

2015-10-30 16:23:34 336

转载 JAVA正则表达式语法大全

1 [正则表达式]文本框输入内容控制 2 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 3 只能输入数字:"^[0-9]*$"。 4 只能输入n位的数字:"^\d{n}$"。 5 只能输入至少n位的数字:"^\d{n,}$"。 6 只能输入m~n位的数字:。"^\d{m,n}$" 7 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

2015-10-23 14:20:27 326

原创 scala实现hbase的分页查询,并封装PageInfo

在mysql,oracle等关系型数据库的时候,实现分页查询很简单,只需要在写sql语句的时候,用limit就可以了,最近在做大数据,需要页面的展示,不得不查询hbase数据库,又不能一次显示的数据太多,所以就想到了分页,在最新的hbase中我们进入shell命令下,也有limit的实现,但是hbase的limit只能是查询前多少条内容,不能查询某个区间段的。于是我是用row来做的分页查询。下

2015-10-21 11:22:57 2372

原创 java中定时任务的实现

有时候我们在开发的时候,项目中要求我们定时的去做一些操作,比如定时的跟新数据,定时的访问某个网站来获取想要的信息,网络爬虫等下面我来说一下java中用timer来实现定时的任务处理。

2015-10-21 10:55:47 462

原创 java 笔试面试易错题

最近收集了几个java中易错的问题,后续还会继续更新。

2015-10-13 11:39:31 1715 2

原创 使用idea开发scala

在做大数据的时候要用到scala开发,scala在设计初衷是要超越java 的语言,但是这么多年过去了,scala的市场如何在这儿不做评价,大家有目共睹。但是不得不说scala是要比java简洁一些,但这也就造就了scala的语法比java复杂。据说scala只要是编译通过的话在执行的时候很少会有异常,基本上不需要断点调试(一位大牛说的,还未证实),下面我就简单的说一下使用play框架开发scal

2015-10-10 16:05:10 1768

java-开发手册(最新).zip

此文档为阿里巴巴最新的开发手册,对初级java开发人员有很大的帮助,通过本文档可以规范你数据库的设计,异常的处理,工程的结构,单元测试....

2020-09-10

Smack帮助文档中文版

openfire+smack 做即时消息时使用的smack,这是smack的一个简单的中文文档

2017-05-01

Android中自定义带进度值的圆形进度条

Android中自定义带进度值的圆形进度条,支持在xml中定义属性

2017-02-27

Android中EventBus的使用

在Android中我们可以使用EventBus进行线程间通信,EventBus可以做到很好的解耦

2017-02-18

Android studio下jni的demo

Android studio下jni的demo,包含简单方法的调用和参数的传递

2016-12-19

Android5.0源码

Android5.0的源码,压缩包,解压即可查看

2016-08-12

Android中使用aidl在进程间通信(IPC)

Android中使用aidl在进程间通信(IPC),2个项目的源码,可以直接运行

2016-07-05

Android 加载微博长图,巨图

Android 加载微博长图,双击放大,支持缩放,单击返回

2016-06-29

universal-image-loader-1.9.2_sources

universal-image-loader-1.9.2_sources imageloader的jar包

2016-06-29

android 多线程文件断点下载

android 多线程文件断点下载,可暂停,可继续下载

2016-06-15

android-support-v7-appcompat.jar

android-support-v7-appcompat.jar

2016-05-05

web 多文件上传

在web端,多文件同时异步上传,纯js,可以根据自己需求修改源码,可以控制上传文件的个数,当个文件的大小,总文件的大小,设置上传文件类型等等。使用时只需要在jsp页面引入,调用即可。很方便。

2016-03-01

junit4.8.jar

用于测试的jar包;用于测试的jar包;用于测试的jar包;用于测试的jar包;

2015-12-24

java连接mongdb的驱动包

java连接mongdb的驱动包,可以使用

2015-12-24

用js写的省市区三级联动

用js写的省市区三级联动,可以直接使用。

2015-09-02

hadoop2.6-api.zip帮助文档

hadoop2.6-api.zip帮助英文文档

2015-09-02

jolt.jar包

java通过jolt来连接tuxedo时需要的jar包,可以使用。

2015-09-02

HBase_0.94.5_API.CHM

HBase_0.94.5_API.CHM,hbase的api,对初学者有一定的帮助

2015-09-02

servlet-api-2.3.jar

servlet-api-2.3 .jar

2014-12-16

com.springsource.org.aopalliance-1.0.0.jar

com.springsource.org.aopalliance-1.0.0.jar开发包

2014-12-16

aopalliance-1.0.jar

aopalliance-1.0.jar开发包。支持Spring AOP

2014-12-16

Java Web项目企业事务管理系统源码.zip

Java Web项目企业事务管理系统源码.zip 数据库sql sever 2000,sql sever 2005,和mysql三个数据库 三个数据库分别有java源码,绝对的超值

2013-12-20

java web电子商务管理系统.rar

java web电子商务管理系统.rar java源码,数据库,说明文件

2013-12-20

W3School离线电子书2013.09.rar

W3School离线电子书2013.09.rar

2013-12-20

javaSE的中文查询文档

对于初学者来说。java里面有许多的类,方法,和接口,javaSE的中文查询文档可以很好的帮助你查询你所需要的一切。

2013-06-01

空空如也

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

TA关注的人

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