希腊七贤系列

最近自己在看有关古希腊方面的书籍。古希腊作为一个重要的远古时代的文明,是西方文明的基石。在古希腊时期,涌现了许多对世界发展有重大影响的人物,比如哲学家苏格拉底,柏拉图,亚里士多德;历史学家希罗多德等。在那个时代,有七位贤者在当时十分有名,因此被后人称之为“希腊七贤”,他们分别是:

  • 雅典的梭伦(Solon of Athens),他的格言是“避免极端”(Nothing in excess)
  • 斯巴达的契罗(Chilon of Sparta),他的格言是“了解你自己”(Know thyself)
  • 米利都的泰勒斯(Thales of Miletus),他的格言是“过分的执著会带来毁灭”(To bring surety brings ruin)
  • 普林纳的毕阿斯(Bias of Priene),他的格言有“过度会使得事情变糟”(Too many workers spoil the work)、“大多数的人都是坏人”(Most men are bad)
  • 林度斯的克莱俄布卢(Cleobulus of Lindos),他的格言是- “适合的就是最好的”(Moderation is the chief good)
  • 米蒂利尼的庇塔库斯(Pittacus of Mitylene),他的格言是“请记住这一点:时机”(Know this opportunity)
  • 科林斯的佩里安德(Periander of Corinth),他的格言是“一切事物都需要深思远虑”(Forethought in all things)

Java Object类详解

我们都知道:在Java中,所有的类都继承了Object这个基类,并且大家都知道,Object有几个比较通用的方法,如equals(),clone(),toString(),我们需要在使用它们的时候进行覆写,今天,我们就具体的探究下这几个方法。

void registerNatives()

这是个Native方法,在静态块中调用,其目的是将hashCode,wait,notify,notifyAll和clone方法注册到本地。

Class<?> getClass()

同样是个Native方法,获取对象的Class。

int hashCode()

Native方法,生成哈希码,其中注意三点

Google官方组件-SlideTabLayout

Google官方推出了许多扩展的UI公共组件库,在这里,我们介绍一个比较实用的组件SlidingTabLayout,效果图如下:

另外网易新闻的栏目展示用的也是类似的组件。

用法

首先将该组件的源代码拷贝到你的项目中,SlidingTabLayout.java和SlidingTabStrip.java,项目地址

接下来就可以在MainActivity里面进行布局了:

在Android中探秘建造者模式

前言

在Android开发过程中,我发现很多安卓源代码里应用了设计模式,比较常用的有适配器模式(各种adapter),建造者模式(Alert Dialog的构建)等等。虽然我们对大多数设计模式都有所了解,但是在应用设计模式的这个方面,感觉很多人在这方面有所不足。所以,我们可以看看Android源代码里面是怎样实现各种设计模式的,从而可以加深我们对设计模式的理解,从而方便我们以后对它的应用。今天,我们就来谈谈设计者模式(Builder Pattern)

定义

建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:

Separate the construction of a complex object from its representation so that the same construction process can create different representions.
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

鸡汤文-人一生的活法

如果有人问我:你认为你一生怎样度过才会觉得没有遗憾?

我的回答是:过自己想过的生活。

大部分认为成功,没有遗憾的人生应该是有钱,有名或者是有权力。

这种想法本身并没有错误,按照这种逻辑,明星一般会被认为有着完美的一生,比尔盖茨一般被认为有着完美的一生,奥巴马也会被认为有着成功的一生。

但是,我们有没有这么想过:如果一个人生性腼腆,他最怕的一件事情就是被别人关注。那么,让他成为明星绝对不是他所期望的。

所以呢,如果你希望自己受到万众瞩目,那么勇敢的去追寻你的明星梦;如果你希望你权倾天下,政治家是你不二的选择;如果你想守护麦田,那么你就应该去守护麦田。

同时还应该记住,不要以自己的标准判定别人的人生。

最悲哀的事情就是你明明知道自己想过的生活,但却过着另外一种生活。

将自己的项目提交到JCenter

开始

最近自己写了一个开源控件,是有关标签流控件的(从服务器端获取标签,然后将标签自适应的放进一个容器里)。现在控件写完了,自己就想将它提交到Maven的中心仓库或者是JCenter。可是自己对maven不熟,并且用Android Studio写的工程提交到Maven的中心仓库确实比较繁琐,所以决定还是用JCenter。

申请账号

关与项目提交到JCenter,网上有个教程写的很好,我基本上也是参照上面来做的,但是途中也遇到了一些坑,所以觉得还是有必要叙述一下的。首先你要做的是申请Bintray账号,它是JCenter的托管商,注册完成之后,你需要来到这个界面,记住你的账户名和API key,我一般将它放在local.properties文件中。因为我们待会会用到,做完这些后,你的第一步差不多即完成了。

//local.properties
sdk.dir=/Applications/ADT/sdk
bintray.user = fyales
bintray.apikey = *************************

鸡汤文-人一生中最重要的事情

我认为答案是认识你自己。

首先,认识你自己,你会知道自己喜欢的事物是什么,自己的理想是什么,自己应该从事怎样的工作,自己应该如何度过自己的一生。

再者,认识你自己,你就不会被别人的看法所扰,你既不会因为别人对自己的打击轻视自己,也不会因为别人的阿谀奉承而飘飘然。

所以,请认识你自己。

I think the answer is to know yourslf.

First,know yourself,you will know what is the thing that you like, what is your dream,what kind of work you should be engaged and how to spend your life.

Second,know yourself,you won’t be affected by other’s opinions.you will neither despise yourself because of other’s blow nor be complacent because of other’s blandishment.

So,know yourself please.

标签流控件

前言

在我们的开发过程中,常常会遇到这样的场景:

我们展示一种物品或者为某一事物添加一些标签。比如说,我们买一件衣服,可以有以下几种标签:杰克琼斯,男士,运动等等。

但我们这时候可能并不知道标签的数量和每个标签的文字,所以,我们在开发过程中,需要实现下面的功能:

我们从服务器端获取标签的信息,然后将其动态的添加到布局中,并且我们能够得到我们选择容器的信息,并将选中的标签重新返回至服务器。

自我吹嘘---两件小事

因为接近年底,公司的工作强度有所降低,自己就有时间想想其他事情了。现在已经是2015年了,没想到我离开大学已经有半个年头了,当我意识到的这一点的时候,心中满是怀念,同时,也想起了大学时期发生的一些事情。

所以决定写一些东西出来。那么,现在是吹嘘自己的时候了。

在大学,我的日子算是过的挺单调的,除了大一学年喜欢在外面疯跑,大三下学期准备考研之外,基本上就混在图书馆了(大学图书馆借阅记录500本可不是说破就能破掉的),现在不知道图书馆四楼我的御座是谁坐去了。所以,我接下来所讲的故事,发生的地点也是在图书馆。

Android Manifest文件详解(2)

前言

此文章是接上篇文章所写,是解释有关Android Mainfest文件中个标签的

path-permission

这个标签用来定义一个路径和相应的权限,你只有在具有它所定义的权限的时候,你才能访问该路径。

<path-permission 
    android:pathPrefix="/fyales"
    android:permission="fyales.provider.permission"
/>

在上面的例子中,你必须具有fyales.provider.permission权限,你才能访问/fayles目录下的数据。