Shared Preference

 import "package:flutter/material.dart";

import "package:shared_preferences/shared_preferences.dart";

void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({super.key}) : super();

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: "shared Preferences",
theme: ThemeData(
primarySwatch: Colors.grey,
),
home: DemoShare(),
);
}
}
class DemoShare extends StatefulWidget {
DemoShare({super.key}) : super();

@override
State<DemoShare> createState() => _DemoShareState();
}

class _DemoShareState extends State<DemoShare> {
var nameController = TextEditingController();

static const String KEYNAME = "name";
var nameValue = "No value saved";

@override
void initState() {
super.initState();
getValue();
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Shared Preferences"),
),
body: Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.all(40.0),
child: TextField(
controller: nameController,
decoration: InputDecoration(
hintText: "Name",
labelText: "Name",
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(11.0,),
borderSide: BorderSide(
width: 2.0,
color: Colors.brown,
),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(11.0,),
borderSide: BorderSide(
width: 2.0,
color: Colors.blue,
),
),
),
),
),
ElevatedButton(
onPressed: () async {
var name = nameController.text.toString();

var prefs = await SharedPreferences.getInstance();

prefs.setString(KEYNAME, name);
},
child: Text("Save"),
),
SizedBox(height: 30.0,),
Text(nameValue),
],
),
),
);
}
void getValue() async {
var prefs = await SharedPreferences.getInstance();

var getName = prefs.getString(KEYNAME);

setState(() {
nameValue = getName != null ? getName : "No Saved Value"; //OR below
//nameValue = getName ?? "No Saved Value";
},);
}
}

Comments

Popular posts from this blog

Second GET API Calling with Bloc simple Example in Flutter

Stack Container Scrollable Card widget UI with Custom Widget

Pagination with Bloc Pattern in Flutter