自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)

原创 Kotlin使用总结

学习笔记,仅记录和Java不一样的地方可见性default,public:能见到类声明的private:相同class可见protected:相同class及子类可见internal:能见到类声明的 本模块内 的任何客户端都可见变量方法定义var a = 1var s = "asd"var s : String = "asd"var s : String ?...

2018-06-15 18:04:36 165

原创 Butterknife与各种事件

Butterknife的各种事件,我们一般关心的是,输入参数,回调的借口,先罗列几个看看:点击事件参数可选@OnClick(R.id.submit)public void submit(View view) { // TODO ...}@OnClick(R.id.submit)public void submit() { // TODO ...}文本内容变化@OnTextChan

2017-03-07 18:06:19 5585

原创 从接口与抽象类说起

每当面试的时候,我总喜欢问一下应聘者这样一个问题:接口与抽象类有什么区别?这个问题看上去很简单,网上的答案也一搜一大把。然而,我根本不想要应聘者背出来的答案–一个对技术热衷的人,这个问题一定会反复思考过无数次,一定能说出自己的一些见解。然而,令我失望的是,我很少得倒令我满意的答案。写下这篇,分享一下我对接口和抽象类的认识。表象接口用interface声明,而抽象类用class声明实现接口关键字

2016-10-31 16:15:24 449

原创 泛形和枚举

泛型定义泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。兼容版本java 1.5解决什么问题Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实

2016-10-09 11:06:47 555

翻译 选择你的compileSdkVersion, minSdkVersion, 和targetSdkVersion

原文链接 https://medium.com/google-developers/picking-your-compilesdkversion-minsdkversion-targetsdkversion-a098a0341ebd#.g6hayk5q0朋友推荐的一篇文章,讲明白了一些我们一直在用,但又很模糊的东西,翻译了一下。横轴时间推移,纵轴技术演进,很可能在你发布一个app之后几个月一个新的a

2016-10-08 17:41:26 385

原创 databinding使用进阶

本文接上篇http://blog.csdn.net/vhawk/article/details/52526123为TextView设置样式 <TextView android:textColor="@{selectedType == null ? @color/font_color_gray_ae: selectedType.selectedType == 0 ? @color/font_

2016-09-21 16:42:08 1240 1

原创 activity启动模式

整理之前的学习笔记,看到了这个,感慨颇多,这一页记录下来,笔记本就可以扔掉了。activity启动模式 四种启动模式对比 顶部是否创建新实例 是否开启新任务栈 回退是否清除它之上的activity standard 是 否 否 singletop 否 否 否 singletask 否 否 是 singleInstance 否

2016-09-19 10:15:11 215

原创 Data Binding基础学习笔记

Data Binding是什么?一个支持用最少代码绑定逻辑和layout文件的库 一个灵活广泛的support库(Google提供)兼容Android 2.1 (API level 7+)及以上Android Studio版本:1.5.0-alpha1及以上(最新Data Binding版本)为什么引入Data Binding(Data Binding做了什么)谷歌官方出品必属精品

2016-09-13 15:11:42 697

原创 源码解析RxBus实现观察者模式

一句话描述RxJava实现观察者模式的过程事件从Observable中发出,在Observer中接收并由Observer处理RxJava实现观察者模式:四个基本概念,三个步骤四个基本概念:ObservableObserversubscribe事件三个步骤:创建Observer创建Observablesubscribe(订阅)接下来逐步解析每一个过程Observer创建Obser

2016-08-18 10:33:04 771

原创 优雅代码养成笔记

1.本文通用约定该约定参考自 Effective java 第二版服务端: 并不是指运行在服务器端的程序,而是在工程中,提供基本方法的部分。客户端: 并不是指运行在用户手机中的程序,而是在工程中,调用提供基本方法的部分。编码系列2.异常管理代码如下public class ExceptionUtils { /** * 对象的非空校验 * * @param object 代校验的参

2016-08-17 15:02:18 1759

原创 android中values的良好实践

初衷在我的项目中,使用values文件并不很规范,为了规范values的使用,特参考开源项目(oschina,iosched,androidCleanArchitecture,androidBestPractices,MPAndroidChart),学习借鉴优秀开源代码的values使用经验,提高代码规范性。string分为公共区和模块区模块里的,按照模块名+功能名方式命名最好加注释co

2016-08-16 17:35:49 1528

原创 几个常用的git命令

猴子git使用不熟,记录几个常用的命令,供自己查询使用。git status   查看当前分支状态git branch        查看所有,显示当前所在的分支git branch{name}  创建新的分支git checkout {name} 切换到{name}分支git merge {other branch}将其他分支上的内容合并到当前分支git add

2016-03-09 15:21:46 286

原创 dagger2使用详解

依赖注入,完美解决了类间解藕的问题。搞了接近一周的dagger,终于明白点了。将心得记录下来,庆祝一下。首先引入依赖库,在app的gradle中添加apply plugin: 'com.neenbedankt.android-apt'//不加这个,编译不过去compile 'com.google.dagger:dagger:2.0.1'apt 'com.googl

2016-03-03 19:39:35 3890 1

原创 oschina的android源码分析学习-MainActivity

在oschina的MainActivity中,承载了主页的所有页面。打开MainActivity的源码,首先看到的是MainActivity注册了一个广播,广播接受拦截两个意图,一是退出登录,二是我的通知。当收到通知后,如果是在通知页面,则把页面数据刷新一下,否则就在通知处给出一个提示。MainActivity承载了四个fragment,关于这四个fragment的切换以及联动,等我看明白

2016-01-22 17:25:41 522

原创 oschina的android源码分析学习(一)

之前猴子是讨厌读别人的源码的,一是因为项目太大,一时半会吃不完。二是懒。近一段时间,加班非常频繁,究其原因,项目时间本来就紧,这是猴子所控制不了的。还有就是猴子技能有限,蓝不够用啊。于是想到进阶。oschina的部分源码是开源了的,这是一份不错的源码,技术复杂度并不是很高,有很多值得学习借鉴的地方。猴子要在oschina的android源码分析学习系列中,记录一些学习心得。先说说oschina

2016-01-22 16:09:54 1003

原创 猴子的android规范

命名规范1.class      采用小驼峰式命名

2016-01-05 11:39:30 363

原创 android64位机子兼容32位.so库文件

猴子在调用高德地图的时候,遇到一个操作系统兼容问题,异常堆栈说是找不到so库文件,猴子就不懂了,明明有他说的那个文件。        后来和同行交流,他们的jniLibs中有一个arm64-v8a的文件夹用来存放64位操作系统的so库文件,于是猴子自己建了一个arm64-v8a文件夹,因为高德并没有把64位的so库文件公布出来,所以,猴子直接把他们唯一的so库考到了arm64-v8a文件夹下。

2015-11-21 14:47:35 21298 15

原创 androidstudio快捷键-不断完善版

猴子刚使用androidstudio不长时间,快捷键使用有点不习惯,在网上查了部分常用并且亲测可用的快捷键,记录一下原生mac系统下的快捷键,以备查询。       alt+enter       万能提示        cmd+D        复制一行代码        cmd+X        删除一行代码               cmd+F

2015-10-20 10:33:05 482

原创 android开发慎用boolean型变量

猴子之前比较喜欢使用boolean型变量,感觉用起来还是比较方便的。直到膝盖中了一箭。简单说一说boolean型变量的弊端。        首先,环境不兼容。猴子是搞android开发的,昨天加班的时候,后台的哥们把我拉到他们项目组里面去,这样方便我查看请求参数,当看到一个String类型变量的注释上说这个变量有两种取值“true”和“false”,我问他们:“这是什么鬼?”,答曰:“ios的

2015-10-18 07:29:42 9130 2

原创 android屏幕分辨率计算转换

在之前的公司,我们的UI设计并不知道如何给android做标注,这让我很开心。因为他给iOS做的标注是以px为单位的,如果也给我px这个单位,那我还得再转换一次,很麻烦的,于是猴子本着麻烦自己不如麻烦别人的原则让他给我按照dp进行标注。但是他用的软件标注出来的尺寸大大丰富了我的想象力(不堪入目),更要命的是,他用一个不标准(非主流分辨率)的手机去验看效果。我的天。。。还是整理一下吧。px转dp

2015-10-16 10:07:15 1724

原创 浅谈android嵌入第三方sdk的二次封装原则

由于android的开源特性,很多功能(例如网络请求,json解析等)可以在网上找到大把的工具,另外还有很多第三方sdk(例如,推送)已经大行其道。这些第三方框架以其调用方便,性能稳定等特性大受android程序猴子欢迎。虽然这些sdk内部封装的很好,调用也极其方便,所以很多人都不想在此基础上进行二次开发,以方便自己使用。这样造成的问题就是,一旦更换sdk,结果将是灾难性的大面积修改甚至重构。

2015-10-14 17:27:48 4773

原创 androidUI开发中的规范

笔者认为UI是android开发中非常繁琐的问题。本身不具有什么难度,但是工作量巨大,而且如果前期没有统一的规范的话,控制起来将是一个非常浩繁的工程。为此我在这里简单总结一下我在UI开发上的一点经验。      1.字体样式      项目开发之初就要预先定义一些常用的字体样式。这些样式主要包括:文字大小,字体颜色。在一个项目中,字体颜色,文字大小的组合不应该太多,例如字体可以定义成4类:

2015-10-13 15:45:35 435

空空如也

空空如也

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