Login如果用户详细信息已保存在存储器中,则可以导航至该页面,否则将
Home使用以下代码导航至该页面
Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); SharedPreferences prefs = await SharedPreferences.getInstance(); var email = prefs.getString('email'); print(email); runApp(MaterialApp(home: email == null ? Login() : Home())); }成功登录后保存所需的用户详细信息
class Login extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: RaisedButton( onPressed: () async { //after the login REST api call && response pre ==200 SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.setString('email', 'useremail@gmail.com'); Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext ctx) => Home())); }, child: Text('Login'), ), ), ); }}清除注销详细信息
class Home extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Home'), ), body: Center( child: RaisedButton( onPressed: () async { SharedPreferences prefs = await SharedPreferences.getInstance(); prefs.remove('email'); Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext ctx) => Login())); }, child: Text('Logout'), ), ), ); }}希望能帮助到你!



