2019-07-21 第三周
今天是8月4号,现在开始写第三周……
最近也是很多事情,一直到周末才会准备一个周的记录,突然有接到消息说下周开始要开始996了,我不知道该怎么形容这个事情,只能说给我的时间越来越少了,所以我要抽时间来做自己的事情了。
在学校时候,我特别害怕一个人吃饭,害怕孤独。
没想到现在生活给了我一记狠狠的耳光,一个人苦笑着点餐吃饭,坐车回家;有些时候甚至怀疑生活中到底应不应该有这样的情节。
总会过去的。
对吧。
北漂少年。
1. 小tip
countDownTimer的使用
在开发中,我们经常要用到计时器,而系统中有很多计时器可以用,同时我们也可以用RxJava等框架来实现,这里我介绍一个countDownTimer。
private TextView tv;
private CountDownTimer timer = new CountDownTimer(10000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
tv.setText(millisUntilFinished / 1000);
}
@Override
public void onFinish() {
tv.setText("结束");
}
};
使用: timer.start();
其中,我们完全不用担心子线程的问题,因为内部已经封装了切换线程的逻辑。
这里需要注意的点就是构造方法的两个参数,其中第一个是总时间,10000毫秒,也就是10s,第二个1000毫秒,也就是1s,是时间间隔。这里的意思就是 10s种倒计时,以1s为单位。onTick方法中的参数millisUntilFinished是总时间的剩余时间。
获取activity view
不知道Activity布局构造的小伙子可以参考一下我的另一篇文章。
因为Activity的下一层是一个Window,Window里面是DecorView,而DecorView里又有下一层……
所以我们要获取我们设置的layout view就要一层一层的找下去。
public static View getContentView(Activity ac){
//获取DecorView
ViewGroup view = (ViewGroup)ac.getWindow().getDecorView();
//获取android.R.id.content(也就对应着content的父布局)
FrameLayout content = (FrameLayout)view.findViewById(android.R.id.content);
// content里面只有一个孩子,就是contentView,也就是我们设置的布局。
return content.getChildAt(0);
}
2. 文章分享
上个周解决服务兼容的问题,用到了AsyncTask,但是出现了不少问题,后来又换成了Rx去实现,但是还是要分析一下,下面这篇文章是我在踩了几个坑之后写的。
AsyncTask使用要点。
3. 新技术
继续分享Flutter。
这次带来的是上次的后续,对于Hello World的一个扩展,主要讲了项目中的各个文件夹的作用。
项目结构
4. 总结
感觉这是一篇水文,但是我写这个说实话就是为了总结我这个周干了什么,比如说上面的文章分享,就是我在本周工作之余总结出来的内容,我希望每个周都能抽出时间总结这些内容,等到真的抽不出时间的时候,就落下更多了。
后期时间确实会有点紧张,内容会相应减少。
自娱自乐。