关于前几天的GDG演讲

上周天(2014/10/26),受邀参加了GDG的Devfest,这是我第二次以演讲者的身份参加GDG的活动了。

较早的时候韩大叔(GDG的组织者)叫我去讲一个小时,我其实挺想讲讲如何Android的触摸机制和Android自定义组件的,但是我在跟一群好基友一起做东西,准备起来也比较费时间,想想也就推掉了。临开始的前两天,韩大叔私信我活动还差十分钟,让我顶顶。

感觉时间较短,就答应了,临开始前一晚做了个PPT,感觉讲的还可以,没有诡异的现场敲代码,讲的都是些经验之谈,微博上反响也不错。

学Android其实也挺麻烦的,尤其是想做的很好。最开始我学Android最大的动力应该是赚钱,听人说App挂广告能赚钱。我就执着的做了第一个App,一个叫无尽画廊的东西… 那会儿本科2年纪吧应该,每天真的执着到不行,早上6点起来,边学边写,还得自己作图,还反编译了遨游浏览器手机版的UI,把图抠出来放进去,快7点40的时候就拿起书和同学一起上课去了,中午回来也是,熬到快一点,睡一会儿,下午继续上课,真的是拼到不行。

就那样,持续了两个多月,最后自己打包,挂上广告,上传到各个市场,坐等收钱…. 不过到现在也只收到了200多块,还没有取出来呢,感觉纪念意义好重要,所以就让他那么一直放着。

Android进阶的时候应该是做AnimeTaste和EverMemo的时候(感谢少楠),一次次重构代码的时候,每次思考的越来越多,尝试各种新奇的小玩意儿,AnimeTaste和EverMemo最后也都开源了。

决定做自定义组件,最大的诱因应该是EverMemo在GridView的有个滑动删除的效果没有实现,一直耿耿于怀。

应该是从一个Google关键字开始的… “How to make custom widget”。 刚开始学起来还是挺吃力的,尤其是onMeasure这个函数,每次要重写,可是就是不知道怎么计算合适… 把这个视频翻看了好几遍,然后各种试….

自定义组件这种事情,折腾出来一次,再多折腾几次就熟了,也没啥了不起的。不会的时候看看Android源码,看看Android内部是怎么实现的一些效果,怎么定义的组件,其实也是挺简单的,只要坚持着做一些事情就好了。

恩,其实很多事情都没啥,喜欢的话,坚持着做就好了。

我这几年的变化

几个时间点:

—-本科了—-

2009: 我满怀憧憬的进入了我的大学(西北大学,以下称西大),作为新生,一入校就被组织去看学长们临走时候的一些分享,目的是让新生们对未来的四年有个规划。那会儿,坐在台上的学长,相互之间吹捧和调侃,给我一个错觉就是进腾讯,华为这样的公司已经算是一个不错的归宿了。

2009-2011:三年间读了很多书,自己研究了很多东西,做了一两个到现在用户量还没有过万的App,依旧没觉得西大给我带来了什么,只是给我提供了一个住的地方,我也在学校里没有深切的佩服过谁,因为确实没什么好佩服的,你问的问题在老师,同学那儿也得不到什么解答,他们也不会给你什么真的有用的建议。自己摸索最大的坏处总结下来大概是这种场景:毕业的前一年依旧觉得Python和Ruby是个小众的语言。

2012:感觉自己去工作完全没有竞争力,到目前为止投的唯一一封实习简历应该是腾讯的…人山人海,密密麻麻,笔试完后就没有了下文。

2013:感觉得去读个研缓一缓,浑水摸鱼的进了北师大,保研完后的几个月闲的要死,开始认真的逛起了GitHub,又申请了暑假的实习,那个实习完完全全的改变了我对很多事情的看法和未来研究生的日子。我开始做东西了,认认真真的做东西了。

—-读研了—-

2013:我开始做AnimeTaste和EverMemo,受到很多国内市场的免费推广,感觉还不错,虽然一开始没这么想,但是现在看来,至少有个东西可以拿出手了。我也慢慢开始让自己变得有影响力起来(这个是刻意的),没有社交网络影响力的话,做个东西想要推广真的很让人很捉急!我开始认真搞起微博和博客来,原创或者转发点儿有用的开发资料,博客最早是技术文章,后来发现心得才是最有价值的。也同时参加一些线下活动,认识很多以前在西安完全见不到的人们,至少刚来帝都的一年让我很兴奋。

