自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浪人的星空

十年磨一剑,历练出锋芒,求知路漫漫,需不断探索之!

  • 博客(253)
  • 资源 (10)
  • 收藏
  • 关注

原创 学习Kotlin,看这一篇就够了

人生苦短,要用Kotlin这是一种对程序猿更为友好的语言,可以减少开发者的工作量,原本由开发者干的事情,其实很多都可以由编译器实现了,这是一种更为高级的语言。Java虽然严谨,但却过于繁琐,太啰嗦了,一个小事情却要写大量的代码,而且有些代码又是非常机械式的,在实际编码过程中都是用IDE来自动生成。Java,C,C++,Object C这些都是上世纪的编程语言。点击阅读全文...

2018-05-20 13:02:50 948

原创 为猿七年有余,痒否?痛否?

还未有感,已然岁末,犹叹时之箭逝去如斯也,稍纵命再减一。回首望,为猿七年有余已,虽不成气候,亦未全蹉跎。略做小结,以不惘逝去之时日,亦会大益于尔后路途。若博文能助足下之一二,孤将甚悦。

2017-01-05 09:34:15 12686 49

原创 说说Android的MVP模式

安卓应用开发是一个看似容易,实则很难的一门苦活儿。上手容易,看几天Java,看看四大组件咋用,就能整出个不太难看的页面来。但是想要做好,却是很难。系统框架和系统组件封装了很多东西,开发者弄几个Activity,用LinearLayout把布局组合在一起,添加点事件监听,一个应用就成型了。红海竞争,不管多么复杂的UX和业务逻辑都是一个月快速上线,二周一个迭代,领导和产品早上改需求,晚上改设计,再加上

2016-02-11 12:47:21 5349 8

原创 Android技巧:学习使用GridLayout

GridLayout是一个非常强大的网格类布局,它不但能像TableLayout那样,实现网格类布局,但它更为强大的地方在于每个Cell的大小可以横向或者纵向拉伸,每个Cell的对齐方式也有很多种,而且不像TableLayout,需要一个TableRow,GridLayout可以通过指定Cell的坐标位置就能实现Cell的拉伸,从而实现,大小不一致的风格卡片式布局。基本概念

2015-12-14 16:52:50 2827

原创 安卓开发技术:监听软键盘的显示与隐藏

自从2007年乔帮主横空出世推出iPhone后,智能手机就都变成了触摸屏,且屏幕越来越大。输入自然也就通过软件来解决,现在来说绝大多数智能设备都是通过软键盘来做用户输入。在日常的开发过程中难免会跟软键盘打交道,比如强制显示或者强制隐藏等,也有些时候想要在键盘隐藏或者显示的时候做一点事情,这就需要准确的知道键盘的事件,这篇文章就来详细讨论一下Android下面如何做到监听键盘的事件。

2015-12-03 23:32:40 5826

原创 Android应用性能剖析全攻略

性能是软件质量的一个重要方面,好的软件必须要在性能上达到一定的标准。对于Android应用程序来讲,更是如此,移动互联网的红海竞争,如果应用的性能差,肯定会缺少竞争力的,这里就来聊一聊应用开发中如何提升性能,以及在开发过程中如何处理性能问题。性能的定义对于Android应用程序来讲分为三个方面,一方面是软件整体表现上的性能,也就是能多快给用户想要的结果,比如新闻阅读类应用,

2015-11-03 22:43:28 2326

原创 安卓开发技术:监听软键盘的显示与隐藏

自从2007年乔帮主横空出世推出iPhone后,智能手机就都变成了触摸屏,且屏幕越来越大。输入自然也就通过软件来解决,现在来说绝大多数智能设备都是通过软键盘来做用户输入。在日常的开发过程中难免会跟软键盘打交道,比如强制显示或者强制隐藏等,也有些时候想要在键盘隐藏或者显示的时候做一点事情,这就需要准确的知道键盘的事件,这篇文章就来详细讨论一下Android下面如何做到监听键盘的事件。点击

2015-10-26 21:19:07 2243

原创 Android Studio技能之快捷键

