},2000,3000);
new Timer().schedule(new TimerTask() {//倒计时
@Override
public void run() {
toast.cancel();
timer.cancel();
}
}, cnt );
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
startActivity(PayBannerActivity.class);
setResult(RESULT_OK);
finish();
}
}, 1500);
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
public void run() {
Log.e(“lgq”,“延时。。。”);
Toast.makeText(MainActivity.this,“saa”,1).show();
}
}, 3000);
调用UI线程更新UI
private void setTips(String s) {
if (this == null) {
return;
}
// runOnUiThread(() -> {
// textView.setText(s);
// });
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(s);
}
});
}
创建前台线程
static final int REFRESH_COMPLETE = 0X1112;
private Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case REFRESH_COMPLETE:
//todo…
break;
}
}
};
后台线程调用前台线程,循环线程
new Thread() {
@Override
public void run() {
super.run();
running = true;
int i = 0;
while (running) {
mHandler.sendEmptyMessageDelayed(REFRESH_COMPLETE, 1000);
try {
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
new Thread() {
@Override
public void run() {
super.run();
boolean running = true;
int i = 0;
while (running) {
if (i<3){
App.synthesizer.speak(“请点击启动按钮”);
i++;
}
try {
sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
延时线程
====
new Thread(){
@Override
public void run() {
try {
Thread.sleep(5 * 100);
} catch (InterruptedException e) {
e.printStackTrace();
}
mHandler2=new Handler();
Log.i(“Lgq”,“s…e33.”);
}
}.start();
private BaseActivity activity;
public void setActivity(BaseActivity activity) {
this.activity = activity;
}
private Handler mHandler = new Handler();
mHandler.post(new Runnable() {
@Override
public void run() {
activity.dismissWaitingDialog();
}
});
private void testSend(){
new Thread(new Runnable() {
@Override
public void run() {
int i=20;
while (i>0){
send_0A06();
LogPlus.e(“onSuccess—发送次数===” + i);
i–;
SystemClock.sleep(3000);
}
}
}).start();
}
定时延时
====
connect(5);//延时5秒
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
最后
感谢您的阅读,在文末给大家准备一个福利。本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。
当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
最后,赠与大家一句诗,共勉!
不驰于空想,不骛于虚声。不忘初心,方得始终。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
集锦。这也是我这些年来养成的习惯,一定要学会把好的东西,归纳整理,然后系统的消化吸收,这样才能极大的提高学习效率和成长进阶。碎片、零散化的东西,我觉得最没有价值的。就好比你给我一张扑克牌,我只会觉得它是一张废纸,但如果你给我一副扑克牌,它便有了它的价值。这和我们收集资料就要收集那些系统化的,是一个道理。
[外链图片转存中…(img-4we9YRXH-1712822750006)]
最后,赠与大家一句诗,共勉!
不驰于空想,不骛于虚声。不忘初心,方得始终。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-8DFAQk6H-1712822750007)]