Flutter Firestore save value as string
I want to save a value from my Cloud Firestore as a string. I am using Flutter with Dart. I have been able to save it when building the page using MaterialepageRoute:
MaterialPageRoute(
builder: (context) => MainScreen(
currentUserId: firebaseUser.uid,
currentUserGender: document['gender'],
currentUserPreference: document['preference'],
)),
But this isn't an option with all of my pages, so I have to look for something else. I want to get the value from my Firestore Database, and then save it as a string, since I want to:
if (currentUserGender == 'male')
//then do something
I am able to get the currentUser. Here is a picture of my database:
https://imgur.com/KL7HX6P
Thanks.
firebase dart flutter google-cloud-firestore
add a comment |
I want to save a value from my Cloud Firestore as a string. I am using Flutter with Dart. I have been able to save it when building the page using MaterialepageRoute:
MaterialPageRoute(
builder: (context) => MainScreen(
currentUserId: firebaseUser.uid,
currentUserGender: document['gender'],
currentUserPreference: document['preference'],
)),
But this isn't an option with all of my pages, so I have to look for something else. I want to get the value from my Firestore Database, and then save it as a string, since I want to:
if (currentUserGender == 'male')
//then do something
I am able to get the currentUser. Here is a picture of my database:
https://imgur.com/KL7HX6P
Thanks.
firebase dart flutter google-cloud-firestore
add a comment |
I want to save a value from my Cloud Firestore as a string. I am using Flutter with Dart. I have been able to save it when building the page using MaterialepageRoute:
MaterialPageRoute(
builder: (context) => MainScreen(
currentUserId: firebaseUser.uid,
currentUserGender: document['gender'],
currentUserPreference: document['preference'],
)),
But this isn't an option with all of my pages, so I have to look for something else. I want to get the value from my Firestore Database, and then save it as a string, since I want to:
if (currentUserGender == 'male')
//then do something
I am able to get the currentUser. Here is a picture of my database:
https://imgur.com/KL7HX6P
Thanks.
firebase dart flutter google-cloud-firestore
I want to save a value from my Cloud Firestore as a string. I am using Flutter with Dart. I have been able to save it when building the page using MaterialepageRoute:
MaterialPageRoute(
builder: (context) => MainScreen(
currentUserId: firebaseUser.uid,
currentUserGender: document['gender'],
currentUserPreference: document['preference'],
)),
But this isn't an option with all of my pages, so I have to look for something else. I want to get the value from my Firestore Database, and then save it as a string, since I want to:
if (currentUserGender == 'male')
//then do something
I am able to get the currentUser. Here is a picture of my database:
https://imgur.com/KL7HX6P
Thanks.
firebase dart flutter google-cloud-firestore
firebase dart flutter google-cloud-firestore
asked Nov 13 '18 at 9:06
maddeveloper123maddeveloper123
256
256
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You have to build your models after query your user
each get of an item in firestore results in a map of key as string and object:
so you have to recreate your object like this. (this is an example)
Either you can create factory methods in your entity class to create an object back from json or create a map from your object.
class UsersEntityAdapters implements EntityAdapters<UsersEntity>
@override
UsersEntity toEntity(Map<String, dynamic> map, String id)
return new UsersEntity(id,
map['name'],
map['birthday'],
map['gender'],
map['description'],
map['urlPhotoPublic'],
map['urlPhotoStorage'],
nbFaves: map['nbFaves'],
);
@override
Map<String, dynamic> toMap(UsersEntity entity)
final Map<String, dynamic> map = new Map();
map.putIfAbsent('name', () => entity.name);
map.putIfAbsent('birthday', () => entity.birthday);
map.putIfAbsent('gender', () => entity.gender);
map.putIfAbsent('description', () => entity.description);
map.putIfAbsent('urlPhotoPublic', () => entity.urlPhotoPublic);
map.putIfAbsent('urlPhotoStorage', () => entity.urlPhotoStorage);
map.putIfAbsent('deviceToken', () => entity.deviceToken);
map.putIfAbsent('nbFaves', () => entity.nbFaves);
return map;
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53277333%2fflutter-firestore-save-value-as-string%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You have to build your models after query your user
each get of an item in firestore results in a map of key as string and object:
so you have to recreate your object like this. (this is an example)
Either you can create factory methods in your entity class to create an object back from json or create a map from your object.
class UsersEntityAdapters implements EntityAdapters<UsersEntity>
@override
UsersEntity toEntity(Map<String, dynamic> map, String id)
return new UsersEntity(id,
map['name'],
map['birthday'],
map['gender'],
map['description'],
map['urlPhotoPublic'],
map['urlPhotoStorage'],
nbFaves: map['nbFaves'],
);
@override
Map<String, dynamic> toMap(UsersEntity entity)
final Map<String, dynamic> map = new Map();
map.putIfAbsent('name', () => entity.name);
map.putIfAbsent('birthday', () => entity.birthday);
map.putIfAbsent('gender', () => entity.gender);
map.putIfAbsent('description', () => entity.description);
map.putIfAbsent('urlPhotoPublic', () => entity.urlPhotoPublic);
map.putIfAbsent('urlPhotoStorage', () => entity.urlPhotoStorage);
map.putIfAbsent('deviceToken', () => entity.deviceToken);
map.putIfAbsent('nbFaves', () => entity.nbFaves);
return map;
add a comment |
You have to build your models after query your user
each get of an item in firestore results in a map of key as string and object:
so you have to recreate your object like this. (this is an example)
Either you can create factory methods in your entity class to create an object back from json or create a map from your object.
class UsersEntityAdapters implements EntityAdapters<UsersEntity>
@override
UsersEntity toEntity(Map<String, dynamic> map, String id)
return new UsersEntity(id,
map['name'],
map['birthday'],
map['gender'],
map['description'],
map['urlPhotoPublic'],
map['urlPhotoStorage'],
nbFaves: map['nbFaves'],
);
@override
Map<String, dynamic> toMap(UsersEntity entity)
final Map<String, dynamic> map = new Map();
map.putIfAbsent('name', () => entity.name);
map.putIfAbsent('birthday', () => entity.birthday);
map.putIfAbsent('gender', () => entity.gender);
map.putIfAbsent('description', () => entity.description);
map.putIfAbsent('urlPhotoPublic', () => entity.urlPhotoPublic);
map.putIfAbsent('urlPhotoStorage', () => entity.urlPhotoStorage);
map.putIfAbsent('deviceToken', () => entity.deviceToken);
map.putIfAbsent('nbFaves', () => entity.nbFaves);
return map;
add a comment |
You have to build your models after query your user
each get of an item in firestore results in a map of key as string and object:
so you have to recreate your object like this. (this is an example)
Either you can create factory methods in your entity class to create an object back from json or create a map from your object.
class UsersEntityAdapters implements EntityAdapters<UsersEntity>
@override
UsersEntity toEntity(Map<String, dynamic> map, String id)
return new UsersEntity(id,
map['name'],
map['birthday'],
map['gender'],
map['description'],
map['urlPhotoPublic'],
map['urlPhotoStorage'],
nbFaves: map['nbFaves'],
);
@override
Map<String, dynamic> toMap(UsersEntity entity)
final Map<String, dynamic> map = new Map();
map.putIfAbsent('name', () => entity.name);
map.putIfAbsent('birthday', () => entity.birthday);
map.putIfAbsent('gender', () => entity.gender);
map.putIfAbsent('description', () => entity.description);
map.putIfAbsent('urlPhotoPublic', () => entity.urlPhotoPublic);
map.putIfAbsent('urlPhotoStorage', () => entity.urlPhotoStorage);
map.putIfAbsent('deviceToken', () => entity.deviceToken);
map.putIfAbsent('nbFaves', () => entity.nbFaves);
return map;
You have to build your models after query your user
each get of an item in firestore results in a map of key as string and object:
so you have to recreate your object like this. (this is an example)
Either you can create factory methods in your entity class to create an object back from json or create a map from your object.
class UsersEntityAdapters implements EntityAdapters<UsersEntity>
@override
UsersEntity toEntity(Map<String, dynamic> map, String id)
return new UsersEntity(id,
map['name'],
map['birthday'],
map['gender'],
map['description'],
map['urlPhotoPublic'],
map['urlPhotoStorage'],
nbFaves: map['nbFaves'],
);
@override
Map<String, dynamic> toMap(UsersEntity entity)
final Map<String, dynamic> map = new Map();
map.putIfAbsent('name', () => entity.name);
map.putIfAbsent('birthday', () => entity.birthday);
map.putIfAbsent('gender', () => entity.gender);
map.putIfAbsent('description', () => entity.description);
map.putIfAbsent('urlPhotoPublic', () => entity.urlPhotoPublic);
map.putIfAbsent('urlPhotoStorage', () => entity.urlPhotoStorage);
map.putIfAbsent('deviceToken', () => entity.deviceToken);
map.putIfAbsent('nbFaves', () => entity.nbFaves);
return map;
answered Nov 13 '18 at 15:10
mcflymcfly
298211
298211
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53277333%2fflutter-firestore-save-value-as-string%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown