Saturday, September 24, 2016

我很庆幸自己生活在时代

我感觉,自己算是活在最好的时代了,因为,我真的是太自由了。你要知道,在我之前的2000多年里面,中国,从来没有这样强大过!

是的,我生活在最好的时代。

以前,就算是皇帝,他也没有Mac,也手机,也不能像看什么就看什么?

我现在,真的是过着帝王般的生活吧。哈哈,不愁吃不愁穿的,只要自己的活着就好了。不用还房贷,也不用管太多的事情。很多的事情,只要对自己负责就好了。

我现在的生活,就是以前的帝王也不曾拥有呢!现在的我,几乎完全就是为了自己而活着的。我喜欢自己的世界。似乎,真的有两耳不闻窗外事,一心只读圣贤书呢。

当你,在北京一天挣100元的时候,真的不容易,那样子,你的月薪大概3000元,但是,你的房租就会占你的一半的薪水。生活真的不容易,哎。

现在,想想自己,再想想自己找女朋友的哥们们。内心的,真的只有幸福了。他们找女朋友有的哥们们,似乎真的过得不怎么样呢。不是为了房子,就是家里面的各种事情,虽然,自己喜欢女朋友,但是家里面不喜欢呀。虽然,女朋友喜欢自己,但是,人家的爸妈未必就会喜欢你呀?是不?其实,这个世界真的不容易的。不仅仅如此,女孩子的年龄越来越大了,所以,家里面一直催着结婚,但是,向我们这些刚从大学里面毕业的孩子们?哪里有什么钱结婚呀?是不?



Friday, September 23, 2016

Ubuntu 16.04 iso 的镜像连接




今天。想玩玩 Ubuntu,所以想制作一个 U 盘安装Linux 系统,但是,在官网下载的都是 amd的iso.所以无法制作U盘驱动,下面的是你想要的东西,下载 i386.iso 后缀的镜像就可以使用了。好东西要分享给大家!


https://mirror.umd.edu/ubuntu-iso/16.04/

Saturday, September 10, 2016

fragment的懒加载实现

我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在这个activity刚创建的时候就变成需要初始化大量资源。这样的结果,我们当然不会满意。那么,能不能做到当切换到这个fragment的时候,它才去初始化呢?
答案就在Fragment里的setUserVisibleHint这个方法里。请看关于Fragment里这个方法的API文档(国内镜像地址:Fragment api):
  1. Set a hint to the system about whether this fragment's UI is currently visible to the user. This hint defaults to true and is persistent across fragment instance state save and restore.
  2. An app may set this to false to indicate that the fragment's UI is scrolled out of visibility or is otherwise not directly visible to the user. This may be used by the system to prioritize operations such as fragment lifecycle updates or loader ordering behavior.
  3. Parameters
  4. isVisibleToUser true if this fragment's UI is currently visible to the user (default), false if it is not.

该方法用于告诉系统,这个Fragment的UI是否是可见的。所以我们只需要继承Fragment并重写该方法,即可实现在fragment可见时才进行数据加载操作,即Fragment的懒加载。
代码如下:

  1. /*
  2.  * Date: 14-7-17
  3.  * Project: Access-Control-V2
  4.  */
  5. package cn.irains.access_control_v2.common;
  6. import android.support.v4.app.Fragment;
  7. /**
  8.  * Author: msdx (645079761@qq.com)
  9.  * Time: 14-7-17 下午5:46
  10.  */
  11. public abstract class LazyFragment extends Fragment {
  12.     protected boolean isVisible;
  13.     /**
  14.      * 在这里实现Fragment数据的缓加载.
  15.      * @param isVisibleToUser
  16.      */
  17.     @Override
  18.     public void setUserVisibleHint(boolean isVisibleToUser) {
  19.         super.setUserVisibleHint(isVisibleToUser);
  20.         if(getUserVisibleHint()) {
  21.             isVisible = true;
  22.             onVisible();
  23.         } else {
  24.             isVisible = false;
  25.             onInvisible();
  26.         }
  27.     }
  28.     protected void onVisible(){
  29.         lazyLoad();
  30.     }
  31.     protected abstract void lazyLoad();
  32.     protected void onInvisible(){}
  33. }
