自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浪人的星空

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

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

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

2018-05-20 13:02:50 652 0

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

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

2017-01-05 09:34:15 11458 47

原创 说说Android的MVP模式

安卓应用开发是一个看似容易,实则很难的一门苦活儿。上手容易,看几天Java,看看四大组件咋用,就能整出个不太难看的页面来。但是想要做好,却是很难。系统框架和系统组件封装了很多东西,开发者弄几个Activity,用LinearLayout把布局组合在一起,添加点事件监听,一个应用就成型了。红海竞争,...

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

原创 Android技巧:学习使用GridLayout

GridLayout是一个非常强大的网格类布局,它不但能像TableLayout那样,实现网格类布局,但它更为强大的地方在于每个Cell的大小可以横向或者纵向拉伸,每个Cell的对齐方式也有很多种,而且不像TableLayout,需要一个TableRow,GridLayout可以通过指定Cell的...

2015-12-14 16:52:50 2658 0

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

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

2015-12-03 23:32:40 5368 0

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

性能是软件质量的一个重要方面,好的软件必须要在性能上达到一定的标准。对于Android应用程序来讲,更是如此,移动互联网的红海竞争,如果应用的性能差,肯定会缺少竞争力的,这里就来聊一聊应用开发中如何提升性能,以及在开发过程中如何处理性能问题。 性能的定义 对于Android应用...

2015-11-03 22:43:28 2145 0

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

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

2015-10-26 21:19:07 2152 0

原创 Android Studio技能之快捷键

Android Studio是谷歌新一代的Android开发IDE,老一代的Eclipse+ADT已被无情的废弃。 Android Studio基于JetBrains的IntelliJ IDEA,这是一个在Java界享有不错声誉的IDE,它以“Intelligent”著称。AS是谷歌基于In...

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

原创 优秀代码赏析:CircleImageView

核心功能 实现一个圆形的ImageView,或者说让一个View来显示一个圆形的图片。 核心思路 这个库短小精悍,全部代码才200多行,核心代码也就几十行,却实现了一个看似不简单的功能。 要想实现圆形的图片,常规一般的人的思路,用图像处理的方式来解决,就好比显示圆角矩形图片...

2015-10-21 22:35:13 2269 0

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

事情是酱紫的 Neuxs 7二代,2013年款,14年某宝上面买的,为了体验最新的Android版本,以及奶七的高性价比,于是就买了一个,之后也一直用着比较爽,电影,游戏,看书,看代码,体验原生Android,体验GMS,都是相当不错,直到今年4月份,突然有一天,触摸屏失灵了,在重启了之后,...

2015-10-13 22:31:44 8056 0

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

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

2015-10-13 08:49:43 1952 0

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

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

2015-05-27 22:43:26 2876 0

原创 CSS Animation初探

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

2015-05-04 23:43:45 2483 0

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

Fragment是Android在3.0(Homeycomb)版本时加入的用以更灵活的构建多屏幕界面的可UI组件。关于Fragment以基本使用方法可以参考官方的教程和最佳实践,以及选择Activity还是Fragment。 但是Fragment使用起来却远没有教程中说的那样简单,也远比Act...

2015-05-01 16:32:10 3659 0

原创 Android NDK开发的一些技巧

