我正在构建一个包含许多幻灯片的简介页面的应用。一旦第一次用户通过介绍,他将被引导到登录屏幕。一旦他登录(或注册),他就会进入应用主页。只要用户没有注销,如果他点击应用图标,他就会被直接带到主屏幕。
我使用Intro页面意图作为LAUNCHER活动并使用sharedpreference
来保存首次使用'并登录状态。通过测试用户是否已登录或第一次使用用户,我指导他进行不同的意图。
所以我的问题是,这个意图重定向最合适的位置在哪里?因为Intro页面有如此多的片段和组件,将其设置为LAUNCHER活动并在那里使用所有if else语句来决定用户应该去哪里,我是否浪费了系统资源?因为如果用户已经登录,他将进入主页而不显示任何已加载的应用程序介绍内容。
或者,创建一个空活动并将其设置为LAUNCHER活动并将所有if else语句放入其中是一个好习惯。因此,该应用程序不需要去重做' app intro page。
PS:我已经在super.onCreate()之后的onCreate中声明了那些意图方向if else语句;
@Override
protected void onCreate(Bundle savedInstanceState) {
// Fullscreen
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
// activity_first_usage is the container for all frames
setContentView(R.layout.activity_first_usage);
logger = new Logger(this);
if (!logger.isFirstUsage()) {
if (logger.hasTOKEN()) {
// If user didn't log out, then he can stay in the app
Intent home = new Intent(getApplicationContext(), Home.class);
startActivity(home);
finish();
} else {
// If this is not the first time user login in, no need to show the intro
Intent directToSignIn = new Intent(getApplicationContext(), SignIn.class);
startActivity(directToSignIn);
finish();
}
} else {
// If not, continue with the Intro and set usage status to used
logger.setFirstUsage(false);
}
...
}
答案 0 :(得分:0)
生病告诉你这个概念
使用启动并使用条件来检查用户的状态,例如:已经注册,新注册,注册但仍然没有明智地进行介绍
识别它
更多:您可以考虑当用户卸载您的应用并重新安装时会发生什么。那么您需要做什么?由你决定。
一旦确定了启动中的用户状态 为每个人写不同的意图
如果是新的 - 显示您的介绍
如果没有 - 加载到主菜单
你需要决定因为你知道要求
希望这有点帮助:)