- 博客(31)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 JavaPoet开源项目使用
JavaPoet开源项目使用JavaPoet项目可以为我们动态的生成Java文件,这是一个很强大和很动态的方法。我们使用注解的时候假如需要生成新的Java文件就可以通过这个开源项目实现。 项目地址:Javapoet引入我们在AndroidStudio中新建一个Java module,声明如下:apply plugin: 'java'dependencies { compile fileTr
2017-02-06 23:02:36
1847
原创 Gradle的使用技巧
Gradle的使用技巧定义一些统一的编译变量当我们在一个AS的Project里面,有挺多的module和library的时候,我们需要统一各个模块的编译版本,sdk版本等,我们可以通过gradle设置,这样子设置的好处就是只要我们有修改需求,那么只是修改一个地方就好了,例子如下: 我们在项目目录下的gradle.properties文件中,添加如下代码SDK_COMPILE_VSERION=23
2016-11-28 23:43:11
441
原创 Groovy语言语法基础
Groovy 语言学习个人Groovy目前学习所用主要是用于编写gradle插件。 groovy语言是兼容Java语言的,我们可以使用写java的方式写Groovy,当然也可以使用Groovy本身的一些语法去写也许。Groovy是没有类型的java。 来源Groovy入门教程Groovy安装下载GDKGDK,配置安装环境,也就是环境变量,跟java的类型(AS直接运行貌似可以不用),然后在And
2016-11-23 00:26:03
4795
原创 Gradle在Android的使用二
Gradle构建变种版本介绍构建变种版本是有利于我们调试,多渠道打包。比如,我们需要上360,应用宝市场,然后需要区分这两个这两个市场的下载量,卸载量等,我们通过在清档文件带有一个渠道标识,当然,我们可以一次一次的分开打包,没打完一个包然后就再次修改渠道标识再次打包。但是这样子很繁琐时间也很长,我们就可以使用AS使用的Gradle实现变种apk来一次性打完所有的apk。同时使用多渠道打包,我们可以同
2016-11-16 23:06:57
478
原创 Gradle在Android的使用一
Gradle在Android的使用本文是基于Gradle Android Plugin中文手册总结,以及自己本人测试所写。Gradle的目录结构Gradle遵循约定优先于配置的概念,在尽可能的情况下提供默认的配置参数。最基本的项目有两个”source set”组件,他们是: 1. src/main 2. src/androidTest 在里面,每个存在的文件夹对应相对应的源组件,比如对应jav
2016-11-16 00:10:19
1664
原创 Gradle学习-构建Java程序一
Gradle构建Java配置Gradle环境下载gradle的二进制文件,GRADLE 3.1,最新版本是3.1配置环境变量 在环境变量中添加gradle安装目录,比如:D:\software\gradle\gradle-3.1然后在path变量中添加进入:%GRADLE_HOME%\bin然后在命令行输入gradle -v查看是否有正确数据。目录结构src -main
2016-11-07 22:39:56
345
原创 RxJava的布尔操作符实例
布尔操作符我们可以使用布尔操作符,对源数据Observable发送的数据进行变换或者是直接的布尔操作,来达到一些目的。all 操作符Observable<Boolean> all(Func1<? super T, Boolean> predicate)用于判断Observable的所有数据是否满足某一个条件 例如: Observable.range(10,3).all(new Func1<Inte
2016-11-02 22:37:19
885
原创 RxJava的辅助操作符实例
辅助操作符RxJava提供很多的辅助操作符,帮助我们更好的堆Observable进行更加方便的操作。meterailize/Dematerialize 操作符meterailize操作符被一个合法有限的Observable调用的时候,如果Observable调用Observer的onNext次数为0或者多次,omComplete次数为1次,或者onError1次。meterailize会将不管是on
2016-11-02 00:21:35
1000
原创 错误处理操作符
错误处理操作符错误处理操作符主要是在Observable的onError中拦截,做一些事情。catch操作符onErrorReturn让Observable遇到错误时候发生一个特殊的数据并且正常终止,比如 Observable.just(1, 2, 3, 4, 5).map(new Func1<Integer, String>() { @Override
2016-10-26 23:23:35
710
2
原创 RxJava组合操作符实例
结合操作符组合操作符的作用是可以结合多个Observable进行操作。CombineLatest 操作符他可以组合两个Observable,进行一定的操作之后,再次发射下去,例如: Observable.combineLatest(Observable.range(5,2), Observable.range(10, 4), new Func2<Integer, Integer, String>(
2016-10-20 00:20:32
1054
原创 RxJava过滤操作符实例
过滤操作符3.1 filter 符合某种规则的Observable才会向下传递,例子 Observable.range(100,10).filter(new Func1<Integer, Boolean>() { @Override public Boolean call(Integer integer) {
2016-10-17 00:53:48
816
原创 自定义SwitchView控件升级版
自定义SwitchView升级版效果图: 在上一片文章中,我们只是在ACTION_MOVE中有动画效果,在这一片中,我们会在ACTION_DOWN和ACTION_UP中带有动画。分析关于自定义的属性和初始化那些,跟上一篇文章类似,假如你还没有阅读,请先阅读上一篇文章:自定义有动画的Switch控件 我们现在需要处理的是down和up事件,我们就需要添加一些属性去标记,比如down的位置,up之后
2016-10-16 02:39:14
387
原创 自定义有动画的Switch控件
自定义有动画的Switch控件效果图 需求分析我们需要一个类型Android Switch的功能,但是系统带有的有点丑,我们自己自定义一个带有动画的Switch,完全使用自定义View实现,他是可以根据手势进行move,以及过半时候的颜色装换实现分析首先,我们需要线条和圆的未打开和已经打开的状态颜色,圆的半径,线条的宽度,已经是否是打开状态这几个属性,定义如下<declare-styleable
2016-10-15 15:34:59
552
原创 自定义渐进和渐变颜色的进度条
自定义进度条的需求自定义进度条的需求需求是:他可以根据进度的多少显示进度条,然后同时改变进度显示的透明度和当前进度,比如50%的时候显示的进度是50分,透明度是当前颜色的一半透明度。
2016-10-15 00:45:19
4261
原创 RxJava的变换操作
变换操作符map 装换对象的时候使用,就是把一个Observable装换为另外一个Observable,例子 Observable.just("A").map(new Func1<String, Integer>() { @Override public Integer call(String s) { retu
2016-09-01 23:10:00
900
原创 RxJava初见之创建操作
RXJavaRXJava好处RXJava相关依赖RXJava的使用基本概念简单使用详细RXJavaRXJava好处流行框架,流处理,逻辑清晰,网络处理方便,不再使用Handler,异步操作,简洁,哪怕是逻辑上面复杂,代码程度上面也能够做到简洁,与Retrofit2.0完美结合,多操作符。RXJava相关依赖 compile 'io.reactivex:rxjava:1.1.6' com
2016-09-01 23:06:06
1012
原创 RxJava阅读推荐
官网RxJava官网GithubRxJava RxAndroid简书RxJava系列掘金RxJava 的周末狂欢CSDNRxJava 深入浅出RxJava RxBinding 小炫风技术旅行 StringObservable译文ReactiveX文档中文翻译Rx例子RxJavaApp
2016-09-01 23:02:49
647
原创 Git资源推荐
Git资源官网推荐教程中文版的git代码管理Git的使用心得Git资源官网git推荐教程,中文版的Git教程 Git远程操作详解 Git教程 git - 简易指南git代码管理官网 git flowGit的使用心得:项目开发阶段,只是在master分支上面迭代项目有一个版本发布之后,新版本开发另起分支永远证有一个分支的代码是稳定可发布版本的完成某一个功能的时候打tag,完成某
2016-08-28 18:13:50
542
原创 git的常用命令
git的使用git安装地址git的使用git的使用git安装地址git.exe windowsgit的使用查看帮助,所有的命令通用git cmd --help //cmd是对应的命令,输入之后他会打开对应的网页clone命令,从远程仓库中copy代码到本地,方式一般常用的有两种方法 1.1. https 1.2. ssh// 例如git clone git@github.com:
2016-08-28 18:10:56
795
原创 自定义View基础篇一
概述Android的自定义View算是比较重要但是又比较难的,因为他涉及的View的绘制,事件传递等比较复杂的知识。自定义View主要有两种类型(我自己接触到),一个是一个ViewGroup,把一些View继承起来,封装起来使用,比如TopBarView,这种比较简单,一般不需要重新onMeasure等方法,第二个是需要自己去自定义一些属性,重写onMeasure等方法实现自己需要的效果。 我
2016-06-19 23:49:11
373
原创 RecyclerView的全能适配器,带有header和bottom
概述现在我们基本上不怎么使用ListView,而是使用RecyclerView代替了,关于如何引入和基本使用RecyclerView这里就不分享了,我们主要分享的是如何打造一个全能的适配器给RecyclerView使用。 本文的例子是一个可以添加头部和底部的RecyclerView,我们将在BaseAdapter去处理。思路1,我们需要一个BaseRecyclerAdapter去继承Recycle
2016-06-10 15:11:24
1063
原创 Android的Base初始化,使用代理模式
概述首先,我们的项目一般会有很多的Base类,各种类型,风格的Activity,Fragment,或者是Dialog,然后我们的子类去继承它执行一些统一性的初始化工作,比如初始化一些基础控件,一些topbar之类的。然后,对于方法,我们也是回做一个功能单一的抽取,比如initData,initEvent之类的。但是,每一个Base都是用这样的方式会需要重复不少的代码,因此我们考虑使用一个借口抽象这些
2016-06-10 13:05:27
550
原创 AS 的Project Structure无法打开
我的是使用F4,Ctrl+shift+alt+s,或者是点击图标都无法打开,而且,点击图标的时候出现了这样子的logIllegalArgumentException: Multiple entries with same key: Google Inc.:Google APIs:23=Google APIs (Google Inc.) (API 23) and Google Inc.:Go
2016-01-10 19:24:46
3191
原创 联系人demo
实现了微信联系人的一个demo。不过是添加了滑动删除的功能。这个的用途其实很多,比如可以用在消息页面,聊天页面,好友管理页面等。使用的是ExpandableListView。关于排序,使用了一个pinyin4j开源JAR,按照特殊字符,数字,A-Z,这样子的排序方式排序。github地址:https://github.com/liweijieok/expadnableview/
2016-01-10 16:11:27
820
原创 使用ProtocolBuffer或者是Wire框架进行数据传输
官方地址:https://developers.google.com/protocol-buffers/docs/javatutorial?hl=zh-cn官方github:https://github.com/google/protobuf很不错的连续教程:http://www.cnblogs.com/shitouer/archive/2013/04/08/google-pr
2015-12-20 22:59:04
1391
原创 仿微信聊天功能实现
首先:微信聊天功能模块包括1,发送文字2,发送表情3,发送语音4,发送图片(图库和相机,可以同时发送多张)其中,文字和表情是可以一起发送的,可以同时存在同一个输入框当中,语音和图片是独立各自发送。实现:文字和表情同时存在一个Edittext当中,可以同时发送。使用自定义输入View控件。实现之后的截图是酱的。所以东西比较多,我
2015-12-05 17:27:14
8957
8
原创 AndroidAnnotaions框架的使用
Github地址:https://github.com/excilys/androidannotationsWiki地址;https://github.com/excilys/androidannotations/wiki/Cookbook所有可用标签:https://github.com/excilys/androidannotations/wiki/AvailableAnnotatio
2015-11-26 09:48:05
1124
原创 Android开发使用RoboGuice3.0框架进行注入
githuab地址:https://github.com/roboguice/roboguice/wiki/InstallationGradlehttps://github.com/google/guice/wiki其中3.0之后没有的方法EventManager的fire(),RoboApplication (2.*之后就没了),还有就是设置model,现在好像只能通过xml
2015-11-18 23:23:55
862
原创 JAVA的初始化的坑以及内存分配
最近在看JAVA程序猿16课,看到了变量的初始化和内存分配,然后觉得挺多坑的,就总结了下来。(顺便,书真的挺好的)PART 1:首先,看一个例子:package test;public class TestInit{ public static void main(String[] args) { new Dervied(); }}cla
2015-10-23 14:23:16
584
原创 Android的OOM
Out Of Menory:内存溢出,主要原因是:我们的一个应用,运行在他自己的虚拟机哪里,注意,是一个应用一个虚拟机,这样子的目的是当虚拟机发生崩溃的时候不会使得整个系统都挂掉,我们应该需要的内存系统不足以提供,发生了内存溢出的错误。a,加载对象过大b,相应资源过多,没有来不及释放他们都是引发OOM的原因解决方法:1,管理好我们的bitmap:我对图片的处理,需要使用一个LR
2015-10-21 15:03:08
457
原创 JAVA的初始化顺序
package test;public class TestInit{ public static void main(String[] args) { new Dervied(); }}class Base{ static { System.out.println("Base static block"); } { System.out.println("
2015-10-21 14:59:47
341
MyToolBar_liweijie.zip
2015-05-08
github安装问题,设置了站点还是失败
2015-09-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人