博客
关于我
【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高性能分布式应用服务器框架-SwooleDistributed
    查看>>
    PHP高效、轻量级表格数据处理库 OpenSpout
    查看>>
    R 数据缺失的处理
    查看>>
    php,nginx重启
    查看>>
    php:$_ENV 和 getenv区别
    查看>>
    PHP:cURL error 60: SSL certificate unable to get local issuer certificate
    查看>>
    PHP:PDOStatement::bindValue参数类型php5和php7问题
    查看>>
    Q媒体播放器.如何播放具有多个音频的视频?
    查看>>
    pickle
    查看>>
    Pickle thread.lock(Pymongo)
    查看>>
    pickle模块
    查看>>
    qYKVEtqdDg
    查看>>
    pid控制
    查看>>
    PID控制介绍-ChatGPT4o作答
    查看>>
    PID控制器数字化
    查看>>
    Qwen-VL项目使用指南
    查看>>
    PIESDKDoNet二次开发配置注意事项
    查看>>
    PIGS POJ 1149 网络流
    查看>>
    PIL Image对图像进行点乘,加上常数(等像素操作)
    查看>>
    PIL Image转Pytorch Tensor
    查看>>