自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 重构

《重构,改善既有代码的设计》已入手,研读中

2015-07-30 08:53:21 611

原创 使用SpannableString实现一个load小动画

依旧是github开源项目:WaitingDots 这个项目代码不多,实现的很简单,但是很有意思因为动画的基本元素不是画出来的,而是使用了spannableString来实现。DotsTextView.javaJumpingSpan.javaMainActivity.java DotstextView是动画的实现主体。 JumpingSpan是基本元素,是动画中的插件 MainA

2015-07-23 17:51:03 2267 2

转载 Android动画学习笔记-Android Animation

转载一篇动画的博文原文点这里 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation。 可通过NineOldAndroids

2015-07-22 16:52:29 2059

原创 策略模式

琢磨了一下策略模式,发现各个模式之间并不是区别特别大,他们都是基于软件工程一个大的基础上进行细微化差别的设计。要想熟练的选择和使用各个模式要了解每个模式的应用场景。 比如这次学习的策略模式,在大话设计模式中举了一个商场促销几种方案的例子,如果以简单工厂模式切入写出的程序和策略模式答题不差。我在用简单工厂模式构想这个商场打折的问题时候相到的方法和策略模式无二。 所以这次主要是给出策略模式的理论知识

2015-07-21 22:19:12 789

原创 快速排序

