安卓多Activity关闭方法和Tabhost使用过程的Activity数据刷新

来源:互联网 发布:python 数学库 开平方 编辑:程序博客网 时间:2024/06/05 14:55

今天在安卓项目中出现几个问题:

首先,程序中要实现登录后数据的共享,例如登录后要记录下用户名等信息,别的Activity可能还要用,因为Activity太多,不方便直接用Intent传数据,因上我使用的方法是SharedPreferences方法,当然这需要考虑到安全性问题,可以使用MD5方法。

然后在Tabhost使用过程中,如果点击了某个tab,再进入其它界面,然后回来的时候要更新数据,如果是类似于登录后返回个人中心这种情况当然可以使用startActivityForResult(mIntent, LOGIN_CODE)方法简单,可是有些情况多个界面都可以调用LoginActivity然后只是登录并不返回个人中心,这个时候就得把登录后的个人信息保存,下次点击个人中心Tab的时候显示,可以第二次点击Tab的时候界面不会刷新,为了解决这个问题我们可以重写onResume()来解决

 @Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();IntentFilter filter = new IntentFilter();          filter.addAction("net.loonggg.exitapp");          this.registerReceiver(this.finishAppReceiver, filter);         SharedPreferencesForLogin spfl = new SharedPreferencesForLogin(PersonalActivity.this,"user_l");if(!spfl.getValue("USERNAME").isEmpty()){String nametemp=spfl.getValue("USERNAME");String phonetemp=spfl.getValue("PHONE");String emailtemp=spfl.getValue("EMAIL");String addresstemp=spfl.getValue("ADDRESS");String sextemp=spfl.getValue("SEX");username.setText(nametemp);pphone.setText("电话"+"\n"+phonetemp);pemail.setText("邮箱"+"\n"+emailtemp);paddress.setText("地址"+"\n"+addresstemp);if(sextemp.equals("1")){psex.setText("男");}else{psex.setText("女");}//jobtitle.setText("VIP");if(Ly_login.isShown()){Ly_personalInfo.setVisibility(View.VISIBLE);Ly_login.setVisibility(View.GONE);Ly_Other.setVisibility(View.VISIBLE);}Ly_personalInfo.setVisibility(View.VISIBLE);Ly_login.setVisibility(View.GONE);Ly_Other.setVisibility(View.VISIBLE);}}


第三个问题是多个Activity的应用怎么退出的问题,每个的Activity都要finish(),我们可以使用重写基类BaseActivity,这个类里面加上广播函数,然后其它每个Activity都继承这个类,当点退出程序按钮后发一个广播消息进行finish(),这样每个界面就全部关闭了。http://blog.csdn.net/loongggdroid/article/details/18462351这个博文里面有详细说明和代码。

0 0
原创粉丝点击