Android Studio是谷歌新一代的Android开发IDE,老一代的Eclipse+ADT已被无情的废弃。Android Studio基于JetBrains的IntelliJ IDEA,这是一个在Java界享有不错声誉的IDE,它以“Intelligent”著称。AS是谷歌基于IntelliJ开发的,加上了一套专门为Android定制的插件系统。早期的时候AS=IntelliJ +

2015-10-23 22:52:22 2475 1

原创 优秀代码赏析:CircleImageView

核心功能实现一个圆形的ImageView,或者说让一个View来显示一个圆形的图片。核心思路这个库短小精悍,全部代码才200多行,核心代码也就几十行,却实现了一个看似不简单的功能。要想实现圆形的图片,常规一般的人的思路,用图像处理的方式来解决,就好比显示圆角矩形图片那样。但是这个库的作者的思路十分的巧妙,它的核心思路就是把图片画在一个圆上面。点击阅读全文

2015-10-21 22:35:13 2473

原创 如何跳过Nexus 7二代的开机设置

事情是酱紫的Neuxs 7二代,2013年款,14年某宝上面买的,为了体验最新的Android版本,以及奶七的高性价比,于是就买了一个,之后也一直用着比较爽,电影,游戏,看书,看代码,体验原生Android,体验GMS,都是相当不错,直到今年4月份,突然有一天,触摸屏失灵了,在重启了之后,触摸能用了,但是反应不灵,有时要点好几次才有反应,有时则是好的。当时错误以为是装的软件太多了,反应慢,

2015-10-13 22:31:44 9562

原创 实战技巧:Android异步指南

异步向来都是提高性能的必要手段,当然也是引发问题的常见根源。Android之中更是如此,主线程事关应用的流畅程度,所以把更多能放在工作线程中事,放到工作线程中去,是提升App性能之必经之路。Android中使用线程有多种方式,我们该如何选择,以及在使用过程中要注意哪些问题,今天就来探讨一下。点击阅读全文

2015-10-13 08:49:43 2107

原创 Android布局技巧:使用TextView的drawable属性

在布局中Icon+文字组成一个视觉上的元素是非常普遍的需求,或者是成为一个可点击的整体,或者是展示某种信息。比如顶部导航栏(ActionBar或者是自已定义实现的类似功能的)都会有一个返回,通常都是一个向左的Icon加上一个文字标签。点击阅读全文

2015-05-27 22:43:26 3146 1

原创 CSS Animation初探

动画在交互设计中是一个十分能加分的东西,用以平滑过度,会让用户体验上几个台阶。对于Web开发也是如此,恰当的使用动画可以让网页使用起来更加的用户友好。这里就来探讨一下CSS中一些动画的实现方式,初识前端,不足之处敬请指正。点击阅读全文

2015-05-04 23:43:45 2572

原创 Android实战技巧:Fragment的那些坑

Fragment是Android在3.0(Homeycomb)版本时加入的用以更灵活的构建多屏幕界面的可UI组件。关于Fragment以基本使用方法可以参考官方的教程和最佳实践,以及选择Activity还是Fragment。 但是Fragment使用起来却远没有教程中说的那样简单,也远比Activity要复杂一些,这里总结了孤在使用Fragment时所遇到的坑。点击阅读全文

2015-05-01 16:32:10 3792

原创 Android NDK开发的一些技巧

Android NDK(Native Development Kit)是基于Java JNI的使用C/C++和Java来混合开发应用的一种方式,甚至在Android 2.3(API 9)以后可以用Native(Native这个字在不同的语境中意义是不一样的,这里指的是JNI中的C/C++的代码;如果放在Hybrid中Native就是指平台原生的语言和API)代码来创建标准界面组件Activit

2015-04-29 21:52:54 2475

原创 使用Octopress和Github Pages搭建博客的高级技巧

如何果还不知道如何使用Octopress和Github Pages搭建的同学可以参考码农的救赎:使用Github Pages搭建博客提升速度按照教程搭建好的博客,访问起来总是很慢很慢,即使把什么Google Plus和Google Analyze之类的都关闭掉后,仍然很慢。原因就是在HTML中的某些资源,比如脚本或者字体什么的是使用点击阅读全文