2014:AnimeTaste和EverMemo稳定后,一下又不知所措了。 只不过,越来越爱GitHub了,无聊的时候就做俩小东西push上去,稍微得到一点儿关注的时候,就时常会受到国内一些公司的Email,问我要不要去,我猛然发现GitHub是个不错的宣传平台,我开始做更多的小东西,慢慢收到中等公司,大公司的Email,直到后来有来自全球的公司发我邀请,当然也收到了Facebook Android Team Frank的邀请问我要不要去。

—-开始想—-

收到的多了,好像也就变木了,不想去了,感觉没有挑战了,一份工作终究是一份工作,拿着不错的薪水,去了写写Android或者Node,22岁后的最能拼的时候,日子也就这么过了。当然,如果你只是单纯真爱着技术,那也还好,你不会想那么多,你喜欢稳定,你不爱冒险,你有家人要照顾,你得到了你最想要的,那也挺幸福的了。

不过

即便在大公司里当了一辈子工程师,又有几个人记得你呢。

其实,所有的有人存在的地方都是围城,一群人笑着进去,一群人笑着出来。唯有虔诚的去追逐自己想要的东西,才能到达最完美的世界。

加油吧!

实在无聊,又撸了一个库…

生产力跟生孩子一样,来了自己也挡不住…

小撸怡情,大撸伤身… 花了两周时间,也算是大撸了,确实挺伤身的。

特点:

– 两种模式
– 四个方向
– 可以嵌套在任何地方而不破坏触摸事件传递(这是最难的地方)
– 可以监听被隐藏孩子的出现百分比,并回调(可以用来完成滑动动画,第三个下拉的demo其实就有背景色过渡效果,以及星星的zoom的效果)

AndroidSwipeLayout: https://github.com/daimajia/AndroidSwipeLayout

欢迎大家使用和吐槽~ 有新的想法和需求也可以随时提哒~ 

请叫我做库达人

恩,标题的意思你应该懂…

做了个开源的库,我给他起名叫AndroidViewHover ,是想让更多的应用用一种更酷的方式显示菜单和信息,而不是总想着跳转到新的Activity,感觉还蛮酷的,我最近点子蛮多,也算是蛮拼的(好多蛮)。

库的样子大概是酱紫的(图片有点儿大,请耐性等):

可以再YouTube看看Demo的视频,也可以在YouKu看呐。

而且Api也炒鸡简单,上面四个效果每个效果都是10行代码以内(有代码为证),当时写的时候,还结合了AndroidViewAnimation的效果进去,动画效果这块儿自然轻松了很多。

看到第二个图的娃娃头掉下来的效果么?这个动画效果是结合了AndroidEasingFunctions的效果进去的,AndroidEasingFunctions也是自己写的一个用来让动画更逼真的一个库(忘了发博文了)。

最后,欢迎大家使用哦!

哦,又做了个库,关于动画的

前几天,在GitHub上看到一个iOS的动画库,一个Shaker,感觉还挺漂亮的,我记得以前自己也做过一个,不过是给Dialog对话框做的,然后忽有灵感,想收集上一些好看的动画库,集合起来,减轻开发者的压力。

于是

借鉴了Animate.css,花了两天的时间实现了,我给他起名AndroidViewAnimation,push到了GitHub,欢迎大家使用和吐槽。

GitHub

世界杯,玩儿嗨啦!

世界杯来啦,最近完全是当赌徒的节奏,赌球还真是个体力,脑力的双重考验!

最近最High的时刻!献上世界杯的主题曲合集,祝大家世界杯玩儿的开心!

PS: 最近每天在微博都有放押球记录,欢迎大家跟买。当然前提你要心态好啦!

又是一发开源项目 AndroidImageSlider

最近闷声一周左右,打造了这么一款可能每个应用都会用到的组件——一个漂亮的Slider。
之所以做这个,是真心觉得没有一款Slider能让我觉得好看,觉得实用。

花了好久,兼容了Api 8+,包括动画喔~ 而且赋予了很强的自定义能力,比如自定义Indicators,自定义动画,自定义细节动画。 未来也会加入更多元素吧,最近也收集了好多风骚的指示器效果,打算做上十款左右漂亮的指示器,毕竟程序员们都没有审美。

哦,还有。

最近收到了一发实习(法国),一发工作(硅谷)。

能去湾区好激动!

记得初中上英语课老师问:

“What’s your dream?”

我答:

“I want to be a chairman, and have a communication with Bill Gates.”

十年了,那时的场景和我说的每一个单词都记得清清楚楚,奋斗了10年,好像离第二个理想更近了!

GitHub  Demo

折腾了两天,终于发布了

折腾了两天,终于发布了这个妖娆的ProgressBar,现在满心欢喜中。 😀  GitHub

其实,实现原理也是蛮简单的:

