flutter 登录和退出登录_Flutter 实现自动登录

前言:

在原生的andriod 和iOS app里面都会有自动登录的功能 今天我就用flutter 来给大家实现双端的自动登录功能

Android 端用的是 Sharedpreferences  来实现对于轻量级数据的缓存 , IOS端 通常使用NSUserDefaults 来实现轻量级数据的缓存

但是在flutter 有基于Android  iOS  做支持的三方插件库  shared_preferences

1准备工作

需要用的三方库

shared_preferences: ^0.5.3+4  (缓存数据)

dio: 2.1.0  (网络请求)

toast: ^0.1.5  (吐司文字类比 Android里面的toast)

![image](https://upload-images.jianshu.io/upload_images/6865547-2751f061ff0fbde3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在项目里面的pubspec.yaml  添加依赖   然后在项目根目录打开控制台输入 flutter   pub get  命令回去下载相对应的依赖

2具体实现

先实现登录界面的功能

![image](https://upload-images.jianshu.io/upload_images/6865547-8fa5f96a22ee14a1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

登录页面是两个输入框TextFiled  和一个RaisedButton 来实现请求后台来处理登录功能

通过Dio库来实现异步网络请求  然后  通过  factory BackBean.fromJson 来转换成对象

在登录成功后通过 SharedPreferences  来储存数据 如下图所示  在登录成功后调用sharedPreferences.setString ()方法来存数据

![image](https://upload-images.jianshu.io/upload_images/6865547-fd21e1e89d1e7467.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

下面是登录页面的具体实现

```

import 'package:flutter/material.dart';

import 'package:shared_preferences/shared_preferences.dart';

import 'package:dio/dio.dart';

import 'tabs/Api.dart';

import 'entity/BackBean.dart';

import 'utils/ToastUtil.dart';

import 'Register.dart';

import 'My.dart';

/**

* 创建人:xuqing

* 创建时间:2019年12月22日19:28:56

* 类说明: 登录页面  业务需求通过 dio 网络请求库 和 shared_preferences  数据缓存库 来实现自动登录功能*

*/

class Loginextends StatefulWidget {

Login({Key key}) :super(key: key);

@override

_LoginStatecreateState() {

return _LoginState();

}

}

class _LoginSt

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值