I am then later trying to update the RealtimeDB after a value change in the app (this takes place on a different screen) with these blocks,
now i have 2 issues. when i add the listener, the performance of the app really dips (@Mark, i know you’ve asked abotu these types of performance issues)
issue two, when i use these blocks to overwrite the previous realtimeDB list due to a change in the mirror stored variable (i.e. a user takes data), the app sends a single value only and this overwrites everything in the notes bucket with that single value instead of rewriting all values stored in “allproblembehaivorcounts”
DB after i use these blocks. In this example, I changed the value of the the item at index 0 in ‘stored variable allproblembehaviors’ via a button push in app.
The problem is that you are changing only one item a time then update the whole node of the DB data which has only one child what makes the node to be having only the last updated item .
I think you can fix this problem using Object has the whole childs and update the whole node of your DB .
@davidsobhysabetb, thank you for your response! could you show a block example of what you mean?
Let me clarify for what stated above. Maybe i’m misunderstanding what you are saying. When I change the value of 1 item in that list in the app, I change it in the variable ‘stored allProblemBehaivorCounts’ first and then i save that variable to firebase. My thought is that even though i change 1 item in the list, it should still save the whole list to firebase.
what is that for ? do you notice that the sum of this should be an index of the list ? or you just want to add the elements of that list to the left one ?!
yeah. so, it’s kinda complicated. it’s like a classroom beahivor tracker.
there are 5 behaivor s lots for each of the 10 students. i only display 1 data sheet with dynamic content like slider rows, button rows, switch rows, text entry ros. and all are based on settings like which studnet, how many beahviors, what type of format for data recording
so the red circle gets the 1st position of all 5 possible behavior slots based on the student, and then the green circle moves the postion forward to the appropriate child behaivor. so for examle. if i am child 2. in the list i’m number 2-1*5 which means i will start at the 5th index. then i get the index for which slider the measure came from. this lets me know which behaivor slot was altered. i then add that to the first index (5) and this lets me know which index out of the 50 i want to change.
Are you suggesting that because of where I have the blocks to save to the database, being below blocks that I was changing a specific value in in that variable, that maybe that’s why it saving that specific indexed value only to the database when I do save?
(((Index of current child in child name list) - 1)*5)+(index of component from component list)
This is how I find the index of the value I want to change in the variable stored allProvlemBehavioraCounts
@davidsobhysabetb thanks for your suggestion. I’ll try this later on today! To verify, it looks as if, I get the index of the number I want to change from the stored variable with those 50 values. Then on the save Black for the database, I join that index number at the end of the key? Wouldn’t that create another level? I like that idea, but I think it would make managing a change in the dB
Then I put a listener on the username key? Would that return a value anytime any value is changed in a sub node
currently, scores are synced across devices. but, recording format needs to be the same as well as child and behavior names. I plan to apply this same idea with all of those. I will shaare my app in a couple weeks when it has those imlemented fully! I am really excited. Being able to do things colaboratively really adds to the value of an app!