Android 个人中心界面 及退出登陆

您所在的位置:网站首页 退出登陆英文单词怎么写 Android 个人中心界面 及退出登陆

Android 个人中心界面 及退出登陆

2023-12-22 22:42| 来源: 网络整理| 查看: 265

后来改良版:

想要源码 请到作者主页 看开源项目!!!

我又改进了第三版

 

涉及:

/**fresco 图片加载**/ implementation 'com.facebook.fresco:fresco:2.1.0' /** TextView样式布局 **/ implementation 'com.github.lygttpod:SuperTextView:2.1.6'

第二版

布局如下:

style.xml

@drawable/top_layout_selector @drawable/mid_layout_selector @drawable/bottom_layout_selector @drawable/single_layout_selector

top_layout_selector.xml

top_select.xml

top_unselect.xml

其他圆角同理套路一下

目前刚刚写 只写了界面,和退出登陆

和获取当前用户

MyUser userInfo = BmobUser.getCurrentUser(MyUser.class); String s_name=userInfo.getByname(); String s_number=userInfo.getUsername(); t_name.setText(s_name); t_number.setText(s_number);

注意: 我们 实例对象上的 和bomb 云后端表 列名的大小写 ,还是用bmob 给的函数吧,不严报错

@Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_quit: BmobUser.logOut(); startActivity(new Intent(getActivity(),LoginActivity.class)); break; } }

这里我来补充一下

如果你在activity里写线程了,退出登陆时,一定要记得销毁,否则报错。

如: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.aigsharedome.JavaBean.MyUser.

这里我动态更新Textview ,循环一直请求,所以出错。

注: 在fagment 碎片里 获取当前内容 用getActivity() 方法。以前 初学时,报错。

MyActivityManager 这种方式 适合sqlite 这种云数据库,就不适用了, 这一种 将activity 压栈,退出登陆时,将所有的activity 全部销毁。

public class MyActivityManager { private static MyActivityManager instance; private Stack activityStack;//activity栈 private MyActivityManager() { } //单例模式 public static MyActivityManager getInstance() { if (instance == null) { instance = new MyActivityManager(); } return instance; } //把一个activity压入栈中 public void pushOneActivity(Activity actvity) { if (activityStack == null) { activityStack = new Stack(); } activityStack.add(actvity); Log.d("MyActivityManager ", "size = " + activityStack.size()); } //获取栈顶的activity,先进后出原则 public Activity getLastActivity() { return activityStack.lastElement(); } //移除一个activity public void popOneActivity(Activity activity) { if (activityStack != null && activityStack.size() > 0) { if (activity != null) { activity.finish(); activityStack.remove(activity); activity = null; } } } //退出所有activity public void finishAllActivity() { if (activityStack != null) { while (activityStack.size() > 0) { Activity activity = getLastActivity(); if (activity == null) break; popOneActivity(activity); } } } }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3