2015-04-25 10:55:48 3007

原创 在安卓设备与PC之间传递文件

现在智能手机(这里的手机是广义的,包括手机,平板电脑等移动智能设备)在生活中的角色越来越重要,人们使用手机的时间远远大于电脑,由于手机的便携性,所以很多时候我们会需要用手机来携带数据或文件,或者用于娱乐。比如乘坐火车或者汽车时,用手机来看个电影还是相当不错的,现在的手机屏幕也够大,存储空间充足,完全不成问题。虽然移动端也有足够多的客户端可以下载视频等,但是远没有PC资源多,也没有PC下载方便。但是

2015-04-22 23:27:38 4397

原创 诡异的EOF Exception

近日在写一个简单的HTTP代码中遇到了诡异的EOFException,当读取ResponseCode的时候就抛出了EOF异常,感觉很诡异,下面进行问题还原,以及分析和解决过程.问题有问题的代码如下:点击阅读全文

2015-01-31 23:10:28 4283

原创 从手机丢失看数据安全

手机在现代生活中扮演重要角色,里面有大量的隐私和数据,手机银行,支付宝等都能操作个人的财产,所以手机的安全也越来越重要,一旦手机丢失,造成的不仅仅是一部手机的损失,还可能造成隐私的泄露,重要数据的丢失以及财产的损失。手机丢失后应该做的事情2015年1月28日下班,晚上七点左右在挤公交车,可能上车时,手机(红米Note)被偷,由于平日里都是骑自行车上下班,只是偶尔遇到不好的天气才会坐

2015-01-30 22:43:04 2648 1

原创 下载并编译CyanogenMod源代码

CyanogenMod是除了Android官方源码之外的最受欢迎的Android的一个分支,它是干净,几乎接近原生Android,且方便为设备进行定制,在编译和制作ROM上面较原生有很大改进,是开发者学习源码和自己制作ROM的最佳选择。官方网站在这里.repo在这里.环境说明,本次所有操作都是在Ubuntu 12.04(Precise)里面进行的。另外需要说明的是,我的环境

2014-11-12 22:18:57 3665

原创 让Android模拟器飞一会

Android模拟器是公认的慢,而且不是一般的慢,即使在高性能的PC上,跟开发环境没关系,因为它就是慢。但是我们又必须使用模拟器,比如在测试Android不同版本的兼容性时,或者在测试不同屏幕尺寸的UI显示问题时,都是需要的。当然我们还是鼓励使用一个真机来调试和测试,模拟器无法取代真机。但是在测试兼容性时,我们还是要使用模拟器,因为即使是BAT也不可能把各种版本,各种屏幕的Android手机都买一

2014-11-04 20:58:15 2687

原创 不断更新,保持高效

正所谓学历代表过去,学习力代表未来。柯维大师的七个习惯之中的终极习惯就是要“不断更新”,今天的你再牛B,知道的再,如果不去学习,不去提升,不去更新自己,那么总有一天也会被超越,时代在进步,别人在进步,发逆水行舟,不进则退,你停止了学习,就表明你退步了,因为别人在进步。 那么,为了保持能够高效的进行Android开发,我们就必须不断的学习,不断的充电,这些列出一些,能够提高Android开发的进阶教

2014-10-31 09:51:00 2081 1

原创 适配多屏幕的最佳实践

对于Android应用开发来讲,比较头疼的,也是比较重要的一个工作就是要尽可能多的支持市场上的Android设备,由于Android的开放性,各种奇奇怪怪的设备都有,符合标准的,不符合标准的,行货,水货,山寨货鱼龙混杂,防不胜防。为了让我们的应用能够得到尽可能多的用户,我们就必须能让应用以超强的适应性,以能在混乱的手机里生存。而适配设备,GUI屏幕的适配又是重中之中,如果用户都无法正确的看到你的U

2014-10-30 12:41:55 2037 3

原创 如何有效的减少重复的代码

