关于app页面的定时跳转和一个manifest.xml的错误
我们在进行移动开发的时候,app的欢迎页面跳转登录界面或者首页就显得格外的重要,下面是实现代码,xml页面我们自己根据自己的需求来设计页面页面。
package com.example.example;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import java.util.Timer;
import java.util.TimerTask;
public class WelcomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
//这里new了一个Timer对象,作为一个计数器,并调用Timer的schedule方法。两秒后进行页面的一个跳转
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
toMain();
}
},2000);
}
private void toMain(){
//这里是一个intent,作为两个页面之间的桥梁,连接着两个页面,这里是从welcomeActivity跳转到MainActivity页面。
startActivity(new Intent(WelcomeActivity.this,MainActivity.class));
finish();
}
}
我们要自定义一个自定义一个MyApplication继承Application,完成一个获取context的方法,方便后面在需要用的地方可以
直接使用MyApplication.getContext()方法直接获取context。(虽然我每次都忘了用),有的地方不建议将Context定义成静态的,
具体原因我还没有深入了解,这个方法是真的很方便。
package com.example.example;
import android.app.Application;
import android.content.Context;
public class MyApplication extends Application {
private static Context context;
public static Context getApplication(){
return context;
}
@Override
public void onCreate() {
super.onCreate();
context=getApplicationContext();
}
}
对于跳转的页面,大家根据自己的需求来设计相应的页面
理想很丰满,现实很残酷,编译没问题,运行报错了,网上找了很多的方法都没有成功,确实浪费了不少的时间,记录一下,希望能够帮到你们
报的错误是:
C:\Users\Administrator\AndroidStudioProjects\example\app\build\intermediates\packaged_manifests\debug\AndroidManifest.xml:11:
error: attribute android:dataExtractionRules not found. error: failed processing manifest.
刚开始从百度上以为是Android gradle plugin version 和Gradle version版本出了问题,尝试了很多的不同版本,问题并没有解决,改sdk,gradle的配置文件,settings.gradle
以及项目的clean,rebuild和invaildate caches都没有解决问题,从这个log来看,是清单文件出现了问题,后来把重点放在manifest.xml文件上,本地的manifest.xml并没有报错,点击报错的log,会进入manifest.xml
的debug模式。如下图所示。
这个 android:dataExtractionRules="@xml/data_extraction_rules"标黄了,果断删除
删除后,编译通过