1.退出程序停留在欢迎界面
bug Description:
测试环境:win10、工具android studio;
测试步骤:
描述:当点开程序时,不是直接到登录界面,会有一个可自定义化的欢迎界面的过度,用户退出时,提示框上选择了退出则完全退出。
实际:在提示框上选择了退出后,没有会到手机主界面,而是停在了欢迎界面。
分析:A到B之后,在B内直接退出程序。问题是退出B到了A,还得从A再退出程序,使用体验不好。
我在网上找了资料;
http://www.open-open.com/home/space-37924-do-blog-id-5805.html
(依据以上,并未解决个人问题)
那么我的解决办法就是,在B内后台发送值给A,之后finish当前界面。A在接到B的传值后作出行动(值传递流程是关掉B再关掉A,使用者角度看是B处直接退出的);
话不多说上代码
B界面:
public void onClick(DialogInterface dialog, int which) { /** * 在这里添加flags值,并关闭 * */ Intent intent = new Intent(T_Menu.this,Welcome.class); intent.addFlags(0); finish(); }
A界面:
Intent intent = new Intent(Welcome.this,T_Menu.class); startActivity(intent);/***在这里做一个判断*/ if(intent.getFlags()==0){ finish();
2.多界面跳转,原界面数据没有保留
bug Description:
测试环境:win10、工具android studio;
测试步骤:
描述:原程序A B C D界面(底部导航栏)使用了Fragment Manager对四个界面管理。
理想是界面切换时,当前所在界面数据在跳转后再回来时界面数据不变。
实际:跳转后再回时,界面数据清空。
分析:当前界面是一个对象时,那么在从离开到再回时,在后台是否还在运行?
如果在运行,那么打开是原界面,数据会在;如果不在后台,那么是放到了Fragment Manager堆中,而再回时,
则是重新打开了一个界面,原先的界面已被销毁。
实行:根据log report,发现Fragment Manager中提供了多个方法关于界面管理,其中自己用的是replace()方法,
根据官方API的说法,源码查看,log的追踪,得知A是被销毁,而再回到A时,则是重新打开了界面,数据自然就不存在了。
补救:因为Fragment Manager 提供了多个方法,为了符合预期效果,使用hide();
hide()在界面跳转时,所要跳的界面会覆盖到A上面。当再回A时,回再打开,数据得以保留。
3.用户登录输入内容格式验证
bug Description:
测试环境:win10、工具android studio;
测试步骤:
根据所需输入内容,如用户名,屏蔽关键字隐晦字特殊符号。
密码屏蔽部分特殊符号,规定数字英文。
输入内容用“equals”进行筛选。