重复的代码一直都是可维护性的大敌,重构的重要任务之一也就是要去除掉重复的代码,有效的减少重复代码,可以大大提高软件的扩展性。在Android开发中,很容易产生重复的代码。因为Android是组件,模板式开发,每个页面都是独立用Activity或Fragment实现,布局文件都是用XML方式去写,所以很容易造成代码的重复,虽然二个页长的差不多,但毕竟是二个Activity,于是就拷一份出来,

2014-10-29 19:27:23 5148

原创 使用工具来提升Android开发效率

正所谓工欲善其事,必先利其器。学习并应用优秀的轮子,可以让我们跑的更快,走的更远。这里所指的工具是广义的,泛指能帮助我们开发的东西,或者能提高我们效率的东西,包括:开发工具,监测工具,第三方代码库等。 优质的第三方开源类库点击查看全文

2014-10-29 09:50:38 3044

原创 Android应用UI架构

这个标题听起来可能有点大,其实这里主要就是讨论一个应用程序的UI组件,是全用Activity还是全用Fragment,或者是二者皆有,以及使用Activity和Fragment的一些注意事项。 Activity or Fragment从API 11,Honeycomb开始,Google在Android之中加入了Fragment,一个轻量级的,可复用的,模块化的UI组件,并且官方也极

2014-10-28 21:09:18 3279

原创 码农的救赎:使用Github Pages搭建博客

人生若只如初见,都恨太晚据说有博客的人比没博客人的薪水要高很多,相传写博客也是一个高手的标配,虽然之前一直有在写(在这里),但是孤既不是高手,薪水还比别人少。之前一直在CSDN上面写博客,那是一个不错的社区,里面有些牛人,博客也有不错的流量,也没少参与CSDN举办的活动,获得了几本过时的技术书,但是仍感觉不爽,最痛苦的就是编辑,CSDN的在线编辑器做的不咋地,不太好用,而且经常写着写着

2014-10-28 13:01:04 2074

原创 Android生存指南:Eclipse快捷键

天天使用的东西,可能是因为太习惯它了吧,总忘记学习如何高效的使用它。正的谓磨刀不误劈柴功,找时间好好磨磨刀,于人于已都是有好处的。效率高了,多省出点时间去干自己真正喜欢干的事情吧。精进Eclipse的使用之快捷键篇1. Ctrl+d(CMD+d on Mac)删除当前行,也即删除光标所在的行。其实不光是当前行,也可以先选择多行,然后删除。记住它是以行为单位的。2

2014-04-18 23:27:51 3483 3

原创 提起2013,我所领悟到的

1. 先快速解决从无到有的问题, 然后再慢慢升级无论是做一个新的产品, 还是设计新的功能, 首先要解决一个从无到有的问题, 也就是尽可能最快速最简单的能用的版本出来, 然后再慢慢升级. 而不是从一开始就一门心思的想把它做成千万级的或者一流的应用. 那些千万级的应用(微信)等也不是一开始就设计成这个样子, 更不是一开始就有这么多功能, 以及开始时也不会想到有这么成功.快速的从无到有,并发布可以快

2013-12-24 00:31:28 4514 6

原创 Android实战技术:类iOSTab和Header

1. Key widgetsTab是Android支持的一种UI布局,Android里面的原生应用Music就是用Tab的方式实现的,API中也有封装的比较好的TabActivity,但是在后来的版本中3.0以后的版本它就是Deprecated的了。因为Tab被绑定到ActionBar上面了。但是我们还是可以按照TabActivity的实现方式来自己实现多Tab效果。现在很多应用都有仿制iOS

2013-10-21 21:17:54 5043 1

原创 Android实战技术:理解Binder机制

Android中的RPC(IPC)是由Binder组件来实现的,虽然我们使用更多的还是AIDL,并不会直接使用Binder,但是了解了它能更有效帮助理解AIDL以及理解Android本身的一些原理和机制。Binder的架构与其他的Android系统的组件的架构类似,Binder也是由Java层封装,JNI,libbinder和driver组成。Binder的主要组成有三个IIn

2013-08-08 21:54:31 17100 1

原创 Android实战技术:深入理解Android的RPC方式与AIDL

