Android 在迁移到单活动体系结构时,如何避免创建初始屏幕片段?
我尝试将我的应用程序迁移到带有导航组件的单活动体系结构 在多活动版本中,当用户运行应用程序时,他进入Android 在迁移到单活动体系结构时,如何避免创建初始屏幕片段?,android,android-fragments,Android,Android Fragments,我尝试将我的应用程序迁移到带有导航组件的单活动体系结构 在多活动版本中,当用户运行应用程序时,他进入SplashScreen活动,应用程序在其中进行一些网络操作(设备注册,用户检查,…)。当所有这些都完成后,他开始内容活动 在单活动版本中,我必须创建SplashScreen片段才能完成相同的任务,但我不想创建它。这个操作太快了(~1s),我不需要片段,现在我想让我的内容片段(从内容活动创建)像开始-目标片段一样,在所有“初始”网络操作发生时显示加载程序 这种情况似乎没有问题,但问题是我需要从Sp
SplashScreen
活动,应用程序在其中进行一些网络操作(设备注册,用户检查,…)。当所有这些都完成后,他开始内容活动
在单活动版本中,我必须创建SplashScreen片段才能完成相同的任务,但我不想创建它。这个操作太快了(~1s),我不需要片段,现在我想让我的内容片段(从内容活动创建)像开始-目标片段一样,在所有“初始”网络操作发生时显示加载程序
这种情况似乎没有问题,但问题是我需要从SplashScreen
中提取代码,并将其放入内容片段中,但这不是放置代码的好地方。内容片段太大,有时会重新创建,所以我需要创建标志来表明我不想再次运行“初始”操作
那么,如何用最好的方式做到这一点呢?或者我需要创建screensfragment
我的想法是将此代码放在
MainActivity
上,但我不完全理解如何使其工作。我需要在内容片段上显示loader,并以某种方式创建这样一种情况,即只有在MainActivity
上的初始代码完成后,“所有开始工作”才会工作。最简单的方法是创建一些带有回调的帮助器类。看起来像
class fragmentContent{
void onCreateView(){
View view = ...; //show loader
helper.doLongOperationInBackground(new Callback());
return view;
}
class Callback{
void onLongOperationComplete(){
showViewContent();
}
}
}
不要忘记只执行一次长操作。最简单的方法是使用回调创建一些帮助器类。看起来像
class fragmentContent{
void onCreateView(){
View view = ...; //show loader
helper.doLongOperationInBackground(new Callback());
return view;
}
class Callback{
void onLongOperationComplete(){
showViewContent();
}
}
}
不要忘记只做一次长时间的操作