मेरे पास आप सभी के लिए एक छोटा सा सवाल है, मैं शेयरप्रेफ वैरिएबल से यूआई विजेट में डेटा दिखाना चाहता हूं। मैं अभी स्पंदन सीखता हूं और अभी भी भ्रमित हूं।

डेटा पढ़ने के लिए यह मेरा साझाप्रेफ है।

void loginStatus() async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    String user = prefs.getString('username');
    String pasw = prefs.getString('password');
  }

और मैं चाहता हूं कि "उपयोगकर्ता" UI विजेट Text($user) में सेट हो, मुझे आशा है कि आप लोग मुझे कुछ संदर्भ या कुछ कोड दे सकते हैं, धन्यवाद दोस्तों आपके कारण के लिए और मुझे आशा है कि आप इस स्थिति में अच्छे होंगे

0
Mas'ud Al Hafiz 25 सितंबर 2020, 11:47

2 जवाब

सबसे बढ़िया उत्तर

आप कक्षा में उन्हें सुलभ बनाने के लिए कक्षा के शीर्ष पर अपने संस्करण को परिभाषित कर सकते हैं

String user='';

फिर initState() में अपनी लॉगिन स्थिति को कॉल करें

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

फिर अपना loginstatus इस प्रकार संलग्न करें

void loginStatus() async {
  final SharedPreferences prefs = await SharedPreferences.getInstance();
  setState()({
    user = prefs.getString('username');
    pasw = prefs.getString('password');
  }); 
}

अब आप कहीं भी टेक्स्ट ("$ उपयोगकर्ता") का उपयोग कर सकते हैं।

1
João Soares 25 सितंबर 2020, 11:57

मुझे यकीन नहीं है कि समस्या क्या है, लेकिन आपको अपने चर को बेहतर तरीके से लागू करने की आवश्यकता है। विधि के बाहर String user और String pasw घोषित करें। मुझे लगता है कि वे निजी क्षेत्र हैं इसलिए उनका नाम बदलकर _user और _pasw कर दें। अंडरस्कोर उन्हें डार्ट में निजी बनाता है।

फिर:

void loginStatus() async {
    final SharedPreferences prefs = await SharedPreferences.getInstance();
    setState(() => {
       user = prefs.getString('username');
       pasw = prefs.getString('password');
     })
  }
0
krumpli 25 सितंबर 2020, 11:58