Understanding ADILAIDL是一个接口描述文件,用于实现Android平台上面的RPC,aapt在编译的时候会自动根据规则生成用于IPC的接口和对象,而作为使用者只需要:1.在服务端Service实现接口;2. 在客户端bindService,onServiceConnected时获取接口对象。这里的接口都是AIDL中描述的接口,其他的细节则在由AIDL生成的同名源码文件中。

2013-08-07 22:52:36 28190 6

原创 Android实战技术:IPC方式简介教程

非实时,通知性的方式第一种方式就是Intent,Intent可以非常方便的通讯,但是它是非实时的,无法进行实时的像函数调用那样的实时的通讯。实时的函数调用但是IPC的根本目的还是为了实现函数的调用,即使是传递数据也是要通过函数调用的方式,为什么呢?因为程序运行总是要知道状态,要有逻辑上的行为,因此必须通讯函数才能体现出行为。IPC的机制除了进程,或者说不同的应用程序之间

2013-08-05 22:06:53 9225

原创 老鸟的Python入门教程

重要说明这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门编程语言,请移步!这是有一定编程经验的人准备的.最好是熟知Java或C,懂得命令行,Shell等.总之,这是面向老鸟的,让老鸟快速上手Python教程.为什么总结这样的一个教程我虽不是老鸟,但已熟悉Java,C/C++, Shell和Perl,且对常见的数据结构和算法等都了解.最近因项目需要,要做一个小工具

2013-07-09 22:27:26 192706 41

原创 Sed和AWK入门教程之AWK篇

AWK是一门专门用于文本处理的编程语言.是的,它是编程语言,它的目的仅有文本处理,所以你不能用它写系统软件,或者做科学计算(当然,它也能做数学计算),它只能用于文本处理.与sed不同,AWK具有编程语言的特性,有内置函数,有逻辑语句,有输入输出语句,其实它看起来很像C语言,只不过所有功能集中于文本处理.与Sed不同,AWK最强大的功能在于处理结构化的文本,也就是说文本有一定的组织结构的.

2013-07-04 23:55:15 6215

原创 Sed与AWK入门教程之Sed篇

Sed和AWK是*nix命令行里面文本处理的神器,相当的强大.它们都是面向行的,或者说它们处理文本的方式都是一行接着一行的处理,从标准输入或者文件中读取内容,一行一行的执行脚本命令,然后打印输出到标准输出,直到文件结尾(EOF).SedSed是一个流编辑器(Stream editor),它的功能在于对于一个输入流进行编辑和处理.相当于是对一个输入流进行脚本性的编辑.其实它就是对一个输入

2013-07-04 22:31:41 21718 6

原创 Android实战技术: 用Dimension解决多屏幕适配的问题

开闭原则--可变与不变的分离,且容易定制应用程序的目的是尽可能做到适用于多种设备,这些设备的配置不尽相同,有些不同的物理尺寸,分辨率.为了达到最佳的适配效果,和最少的代码重复,以及最好的可扩展性,就需要分离资源的使用和资源.用一个统一的资源管理者来管理资源.代码通过资源管理者提供的统一的接口来获取资源.这样对于使用者来讲资源的获取的方式是统一,资源者无需关心如何为不同的设备获取不同的资源.这样

2013-06-28 22:49:01 32611 5

原创 Android实战技巧: ListView之ContextMenu无法弹出

问题Activity中使用了ListView作为布局.当每一列表项中含有默认能获取焦点的子View时有可能会对ListView的某些事件有影响:1. OnItemClick2. OnItemLongClick3. ContextMenu这三个事件都无法正确响应.对于ContextMenu.首先要在onCreate中注册Activity的ContextMenu到Lis

2013-06-20 23:32:47 5598

原创 Android实战技巧: ExpandableListView滑动时会变黑

问题有一个简单的ExpandableListView用于显示某一天下面的事件列表。为了符合整体的风格,把窗口的背景设成了白色,把ExpandableListView的背景也设置成了白色!一切都很好,但突然发现,当滑动的时候,ExpandableListView会变黑!甚是奇怪。刚开始以为是Focus的问题,调整了不管用。后来,调整了每个GroupItem和ChildItem的背景,把它们的背景