先手打一个快速排序热身 排序方法很多,选一个快速排序傍身没错的 code:public void QuickSort(int[] data,int start ,int end) { int low = start; int high = end; if(low < high) { int tmp = data[low]; while(lo

2015-07-21 21:35:25 585

原创 全排列

Q:给了1234四个数,列出所有的排列组合。 A:全排列算法。 Code:public class Algorithm { static int[] data= {1,2,3,4}; static int[] tmp = new int[4]; static int[] out =new int[4]; static boolean[] used = new boo

2015-07-21 09:15:02 918

原创 三次贝塞尔曲线画圆的方法。

上一篇说的仿58同城loadingview的项目,中有一个利用贝塞尔曲线进行绘制圆的步骤,这个贝塞尔曲线理论挺复杂,特此单独说一下所知的和能用到的。 比如上一个loadingView的项目中,要用到Path.cubic()来使用贝塞尔曲线画一个圆,那么首先要了解的是 Path.cubic()方法的定义:void cubicTo(float x1,float y1,float x2,float y

2015-07-20 10:26:20 17985 3

原创 animation之objectAnimator

这次借助github上的开源项目ShapeLoadingView来学习下ObjectAnimator和animatorSet. 代码结构目录:ShapeLoadingView.javaLoadingView.java LoadingView是绘制三个基本图形的类。 ShapeLoadingView初始化图形并操作图形进行动画。 下面上加了注释的代码:package com.mingle

2015-07-17 12:12:22 4297 1

原创 开放与封闭

软件工程中的开放与封闭原则是一个开发前的指南,当你进行工程开发时要依据这个原则。 开放封闭就是对扩展开放对修改封闭,目的是指导开发一个当需求增加时,不需要修改原有代码而进行代码扩展即可实现。为什么不去修改原代码呢? 举一个badCase: 开发一个库,里面定义了加法,用户调用你这个库实现了他的1+1的需求,这时候业务扩大了另一个客户需要加法的同时也希望能够使用减法,作为一个合格的开发产品,你不

2015-07-16 22:58:17 997

原创 animation-circleProgress

CircleProgress github上一个开源项目 代码的主要目录是这样 1. CircleProgress 2. EaseInOutCubicInterpolator 3. MainActivity MainActivity是主界面负责布局的初始化和动画的启动暂停等控制 EaseInOutCubicInterpolator是时间插值生成的类 下面附上加了注释的代码

2015-07-16 11:08:27 2316

原创 装饰模式

装饰模式-动态的给对象添加新功能。装饰:所谓锦上添花,装饰就是给加上“花”而它的核心本质还是“锦”。 那么难免就有一个疑问那就直接加花就可以了啊,为什么要弄一个装饰模式出来呢? 举个例子:一个家伙要和面,准备蒸个馒头吃吃。然后准备一些面,加水,呀,水多了,加面…无穷尽也~ 我们把装饰单独拿出来实现主体和附加功能的分离,在不使主体变得臃肿的情况下添加需要的新功能。再拿蒸馒头举例,蒸馒头吃的是面,

2015-07-15 22:14:13 772

原创 简单工厂模式

设计模式在我看来是为了软件工程,通过设计包括封装,继承,多态等降低程序的耦合程度,使软件工程容易修改并且易于服用。虽然作为厂商工作者,不需要面对客户开发客户端接口架构一类的工作,但设计模式在日常的code工作中是一下手就知有没有,不像刷acm无视代码结构一样。 这次说一下简单工厂模式,毕竟这个比较容易理解在大话设计模式第一篇,翻一本书来来回回看到最多。何为工厂,能够批量按照模具生产的东西。何为模式

2015-07-14 22:26:58 909

原创 material颜色采样

http://www.materialpalette.com/light-blue/cyan 默默地收下这个materia设计的网站,用来颜色采样棒棒的!

2015-07-14 14:44:08 737

原创 soundPool和audiofocus

audiofocus试验: 使用soundPool来写一个播放音频的porject. 资源初始化:setContentView(R.layout.activity_main); Button bt1 = (Button)findViewById(R.id.bt1); Button bt2 = (Button)findViewById(R.id.bt2);

2015-07-14 13:54:42 1456

原创 androidStudio 又添一个新武器 findBugs

今天为我的androidStudio开发又添了一个新武器:findBugs,可以在code和编译过程中查找代码存在的问题,这个对我这种编程风格的人来说帮助很大(PS:我的编程风格是写代码先写更改,然后通过不断测试样例进行改进,调试需要花些时间,之前有文说这种编程风格比先想好再写需要更多时间,所以也在不断调整)。 好吧,给出添加插件方法:AndroidStudio->Settigns->Plugin

2015-07-13 19:11:57 9708

原创 论备份的重要性

今天怀着怀着悲痛的心情写下这句话,备份很重要! 昨天由于自己闲着蛋疼就在工作PC上安装了一个pack然后因为别的事要走,一看这个安装这么久竟然还没搞好!果断关机走人了,然后第二天就悲催了,系统挂掉了,修复不好,只能选择之前的一个备份点还原,然后咧,发现自己最后一次备份系统是在2013年!OMG,没有办法只能还原到那时候,然后这两年在PC的痕迹都被擦出了,虽然看着2013年的PC和文件,桌面等感觉怪

2015-07-04 13:57:46 3546

原创 细节取胜的javadoc

今个以为开发经验丰富的同事提出有个修改有问题,希望改一下,老前辈发话,心虚的紧,马上看了下,问题说是我的方法注释中写了一个** doesn't **建议改为does not说这个生成javadoc有问题,咦,不禁困惑,这个写法我记得没有违反javadoc的语法规则。 但前辈说了必然不虚,赶快查阅了ORACLE的javadoc文档 how to write docdocument for java

2015-07-02 14:08:23 815

原创 JAVA字符串的优化

Java 程序优化:字符串操作、基本运算方法等优化策略 看了这篇文档,略有所感,所以本篇算是一个读后感。和上篇JAVA一种提升输出速度的方法 进一步。 主要涉及了7种优化方式。 1.subString(begin,end): subString是截取String中一段的方法,我在这个上面还吃过苦头的,之前做过一个大数据量的subString一直OOM,没找到解决办法,今天看到文中提到如果使用

2015-07-01 14:48:15 1277

原创 适配器及适配器模式

今个看了JVM垃圾回收工作原理,看了以后对如何系统化学习产生了一点迷思,想写一篇困惑的blog,后来想想,还是在行动中思考,所以写一篇适配器。 看看百度百科怎么说:适配器:适配器是英语Adapter/adaptor的汉语翻译。适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的

2015-06-30 15:00:35 711

原创 适配器及适配器模式

今个看了JVM垃圾回收工作原理,看了以后对如何系统化学习产生了一点迷思,想写一篇困惑的blog,后来想想,还是在行动中思考,所以写一篇适配器。 看看百度百科怎么说:适配器:适配器是英语Adapter/adaptor的汉语翻译。适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的

2015-06-30 14:56:28 879

原创 Android Studio编译大工程报错:java.exe'' finished with non-zero exit value 1

困扰了三天的Android Studio编译报错终于解决了! 三天尝试了各种不同的方案针对各个不同的方方面面,然而真相只有一个! 原问题情景:由于项目工程特别大,在编译一段后就会报下面这个错误:Error:Execution failed for task ':dexAppDebug'.> com.android.ide.common.process.ProcessException: org

2015-06-29 18:58:56 51787 27

原创 使用Android Studio遇到JAVA (TM) Platform SE binary stop working的问题

使用Android Studio编译项目时总提示:JAVA (TM) Platform SE binary stop working,导致编译出错。 如题遇到该问题,费劲脑汁,百思不得其解。百般尝试后找到办法: 原问题地址:http://blog.csdn.net/serapme/article/details/46647449问题原因:项目中文件地址路径过长,超过255bytes.解决办法:

2015-06-29 12:20:55 3978

原创 使SourceInsight支持Python语言的方法

刚用家里的电脑看Python代码,发现py的文件在SI不显示,才意识到还没有安装Python.CLF插件。正好把这个方法在这分享一下,毕竟so easy~ 下载点这里–>Python.CLF 具体使用步骤如下图: 按照图片顺序步骤走下来,即可,so easy~

2015-06-28 14:44:31 20923

原创 升级JDK后SdkManager无法启动的问题

今天要把一个古老的工程从Eclipse迁移到AndroidStudio。于是开始了编译环境的搭建。 首先启动AndroidStudio遇到一个错误提示:Prime size must be multiple of 64,什么512-1024之间的search了一下,说这是java1.7的一个bug,已经在新版本中fix了。于是下载了java8安装了下,然后sdkManager就启动不了了。 由于

2015-06-26 10:49:11 4001

原创 LruCache缓存方法

package android.util;public class LruCache <K, V>{ public LruCache(int maxSize){} ...}LRU是Least Recently Used 近期最少使用算法。内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存. 明白了LRU,

2015-06-24 16:08:36 2473

原创 LocalBroadcastManager使用简析

LocalBroadcastManager属于v4包里面的类。android.support.v4.content.LocalBroadcastManagerdeveloper里面OverView是这么写的: Helper to register for and send broadcasts of intents to local objects within your peocess.this

2015-06-23 15:34:24 503

原创 JAVA一种提升输出速度的方法

一般做算法题输出都是直接使用System.out.println();刷一行输出即可, 但是今天做了一道题,JAVA和C给的限制时间都是1S,提交了几次都超时,纳闷极了,于是把设计的算法注释掉,只输出获得的输入,像这样:for(int i=0;i<n;i++) { A[i]= sc.nextInt();}...//注释掉算法实现for(int i=0;i<n;i++){ Sy

2015-06-19 10:27:51 2723

原创 一个有意思的题-小猴子下落

有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴子往左走,否则往右走,直到走到叶子结点。 一些小猴子从结点1处开始往下跑,最后一个小猴儿会跑到哪里呢? 输入

2015-06-18 19:10:32 525

原创 学习HashMap

突然想起来看一下哈希表起因是一技术不错的哥们去面试,被问了一个哈希表原理的问题,然后答的不好被鄙视,刚一听说我心想哈希表什么原理,不就是键值对存储么,后来为了印证一下就上网搜了下,一博客写着此问题可以看出面试者是否有工作经验!顿时惊呆,反思一下对这个原理性的问题还真是一知半解,然后翻阅了一下技术博客:从JDK源码分析HashMap。看了一遍,似乎学到不少,似乎又都忘了....写一下自己

2015-06-17 19:56:11 522

原创 JAVA实现广度搜索&深度搜素

水两篇数据结构的内容~ ,这几天做了几道算法题。在ACM POJ上广度搜索深度搜素都是比较基础的算法,所以不针对具体的题目了。 先上JAVA版本的广度搜索核心代码://假设需要使用一个数组坐标系来实现,定义一个坐标类public static class Point { int x,y; public Point(int x,int y) { this.x = x

2015-06-16 08:54:35 794

原创 Volley学习之一AtomicInteger

RequestQueue中第一行代码private AtomicInteger mSequenceGenerator = new AtomicInteger();用来产生一个自增的计数,这里用AtomicInteger主要考虑到应用场景为高并发,使用普通count++计数会出现问题。那么AtomicInteger是怎么处理高并发的场景呢? 我们来看下这个类的几处核心代码public class A

2015-06-11 16:01:28 654

原创 android自定义属性三部曲

我们在开发中经常需要为了保持应用在不同的移动设备平台下显示统一的UI风格,毕竟各个平台厂商针对界面风格进行自定义导致UI风格千变万化。所以我们需要使用自定义属性。

2015-06-09 11:23:19 591

原创 String.getBytes() 与float数据类型比较

今天使用了代码检测工具跑了一遍工程代码,报了几个预料之外的问题,有两个看到就知道问题所在的但是平时一不注意就忽视了,mark一下 1.String.getBytes() 报了一个编码问题,因为String.getBytes()默认采用的是系统的编码方式,凡是default的都需要注意,因为在不同平台上的编码格式不同,可能导致在不同平台上出现不同的结果。 JAVA中默认的unicode或者数据库

2015-06-09 10:33:39 752

原创 同一个应用程序的不同Activity可以运行在不同的进程中么?

今在网上看到这个问题,挺理论化的一个问题,值得掰扯同一个应用程序的不同Activity可以运行在不同的进程中么?这个问题重点是:一个应用程序的两个activity可以在两个进程中跑么?如草图(→_→) 好吧,好不容易画了个图传不上来…. 直接上段子:android:process=""此属性强有力的证明了这个问题的可行性.翻了下老罗的博客,找到以下代码 public class Acti

2015-06-08 19:46:29 7109

转载 收藏一个背包问题九讲

背包问题 九讲 转发

2015-06-04 14:36:16 607

原创 android的focus问题

因为工作关系,涉及到很多的安卓物理键盘引起的Focus问题。汗,我估计在Android code这群人里,每天要和Focus问题打交道的少之又少了吧,现在好多应用在设计时很少考虑物理键盘或者蓝牙键盘了,因为应用场景极少,在这少之又少的项目中估计就是我参与的产品了。 言归正传,focus属性在谷歌亲儿子不用物理键盘后基本上没有设计上的升级了吧(个人感觉).且在现在为了界面美观绚丽而进一步复杂的布局设

2015-05-15 19:57:00 1494

原创 LRU缓存机制

今天在看Android内存优化的文档的时候,有一段提到了LRU内存缓存机制,当时一下没想起来,遂search in net.然后知道真相的我眼泪掉下来,%>_<% 大学时候学的操作系统只是都扔了,想起操作系统老师的满头白发╮(╯▽╰)╭ 老师 对不起您 鞠躬 下面背一段书。LRULRU是Least Recently Used 的缩写,翻译过来就是最近最少使用。机制是把最近最少使用的数据移除,放

2015-05-15 19:21:25 788

原创 性能分析与优化的故事

今天偶然听到一个传闻,来自于刚跳槽的2个同事,说是找新工作面试前都看过Android性能优化的技术文档,说现在面试官爱问这个,看了这个薪水能有很大提升。 安卓性能优化已经这么迫切了么?

2015-05-14 18:54:04 466

原创 判断Intent是否安全的方法queryIntentActivities的使用

刚看到一篇博文,提到验证是否有APP可以接受一个Intent,这样可以在发送Intent前,避免发送的Intent没有能够接收的APP,导致FC。因为没有这个习惯~,所以特意试了一下。核心代码:PackageManager packageManager = getPackageManager();List<ResolveInfo> activities = packageManager.query

2015-05-07 12:10:28 6987

原创 viewstub中使用merge遇到的问题

今天写viewStub中用了merge标签 出了问题 布局demo如下: 主布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_p

2015-05-04 11:56:54 3965

Python.CLF

Source Insight CLF插件,使SourceInsight支持Python语言

2015-06-28

空空如也

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

TA关注的人

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