博客
关于我
【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/

    你可能感兴趣的文章
    Program type already present: android.support.v4.widget.EdgeEffectCompat
    查看>>
    PyTorch中文版官方教程来啦(附下载)
    查看>>
    Progress Kemp LoadMaster 远程命令执行漏洞复现(CVE-2024-1212)
    查看>>
    Project configuration is not up-to-date with pom.xml. Run Maven->Update Project
    查看>>
    Project Euler 15 Lattice paths
    查看>>
    Project Euler 48 Self powers( 大数求余 )
    查看>>
    Project Euler Problem 12: Highly divisible triangular number
    查看>>
    ProjectEuler 2
    查看>>
    projection介绍及EPSG:4326和EPSG:3857的投射转换
    查看>>
    project打开文件时,显示无法识别此文件格式?
    查看>>
    Prometheus + Grafana on Kubernetes部署
    查看>>
    prometheus + grafana进行服务器资源监控
    查看>>
    Prometheus Alertmanager 告警配置详解
    查看>>
    Prometheus Grafana 展示平台
    查看>>
    Prometheus pushgateway使用详解
    查看>>
    Prometheus 云原生 - Prometheus 数据模型、Metrics 指标类型、Exporter 相关
    查看>>
    Prometheus 云原生 - 基于 file_sd、http_sd 实现 Service Discovery
    查看>>
    Prometheus 云原生 - 微服务监控报警系统 (Promethus、Grafana、Node_Exporter)部署、简单使用
    查看>>
    Prometheus 云原生 - 监控 Linux、MySQL、Redis、RabbitMQ、Docker、SpringBoot 3.x
    查看>>
    Prometheus 介绍
    查看>>