Android NDK(Native Development Kit)是基于Java JNI的使用C/C++和Java来混合开发应用的一种方式,甚至在Android 2.3(API 9)以后可以用Native(Native这个字在不同的语境中意义是不一样的,这里指的是JNI中的C/C++的代码...

2015-04-29 21:52:54 2280 0

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

如何果还不知道如何使用Octopress和Github Pages搭建的同学可以参考码农的救赎:使用Github Pages搭建博客 提升速度 按照教程搭建好的博客,访问起来总是很慢很慢,即使把什么Google Plus和Google Analyze之类的都关闭掉后,仍然很慢。...

2015-04-25 10:55:48 2893 0

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

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

2015-04-22 23:27:38 3842 0

原创 诡异的EOF Exception

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

2015-01-31 23:10:28 4046 0

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

手机在现代生活中扮演重要角色,里面有大量的隐私和数据,手机银行,支付宝等都能操作个人的财产,所以手机的安全也越来越重要,一旦手机丢失,造成的不仅仅是一部手机的损失,还可能造成隐私的泄露,重要数据的丢失以及财产的损失。 手机丢失后应该做的事情 2015年1月28日下班,晚上七点左右在挤公...

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

原创 下载并编译CyanogenMod源代码

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

2014-11-12 22:18:57 3534 0

原创 让Android模拟器飞一会

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

2014-11-04 20:58:15 2634 0

原创 不断更新,保持高效

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

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

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

对于Android应用开发来讲,比较头疼的,也是比较重要的一个工作就是要尽可能多的支持市场上的Android设备,由于Android的开放性,各种奇奇怪怪的设备都有,符合标准的,不符合标准的,行货,水货,山寨货鱼龙混杂,防不胜防。为了让我们的应用能够得到尽可能多的用户,我们就必须能让应用以超强的适...

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

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

重复的代码一直都是可维护性的大敌,重构的重要任务之一也就是要去除掉重复的代码,有效的减少重复代码,可以大大提高软件的扩展性。 在Android开发中,很容易产生重复的代码。因为Android是组件,模板式开发,每个页面都是独立用Activity或Fragment实现,布局文件都是用XML方式...

2014-10-29 19:27:23 3822 0

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

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

2014-10-29 09:50:38 2932 0

原创 Android应用UI架构

这个标题听起来可能有点大,其实这里主要就是讨论一个应用程序的UI组件,是全用Activity还是全用Fragment,或者是二者皆有,以及使用Activity和Fragment的一些注意事项。  Activity or Fragment 从API 11,Honeycomb开始,Goog...

2014-10-28 21:09:18 3206 0

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

人生若只如初见,都恨太晚 据说有博客的人比没博客人的薪水要高很多,相传写博客也是一个高手的标配,虽然之前一直有在写(在这里),但是孤既不是高手,薪水还比别人少。之前一直在CSDN上面写博客,那是一个不错的社区,里面有些牛人,博客也有不错的流量,也没少参与CSDN举办的活动,获得了几本过时的技术...

2014-10-28 13:01:04 1938 0

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

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

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

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

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

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

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

1. Key widgets Tab是Android支持的一种UI布局,Android里面的原生应用Music就是用Tab的方式实现的,API中也有封装的比较好的TabActivity,但是在后来的版本中3.0以后的版本它就是Deprecated的了。因为Tab被绑定到ActionBar上面了。但...

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

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

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

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

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

Understanding ADIL AIDL是一个接口描述文件,用于实现Android平台上面的RPC,aapt在编译的时候会自动根据规则生成用于IPC的接口和对象,而作为使用者只需要:1.在服务端Service实现接口;2. 在客户端bindService,onServiceConnected...

2013-08-07 22:52:36 24905 5

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

非实时,通知性的方式 第一种方式就是Intent,Intent可以非常方便的通讯,但是它是非实时的,无法进行实时的像函数调用那样的实时的通讯。 实时的函数调用 但是IPC的根本目的还是为了实现函数的调用,即使是传递数据也是要通过函数调用的方式,为什么呢?因为程序运行总是要知道状态,要...

2013-08-05 22:06:53 8948 0

原创 老鸟的Python入门教程

重要说明 这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门编程语言,请移步!这是有一定编程经验的人准备的.最好是熟知Java或C,懂得命令行,Shell等.总之,这是面向老鸟的,让老鸟快速上手Python教程. 为什么总结这样的一个教程 我虽不是老鸟,但已熟悉Java...

2013-07-09 22:27:26 189888 40

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

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

2013-07-04 23:55:15 6047 0

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

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

2013-07-04 22:31:41 20352 5

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

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

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

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

问题 Activity中使用了ListView作为布局.当每一列表项中含有默认能获取焦点的子View时有可能会对ListView的某些事件有影响: 1. OnItemClick 2. OnItemLongClick 3. ContextMenu 这三个事件都无法正确响应. 对于...

2013-06-20 23:32:47 5394 0

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

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

2013-06-19 22:11:09 6237 0

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

ex是Vim对行编辑器ed的支持.ed是一个面向行的编辑器.在远古时代,还是黑白终端的时代,有一个流行的面向行的编辑器ed,也即把文件一行一行的读入,一次只显示一行,然后编辑这行.所以Vim中的ex命令都是ed编辑器所支持的命令,现代所用的流编辑器sed中的命令是ed命令的扩展.所以掌握了Vim中...

2013-04-14 11:35:05 8850 0

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