尝试用kotlin做一个app(十三)

现在的任务是要把话题交流和个人主页做一下。这个貌似有点复杂,话题交流,在我看来是一个论坛系统吧。

几天没写了,中间休息了几天,断断续续在做,把这几天做的总结一下吧~

先把个人中心布局和话题交流页面的布局写一下。对于话题列表和话题分类,按照之前的方式,通过访问api请求接口,加载网络数据。

 这些布局可以做得更好看一点,但是暂时就这样吧。

接下来要实现个人中心登录功能

 登陆界面布局是这样

 实现的方法是这样。用SharedPreference保存用户名密码等用户信息,如果SharedPreference中有数据,则表示用户已登录,如果无数据则表示未登录。在个人中心的activity初始化的时候检查SharedPreference中是否数据,如果无,则跳转到登录页面。

在登录页面,获得用户输入的用户名密码去请求api。如CheckLogin?username=$user&password=$psd,如果正确,则该api同时会返回该用户的其他一些信息。在客户端中把api返回的信息,包括用户名,密码存储到SharedPreference中。

同时,在登录页面,用户登录成功之后,finish当前页面,返回到原来的个人中心页面,个人中心页面应该刷新,以重新判断用户是否处于登录状态。如果已登录,则应该把登录按钮隐藏掉,显示登录用户的用户名,头像等一些信息。

如未登录时个人中心界面是这样

已登录

 我的做法是,在页面布局中,登录按钮的位置放了一个隐藏的textview。判断用户已登录只要把登录按钮设置为隐藏,而原本隐藏的textview设置为显示。如

personal_login.visibility=View.INVISIBLE
personal_userInfo.visibility=View.VISIBLE

这里还有个问题是,登录的activity结束之后,返回到个人页面的activity,个人页面的activity应该立即刷新。这里用到startActivityForResult...另外后面点击发布文章,跳转实现登录,点击bottombar切换到个人页面,个人页面同样需要刷新。因为个人页面是一个fragment,不同fragment切换使用的是hide和show方法,为了fragment显示后刷新,需要重写它的onHiddenChanged方法...另外activity中的几个生命周期函数,也可能有用,不过暂时没有用到

 实现退出登录

退出功能放在设置界面

 退出功能实现起来也简单,就是清除掉SharedPreference中的数据吧

editor.clear()
editor.apply()

 以上,事后想想是挺简单,但是做起来还是挺费时间的。代码写得多了,就无心记录代码了。或者代码写得稍微多点,就只想泛泛而谈,原来是这种感觉...

猜你喜欢

转载自www.cnblogs.com/vocus/p/12501626.html
今日推荐