在LazyFragment,我增加了三个方法,一个是onVisiable,即fragment被设置为可见时调用,一个是onInvisible,即fragment被设置为不可见时调用。另外再写了一个lazyLoad的抽象方法,该方法在onVisible里面调用。你可能会想,为什么不在getUserVisibleHint里面就直接调用呢?
我这么写是为了代码的复用。因为在fragment中,我们还需要创建视图(onCreateView()方法),可能还需要在它不可见时就进行其他小量的初始化操作(比如初始化需要通过AIDL调用的远程服务)等。而setUserVisibleHint是在onCreateView之前调用的,那么在视图未初始化的时候,在lazyLoad当中就使用的话,就会有空指针的异常。而把lazyLoad抽离成一个方法,那么它的子类就可以这样做:
  1. public class OpenResultFragment extends LazyFragment{
  2.     // 标志位,标志已经初始化完成。
  3.     private boolean isPrepared;
  4.     @Override
  5.     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  6.         Log.d(LOG_TAG, "onCreateView");
  7.         View view = inflater.inflate(R.layout.fragment_open_result, container, false);
  8.         //XXX初始化view的各控件
  9.     isPrepared = true;
  10.         lazyLoad();
  11.         return view;
  12.     }
  13.     @Override
  14.     protected void lazyLoad() {
  15.         if(!isPrepared || !isVisible) {
  16.             return;
  17.         }
  18.         //填充各控件的数据
  19.     }
  20. }
在上面的类当中,我们增加了一个标志位isPrepared,用于标志是否初始化完成。然后在我们所需要的初始化操作完成之后调用,如上面的例子当中,在初始化view之后,设置 isPrepared为true,同时调用lazyLoad()方法。而在lazyLoad()当中,判断isPrepared和isVisible只要有一个不为true就不往下执行。也就是仅当初始化完成,并且可见的时候才继续加载,这样的避免了未初始化完成就使用而带来的问题。
在这里我对fragment的懒加载实现的介绍就到此为止,如果你有兴趣,可以基于此再深入探究,比如写一个带有缓初始化和可见时刷新的特性的Fragment。

我的未来之路 where is My future road ?

最近,内心是纠结的。因为,最近的事情比较的复杂。因为,世界上的每一个人都是不同的,我们每一个人都有自己的想法。一千个人就会有一千个哈姆雷特。年轻的时候,天真的以为自己知道一切了,觉的自己按照自己的想法已经理解了这句话的意思。纸上得来终觉浅,绝知此事要躬行。

古人的智慧,真的是无敌的。

说说我,现在在一家创业公司,本来一切都不错的。但是,前几天去了一趟,白洋淀。因为,我的原因,打牌的消息发错了群。那之后,孙昂就看我不顺眼。看我鼻子不是鼻子,眼睛不是眼睛的。我也是罪恶了。

正如那句话,这件事情在我看来并没有什么,但是,在孙总的眼睛里面,似乎并不是我想的那么简单。就因为这件事情,当天晚上吃饭的时候,他直接发火了,让我们滚到旁边的桌子上吃饭。当时的我的直觉,这件事情这么严重?你他妈的有病吧?然后,不管有没有错,我都在自己身上找原因。当时的心态已经炸掉了。真的是很不爽,但是你有不能说出来的!

为什么?原因很简单,我需要靠孙总养着,如果没有孙总的话,我下个月的就没有办法生存了,更不要提生活了?是的,孙总就是我的衣食父母。这个并没有错的。所以,这次大家出来玩的时候,就因为孙总一个人发火,所以,直接导致了大家没有心情玩了!大家出来玩就是为了开心的。如果,没有心情的话,那你他妈的还玩个奶子?第二天,大家都没有心情的随便看了看!

这件事情,都是因为我而起的,在别人看来并没有什么的!我上班的时候,明显感觉到,孙总的距离感。再也没有之前的那种感觉了,之前是可以跟孙总随便开玩笑的。但是,现在,我说话,他直接不屌我了。当时,我是很气愤的。我真的是想一走了之的,但是,我忍住了。我需要等到他发工资。要不然,他就是不给我公司,我一点也没有办法的。所以,就算要辞职也要等到中秋之后,发了工资之后再说。因为,我需要生活。


开始的时候,孙总说过,这家公司我说了算的,如果,我开心什么都可以的。但是,如果我不喜欢你了。对不起,你就应该离开了。

