Как читать данные из документов в базе данных - PullRequest
0 голосов
/ 09 марта 2019

Я создаю программу, которая после регистрации получает данные о пользователе из документа в базе данных, рядом с некоторой информацией сохраняют в sharedPreferences, а некоторые показывают на экране. Но я могу читать данные с нужного мне документа.

class crudMedthods{   
getDataUser(Data) async {
             return await 
Firestore.instance.collection('users').document(Data).get();   } }

          class LoginScreen extends StatefulWidget {   @override  
          _LoginScreenState createState() => _LoginScreenState(); }

          class _LoginScreenState extends State<LoginScreen> {  
          TextEditingController username = TextEditingController();  
          SharedPreferences sharedPreferences;    
     crudMedthods crudObj = crudMedthods();     
     var user;

            Future<void> signIn() async {
              final formState = _formKey.currentState;
              if (formState.validate()) {
                formState.save();
                await FirebaseAuth.instance.signInWithEmailAndPassword(
                    email: username.text, password: password.text);
                try {
                  Navigator.push(
                      context, MaterialPageRoute(builder: (context) => HomeScreen()));
                } catch (e) {
                  print(e.message);
                }
              }   }

            @override   Widget build(BuildContext context) {
              return MaterialApp(
                home: Scaffold(
                  resizeToAvoidBottomPadding: false,
                  body: ListView(children: <Widget>[
                    Column(children: <Widget>[TextFormField(
                      controller: username,
                      decoration: InputDecoration(
                        border: OutlineInputBorder(
                            borderSide: BorderSide(
                                color: Colors.lightBlue[50], width: 10),
                            borderRadius: BorderRadius.circular(26.0)),
                        contentPadding: EdgeInsets.symmetric(vertical: 17.0, horizontal: 10.0),
                        hintText: "username",
                        fillColor: Colors.teal[200].withOpacity(0.3),
                        filled: true,
                        labelText: 'Email',
                      ),
                      keyboardType: TextInputType.emailAddress,
                    ),
                      RaisedButton(
                        shape: RoundedRectangleBorder(
                            borderRadius: BorderRadius.circular(25.0),
                            side: BorderSide(
                                width: 1, color: Color(0xffd50000))),
                        color: Color(0xffd50000),
                        onPressed: () async {
                          crudObj.getDataUser(username.text).then((results) {
                            setState(() {
                              user = results;
                            });
                          });
                          signIn();
                          sharedPreferences =
                          await SharedPreferences.getInstance();
                          sharedPreferences.setString(
                              "username", username.text);
                          sharedPreferences.setBool(
                              "isAdmin", user["isAdmin"]);
                        },
                        child: Text(
                          'Sign in with Email',
                          style: TextStyle(
                            fontSize: 20,
                            color: Colors.white,
                          ),
                        ),
                      ),
                    ])
                  ]),
                ),
              );   
     } }

Как я могу читать данные, а затем сохранять их в sharedPreferences или показывать на экране. Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...