博客
关于我
【Android项目实战 | 从零开始写app(14)】实现用户中心模块清除token退出登录 & 信息修改等功能
阅读量:513 次
发布时间:2019-03-07

本文共 1676 字,大约阅读时间需要 5 分钟。

Android项目实战 | 从零开始写app(13):实现服务页面数据的解析

模块介绍

在前面的系列文章中,我们已经完成了登录模块的实现,用户成功登录后可以在用户中心页面查看个人信息、订单列表等功能。本篇将重点介绍如何实现用户中心页面的数据展示以及相关功能的实现。


功能逻辑实现

UserFragment类

在UserFragment中,我们主要实现了以下功能:

  • 用户信息展示:通过SharedPreferences读取本地保存的登录信息,显示用户名和用户头像。
  • 页面跳转:实现了点击各功能模块的跳转,如个人信息、订单列表、修改密码等。
  • 退出登录:通过SharedPreferences清除本地保存的token值并跳转到登录页面。
  • AdviseActivity类

    意见反馈页面实现了以下功能:

  • 用户输入反馈内容:使用EditText让用户输入反馈意见。
  • 发送反馈:通过OkHttp发送POST请求到服务端,携带token进行验证。
  • UI反馈:使用Handler和Toast显示反馈结果。
  • UpdataPSWActivity类

    修改密码页面实现了以下功能:

  • 用户输入相关信息:包括用户编号、旧密码和新密码。
  • 发送修改请求:通过OkHttp发送POST请求到服务端,携带token进行验证。
  • UI反馈:使用Gson解析响应数据,显示修改结果。
  • UserInfoActivity类

    修改个人信息页面实现了以下功能:

  • 用户输入信息:包括昵称、手机号、邮箱、证件信息和性别。
  • 发送修改请求:通过OkHttp发送POST请求到服务端,携带token进行验证。
  • UI反馈:使用Gson解析响应数据,显示修改结果。

  • 技术实现细节

    SharedPreferences的使用

    在整个项目中,我们使用SharedPreferences来存储和读取token值。例如:

    SharedPreferences sp = getActivity().getSharedPreferences("token_data", Context.MODE_PRIVATE);String token = sp.getString("token","");

    退出登录时,通过editor清除token值并提交:

    SharedPreferences.Editor editor = sp.edit();editor.clear();editor.apply();

    OkHttp的使用

    在发送请求时,我们使用OkHttp库来处理HTTP协议。例如:

    OkHttpClient client = new OkHttpClient();RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), json.toString());Request request = new Request.Builder()    .url(APIConfig.BASE_URL + "/userinfo/feedback")    .addHeader("Authorization", token)    .build();

    Gson的使用

    用于解析JSON响应数据。例如:

    Gson gson = new Gson();LoginBean loginBean = gson.fromJson(result, LoginBean.class);

    常见问题

  • 图片加载问题:在fragment_user.xml中,图片使用了src属性,建议使用 UNIVERSAL_IMAGE_LOADING库来优化图片加载。
  • UI更新问题:在网络请求中,UI更新需要通过runOnUiThread或AsyncTask进行,避免在主线程进行耗时操作。

  • 总结

    通过以上实现,我们完成了用户中心页面的数据展示和功能模块的开发。下一篇将重点介绍订单列表的实现,包括数据解析和 ListView 适配器的开发。

    转载地址:http://bzacz.baihongyu.com/

    你可能感兴趣的文章
    php根据年月日计算年龄
    查看>>
    RabbitMQ - 单机部署(超详细)
    查看>>
    php检查注册,PHP检查注册的电子邮件地址是一个’school.edu’地址
    查看>>
    php模拟发送GET和POST请求
    查看>>
    RabbitMQ - 以 MQ 为例,手写一个 RPC 框架 demo
    查看>>
    php模板引擎smarty
    查看>>
    php正则表达式模式
    查看>>
    php正则表达式的特殊字符含义
    查看>>
    PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
    查看>>
    RabbitMQ + JMeter组合,优化你的中间件处理方式!
    查看>>
    PHP水仙花问题解法之一
    查看>>
    php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
    查看>>
    php注册页面实现注册后跳转页面
    查看>>
    PHP消息队列的实现方式与详解,值得一看
    查看>>
    PHP混合Go协程并发
    查看>>
    php源码中如何添加滚动公告,给WordPress网站添加滚动公告的方法
    查看>>
    PHP源码安装后如何新增模块
    查看>>
    php源码详细安装步骤,linux下php源码安装步骤
    查看>>
    php漏洞tips
    查看>>
    php版Zencoding之 phpstorm
    查看>>