总的来说,我是很喜欢这家公司的氛围。因为,大家对我都很好。我从一个刚毕业的小子,到这家公司,已经一年多了。这一年,我跟大家一起度过了。我对大家已经有感情了。这么快就要说走,真的是内心舍不得。但是,我算是得罪了孙总了。总的来说,是因为,我太傻了。其实,很多的时候,啸天,恋哥,玲姐,娜姐,莹姐,大家都是很照顾我的。说真的,我的脾气也是醉的一逼、傻傻的分不清楚。有的时候,总是由着自己的性子在这里发泄。

是的,我已经长大了,很多的事情。不要说话不过脑子。做事情要三思而行。因为,现在做的事情,后果是要自己的承担的。从回来之后,孙总,从来没有找过我聊天。如果说,对我不满,批评一下,我是很开心的。因为,说你是为了你好的,还把你当做自己的人。但是,如果对你不管不问的,我觉的很不爽。而且,对于我的态度也是飞流直下三千尺。跟我聊天的时候,直接低头看手机。完全的无视我。这个,真的让我受不了的。我有什么办法,只能呵呵了。你做错了事情,你总要承担后果的。不能像川琪那样任性。很多的时候,都是跟自己的想法不同的,事与愿违这才是真理,因为,你长的丑,但是想的美呀。所以,事与愿违才是通常的事件。很多的时候,我们真的是只在乎自己的想法。但是,我们往往忽略了事情的后果,年轻的时候,做错了事情,后果往往是比较轻的,但是等你工作了以后,做错了事情。后果往往是比较严重的。还有一点,永远不要相信,CEO的大饼,只想相信,自己拿到的和看到的东西,其他的事情,都是在吹牛逼,在没有得到之前都是梦幻。之前,孙总说北京他说了算的。但是,实际上的并不是的。因为,他只是一个小老板。后面,他还有大老板。他说了并不算的。他有自己的权限和范围。并不是所有的事情,他都可以拍板。因为,后面的张总会给他压力的。因为,这家公司并不是他一个人的。

不过,白洋淀这件事情,让恋哥很受伤的。这个事情就是比较的不爽了。真的是,我的内心其实醉的。因为,恋哥夹在中间是很难做人的。很多的事情,我真的是不容易,我喜欢这个地方。但是,天下没有不算的宴席。是的,大家相聚在一起就是一场缘分。至于,自己的能力的问题就是自己的问题了。这样的事情,都是看自己的心了。其他的事情,我们需要做的事情有很多,其他的事情不说了。我是不是应该,请恋哥和啸天吃顿饭呀?这个是可以的,因为,我真的是受了他们照顾呢!真的是很感谢他们的。嘿嘿,很多的时候,我们都要去做,自己不喜欢做的事情。这个件事情,不是我们自己能决定的。我们只能适应这个世界和生活,就是这样的。很多的事情。不会像着自己希望的方向发展的。我不知道到,自己会不会发火,但是,很难说,毕竟我还是很年轻的。很多的时候,我不知道该做什么。其实,我什么也不是,我只不过是刚刚开始的。其他的,我并不在乎的,其实,很多的时候,我们只要有自己一口吃的就好了,其他的事情,我们并不在乎的,世界杯颠覆了又怎么样呢?只要,自己活着就好了。好死不如赖活着。这个世界上还这种人比较多的,事不关己高高挂起的人。多的牛毛。因为,很多的时候,每个人的理念是不一样的。

我不知道,孙总跟娜姐和恋哥,莹姐说了什么?但是,到我这里肯定不会那么简单的。因为,我能感觉到孙总的愤怒。嘿嘿,其实,最坏也不过就是把我辞了。但是,说真的是,我是很喜欢这家公司,我不想走的。但是,这个时候,如果没有办法的话,我会选择离开的。事情。很多的时候,都不是我们能够操控的。因为,孙总对我有恩,我只要不惹他生气。其他的事情,都听他的。很多的时候,我真的是没有脑子。说了很多不该说的话,有的时候,自己就是个傻逼。哎,但是,世界上并不会因为你悔恨就会改变什么。事情,发生了就发生了。其他的事情,你怎么想也是没有用的。因为,我们都在改变着。至于变成什么样子,可能只有到了那个年纪我们才会知道的。现在的我们都只不过是在路上而已。至于摸着石头过河的我,现在也只是刚刚起步。


一路走好