2024年安卓最新Android Splash界面支持用户点击 直接进入主界面,app开发面试题及答案

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021最新上万页的大厂面试真题

image

七大模块学习资料:如NDK模块开发、Android框架体系架构…

image

2021大厂面试真题:

image

只有系统,有方向的学习,才能在短时间内迅速提高自己的技术,只有不断地学习,不懈的努力才能拥有更好的技术,才能在互联网行业中立于不败之地。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

于是我们改写代码为:

package com.example.testsplashdemo;

import android.os.Bundle;

import android.os.Handler;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.MotionEvent;

public class SplashActivity extends Activity

{

private Handler handler = new Handler();

private Runnable runnable;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

handler.postDelayed(runnable = new Runnable()

{

@Override

public void run()

{

Intent intent = new Intent(SplashActivity.this, MainActivity.class);

startActivity(intent);

finish();

}

}, 3000);

}

@Override

public boolean onTouchEvent(MotionEvent event)

{

if(event.getAction()==MotionEvent.ACTION_UP)

{

Intent intent = new Intent(SplashActivity.this, MainActivity.class);

startActivity(intent);

finish();

if (runnable != null)

handler.removeCallbacks(runnable);

}

return super.onTouchEvent(event);

}

}

定义了个Runnable对象,用户点击后移除回调事件,解决了。

利用handler.postDelay和removeCallback还可以判断用户是否长按操作等。

可能有些哥们会问,我一般是通过发送消息进入主界面的,有什么好的处理方案吗?

由于原理类似,我就直接贴代码了:

package com.example.testsplashdemo;

import android.os.Bundle;

import android.os.Handler;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.MotionEvent;

public class SplashActivity extends Activity

{

private Handler handler = new Handler()

{

public void handleMessage(android.os.Message msg)

{

Intent intent = new Intent(SplashActivity.this, MainActivity.class);

startActivity(intent);

finish();

handler.removeMessages(-1);

};

};

private Runnable runnable;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

handler.sendMessageDelayed(handler.obtainMessage(-1), 3000);

}

@Override

public boolean onTouchEvent(MotionEvent event)

{

if (event.getAction() == MotionEvent.ACTION_UP)

{

handler.sendMessage(handler.obtainMessage(-1));

finish();

}

return super.onTouchEvent(event);

}

}

也可以解决。

这里最后顺便介绍一种比较另类的处理方式:

private Handler handler = new Handler()

{

public void handleMessage(android.os.Message msg)

{

Intent intent = new Intent(SplashActivity.this, MainActivity.class);

自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-I5UjMMBx-1715800129223)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值