Mencoba session di flutter adalah hal yang pas disaat seperti ini. Pembuatan session di flutter anda dapat memanfaatkan shared_preferences library . Library ini adalah library yang biasa gunakan pada android untuk menyimpan session . Bagi anda yang sudah terbiasa membuat aplikasi android mungkin tidak susah lagi.
Pertama yang dilakukan, menambahkan dependecy shared_preferences yang letaknya di file pubspec.yaml :
shared_preferences: ^0.5.6+1
Kemudian klik flutter pub get pada folder project untuk mengistall dependecy tersebut. Setelah itu buat file baru dengan format dart . Berikut ini bebebrapa function yang digunakan dalam session, seperti berikut :
- void save : digunakan untuk menyimpan data berupa JSON. sehingga memudahkan pengguna dalam memasukkan dan menggunakan data nantinya.
save(String key, value) async {
final prefs = await SharedPreferences.getInstance();
prefs.setString(key, json.encode(value));
}
final prefs = await SharedPreferences.getInstance();
prefs.setString(key, json.encode(value));
}
- void read : digunakan untuk membaca session yang tersimpan berdasarkan key yang dimasukkan
read(String key) async {
final prefs = await SharedPreferences.getInstance();
return json.decode(prefs.getString(key));
}
final prefs = await SharedPreferences.getInstance();
return json.decode(prefs.getString(key));
}
- void delete : digunakna untuk mendestroy delete bersarakan key yang di masukkan
delete(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.remove(key);
}
final prefs = await SharedPreferences.getInstance();
return prefs.remove(key);
}
Kemudian masukkan ketiga function tersebut dalam satu class :
class ApiSession {
read(String key) async {
final prefs = await SharedPreferences.getInstance();
return json.decode(prefs.getString(key));
}
save(String key, value) async {
final prefs = await SharedPreferences.getInstance();
prefs.setString(key, json.encode(value));
}
delete(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.remove(key);
}
}
read(String key) async {
final prefs = await SharedPreferences.getInstance();
return json.decode(prefs.getString(key));
}
save(String key, value) async {
final prefs = await SharedPreferences.getInstance();
prefs.setString(key, json.encode(value));
}
delete(String key) async {
final prefs = await SharedPreferences.getInstance();
return prefs.remove(key);
}
}
Berikut contoh implementasi dari session pada form Login yang telah kita buat sebelumnya :
- Buat class model terlebih dahulu :
class userlogin{
String Username;
String email;
userlogin();
userlogin.fromJson(Map<String, dynamic> json)
: Username = json['Username'],
email = json['email'];
Map<String, dynamic> toJson() =>{
'Username': Username,
'email': email,
};
}
String Username;
String email;
userlogin();
userlogin.fromJson(Map<String, dynamic> json)
: Username = json['Username'],
email = json['email'];
Map<String, dynamic> toJson() =>{
'Username': Username,
'email': email,
};
}
- Kemudian masukkan data dan simpan berdasarkan key yang diinginkan :
userlogin login = userlogin();
login.Username = parsed['data']['Username'];
login.email = parsed['data']['email'];
apiSession.save('login', login);
login.Username = parsed['data']['Username'];
login.email = parsed['data']['email'];
apiSession.save('login', login);
- Sedangkan untuk memanggil sessionnya, dapat menggunakan function seperti berikut ;
loadSession() async {
try {
userlogin userload = userlogin.fromJson(await apiSession.read('login'));
setState(() {
print("success);
});
} catch (ex) {
print("error : ${ex}");
}
}
try {
userlogin userload = userlogin.fromJson(await apiSession.read('login'));
setState(() {
print("success);
});
} catch (ex) {
print("error : ${ex}");
}
}
Membuat Session di Flutter
Reviewed by sdiik
on
March 26, 2020
Rating:
No comments: