Android项目实现欢迎界面
在我们使用软件的时候,打开一款应用,首先出现的就是欢迎界面,它不仅是应用的入口,也简单概括了app的功能,有美观的作用。同时,在显示欢迎界面的同时,我们可以为主页的数据进行预加载,这样可以让我们的UI更加流畅,用户体验更佳。
值得注意的是,欢迎界面分两种:
- 第一次安装时的欢迎界面
- 首次启动(未关闭应用程序)时的欢迎界面
1.区分两种欢迎界面
为了区分上述的两种欢迎界面,我们可以通过设置sharepreference中的键对值为版本号来实现。
- 若键对值为空,即指定的键值不存在,则说明没有安装APP,使用第一种欢迎界面。
- 若存在键对值,则使用第二种欢迎界面。
存储键对值:
SharedPreferences sp=getSharedPreferences("appDetails", Context.MODE_PRIVATE);
sp.edit().putString("welcome",welcome).apply();
读取键对值:
SharedPreferences sp=getSharedPreferences("appDetails", Context.MODE_PRIVATE);
welcome=sp.getString("welcome",null);
2.欢迎界面的简单实现
这里实现最常见的,第二种欢迎界面。第一种欢迎界面与之类似,可以使用轮播图或者viewpage实现。
实现第二种欢迎界面,主要要考虑到的就是欢迎界面要保留一段时间以便于加载主页面所需要的一些资源、检查版本号,检查token,可以使得用户体验更好。此处以2s为例,实现延时跳转有常见的两种方法,一种是Handler,另外一种是Timer。
public class Welcome extends AppCompatActivity {
public String welcome;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
SharedPreferences sp=getSharedPreferences("appDetails", Context.MODE_PRIVATE);
welcome=sp.getString("welcome",null);
if(welcome==null){
//显示第一种欢迎界面的代码 ……(此处省略)
sp.edit().putString("welcome","1").apply();
}
else{
//plan1 timer
// new Timer().schedule(new TimerTask() {
// @Override
// public void run() {
// startActivity(new Intent(getApplicationContext(), home.class));
// finish();
// }
// }, 2000);
//plan2 handler
new Handler(new Handler.Callback() {
// 处理接收到消息的方法
@Override
public boolean handleMessage(Message msg) {
startActivity(new Intent(getApplicationContext(), home.class));
finish();
return false;
}
}).sendEmptyMessageDelayed(0,2000);
}
}
}
其实这里只是简单地实现了欢迎界面的延时,我们在欢迎界面中这段时间内可以检查软件的版本检测是否需要更新,可以检查token来决定需不需要重新登陆,同时可以测试服务器是否停机,为主页进行必要的预加载等等。由于这些和项目之后的东西有关,有些自己也还没写好,之后会对欢迎界面延时这段过程中进行的处理进行完善。