2013-06-19 22:11:09 6324

原创 Vim高级进阶之ex命令集

ex是Vim对行编辑器ed的支持.ed是一个面向行的编辑器.在远古时代,还是黑白终端的时代,有一个流行的面向行的编辑器ed,也即把文件一行一行的读入,一次只显示一行,然后编辑这行.所以Vim中的ex命令都是ed编辑器所支持的命令,现代所用的流编辑器sed中的命令是ed命令的扩展.所以掌握了Vim中的ex编辑命令,稍加变通就连sed也一起搞定了.Vim是全屏编辑器,因此不会像ed那样只显示一

2013-04-14 11:35:05 9991

doxygen完整示例

完整的如何使用Doxygen的例子,包括书写文档块,配置和生成的文档!

2013-03-07

The Artist’s Guide to GIMP, 2nd Edition

The Artist’s Guide to GIMP, 2nd Edition 英文原版 The GIMP, an image editor whose power and ease-of-use rivals that of Adobe Photoshop, is one of the world's most popular free software projects. Artists and designers have relied on the GIMP since 1995 to retouch photographs, composite multiple images, and create new artwork from scratch. The Artist's Guide to GIMP Effects shows you how to harness the GIMP's powerful features to produce professional-looking advertisements, impressive photographic effects, as well as logos and text effects. And author Michael J. Hammel, who has used the GIMP since its first public release, won't mince words or waste your time. His extensively illustrated, step-by-step tutorials are perfect for hands-on learning and experimentation. After a crash course in using the GIMP's interface and core tools (such as brushes, patterns, selections, layers, modes, and masks), you'll learn: Photographic techniques to simulate ripped edges, create sepia-toned antique images, swap colors, produce motion blurs, alter depth of field, and even fix rips in an old photo Web design techniques to create tiled patterns, navigation tabs, rollovers, and fancy buttons and borders Type effects to create depth, perspective shadows, metallic and distressed text, and neon and graffiti lettering Advertising effects to produce movie posters and package designs; simulate clouds, cracks, cloth, and underwater effects; and create specialized lighting Interface design tips for creating textures, navigation bars, and buttons Whether you're new to the GIMP or you've been playing with this powerful software for years, The Artist's Guide to GIMP Effects is sure to teach you some new tricks. Visit the book's companion site for additional tutorials and resources. http://www.graphics-muse.org/artistsguide/

2012-10-20

Android本地代码生成器

可以自动生成Android本地代码。 解压后,在项目根目录下面运行genjni.sh(先把里面的genjni.jar放在一个地方,然后把genjni.sh里面的路径改下)。之后,如果有本地方法声明,就会生成本地文件和编译文件。

2011-10-19

Android本地代码生成器

能帮助使用NDK开发时自动生成本地代码。 只需要在Java文件中声名本地方法,然后运行这个工具,它会逐个检查Java文件,并根据里面的本地方法生成本地文件,和相应的Android.mk文件。并会更新Java文件,添加System.loadLibrary。 接下来所需要做的就是实现那些本地方法。然后编译。

2011-10-19

Java反编译器

用于反编译Jar的实用工具,在逆向工程的时候特别的有用处。 可以把Jar直接解析成Java代码.

2011-10-14

Android反编译工具dex2jar

用于反编译Apk的实用工具,在逆向工程的时候特别的有用处。 可以把Dex转成Jar包。

2011-10-14

AMXLPrinter2用于把二进制的XML转为文本

用于将二进制的XML文件 转回到文本。在Android应用程序Apk逆向工程的时候特别有用。

2011-10-14

Learn the GNU Emacs Editor

best book about learning Emacs Editor

2009-05-29

Learning Vi and Vim editor

best course about Vi and Vim Editor. This is the 7th edition. It includes many Vim-7 new features

2009-05-29

Fedora 10安装教程

详细介绍Fedora 10的安装,非常适合初学者.

2009-05-29

空空如也

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

TA关注的人

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