NumberProgressBar2

继承自View,添加两个方法,setMax , setProgress.

将这个View分成三个不同的区域:

1、已到达的区域

2、文字区域

3、未到达的区域

然后每次setProgress方法被调用的时候重新绘制整个Bar,重新计算三个区域所在画布的位置,然后通过Paint去绘制就好啦!

欢迎各路好汉使用和吐槽~  :0

psps: 居然上了GitHub Trending啦~ 乌拉阿拉~

我开始了一件需要坚持很久的事情

维护Blog是一件很痛苦的事情,尤其是在热情消退之后。

脑海里有事情想写,却没有时间,忽然一天有时间,却忘了要写点儿什么,就这样,距离上次写文章也就越来越久了。很多事情是以冲动开始,什么时候结束连自己都忘了。

前几天,我冲动了。

我忽然想办个新的博客,去收集Android上优美,实用的开发资源,然后让世界人看到。

不得不说,冲动是的高执行力的保证,不到一天的时间,我在ThemeForest上购买了一套主题,我在闲置的DO服务器上搭起了服务,安装好了Wordpress,发表了第一篇英文博文。

冲动吗,恩,冲动了!那就一直冲动下去吧!

现在每天早上第一件事情就是更新那个英文Blog,哪怕只更新一篇,选一张或者自己动手做一张优美的图片作为Feature Image,用碎成渣的英文扭扭捏捏的写下文章内容,然后编译一个或者几个开源项目,将Apk的Demo放在JumpShare上,留下GitHub的链接还有Apk的链接,简单的写两个单词作为SEO,轻轻的按下Publish,再去主页刷新一下看有没有出来,然后看着一个新生安安静静的躺在那儿,会心的一笑。

那一笑,乐在坚持,乐在分享。:smiley:

PS:

我的最近:新办的站点是Moo Droid(Moo是哞哞哞,Droid是Android),还收到了来自朋友们的明信片,每周和YinMing讨论互联网和设计的点点滴滴,还在执着的做着AnimeTaste,最后锻炼身体和参加学校活动的频率有所增加。

写在10万这个点上

AnimeTaste 10万AnimeTaste 10万,忽然有感悟。

3个月不到,AT Android版本便突破了10万用户,真的始料未及。

本科时候,最想干的一件事就是自己写一个未来会有十万用户量的App,没想到这一切已经来到。不过,似乎这会儿的心态又有些变化了,10万好像已经不能满足胃口了,变得贪婪,要做到更多,50万,100万,甚至1000万,就像曾经做好第一个App后看着每天最糟糕的时候只有十几,甚至几个新用户的时候,感觉10万真的是个遥遥无期的数字,今天回头看,一个人的战役打起来是多么的辛苦,又是做图,切图,还得写程序,写后台,找人帮忙测试,还得去传到各个市场(各个市场的恶心程度,只有传过一次才能深有感触),没有足够的时间去准确的定位App的目标,只是感觉到累,能坚持完感觉那会儿已经很彪悍了,第二个App的流产也证明了一个人做App实在是太难了。

况且那时身边也没有一个志同道合的小伙伴能在关键时候去相互鼓励,一个人走黑路需要的胆量远大于两个人(感谢少楠和小胖)。

不过

可能一个人彻头彻尾做完一个App给我的最大的帮助是让我学会了,以及懂得了整个App的开发流程,逼得我去学习了很多知识,现在回头看来,这些被逼着磨砺出来的东西反倒对我帮助更大。

然而

站在今天的角度来看昨天:那时似乎对这个世界还是模糊的,当时我还大言不惭的对着妈妈说:“一个有10万用户的App就能拿到投资”,我通过这个信念在本科时候完成了第一个App,今天看来,“拿投资”依然是个时髦的词汇,但是我却清晰的认识到了他的难度,不会再去说这么傻,这么呆的话了(感谢少楠经常破冷水 :p)。现在,只想就像我的博客Title下的那句话一样:“我想写个好的App…”,去认真做好一个产品,去认识更多的优秀的有理想的家伙,剩下的能争取到就去努力争取,即便争取不到,一个好的App,也会像你的勋章一般,成为你整个人品质的一部分,他是你一段时间内的故事,你可以讲给别人听,你可以在高兴的时候打开他,你可以在沮丧的时候看看那些用户鼓励的评论,证明你的能力已经对某些人的生活产生影响,这些都是你存在的意义的一种直观感受和认可,你在尝试着努力去改变别人的生活,或许目前不像盖茨或是乔爷那样炸天,但是你已经在他们曾经奋斗的路上了,剩下的就是去努力超越他们吧!