java - retrieving data from firebase database and storing in an array list -


i attempting create small course aggregator program in form of android application.

my courses stored in firebase realtime database, viewable firebase console , appears fine.

the issue have written java method connect db, retrieve data db, cast data custom java object course, attach custom java object coursecardmodel, , save coursecardmodel object arraylist.

the connection database made successfully, , snapshot generates contains correct information, have verified looping through snapshot , printing variable course name of each course object out successfully. problem when method completes, reason arraylist returns empty, though upon checking size of arraylist throughout snapshot iteration can see cardmodel objects being added it.

if has in solving hugely appreciated, new firebase.

generatecourses() method

private arraylist<coursecardmodel> generatecoursecards() {      coursecardmodellist = new arraylist<coursecardmodel>();     cardmodel = new coursecardmodel();      dbref =  firebasedatabase.getinstance().getreference().child("courses");       // retrieve course data firebase db , cast course object     dbref.addvalueeventlistener(new valueeventlistener() {         @override         public void ondatachange(datasnapshot snapshot) {             log.e("count " ,"" + snapshot.getchildrencount());             (datasnapshot postsnapshot: snapshot.getchildren()) {                  c = postsnapshot.getvalue(course.class);                 system.out.println("course info: " + c.getcoursename());                  cardmodel.setcourse(c);                  coursecardmodellist.add(cardmodel);                  system.out.println("course card model list size: " + coursecardmodellist.size());              }         }         @override         public void oncancelled(databaseerror databaseerror) {             log.e("the read failed: ", databaseerror.getmessage());         }      });      system.out.print("end of method array size check: " + coursecardmodellist.size());      return coursecardmodellist;  } 

logcat output

01-11 09:57:57.105 28709-28780/coursematch.coursematchuk d/fa: connected remote service  01-11 09:57:57.105 28709-28780/coursematch.coursematchuk v/fa: processing queued service tasks: 4  01-11 09:57:59.625 28709-28709/coursematch.coursematchuk e/count: 200  01-11 09:57:59.650 28709-28709/coursematch.coursematchuk i/system.out: end of method array size check: 0course info: physiotherapy bsc (hons)  01-11 09:57:59.650 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 1  01-11 09:57:59.650 28709-28709/coursematch.coursematchuk i/system.out: course info: history , archaeology ba (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 2  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course info: arabic , french ma (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 3  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course info: social policy , spanish ba (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 4  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course info: modern languages (french , spanish) , greek (with year abroad) ma (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 5  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course info: politics ba (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 6  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course info: nursing (child) bsc (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 7  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course info: electrical , electronic engineering meng (hons)  01-11 09:57:59.655 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 8  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: english , russian ma (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 9  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: french , medieval history ma (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 10  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: french , modern history ma (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 11  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: physics sports science bsc (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 12  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: electronic engineering management beng (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 13  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: optometry bsc (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 14  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: social policy , sociology ba (hons)  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 15  01-11 09:57:59.660 28709-28709/coursematch.coursematchuk i/system.out: course info: comparative literature , french , russian (with year abroad) ma (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 16  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: statistics economics , finance bsc (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 17  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: mechanical engineering beng (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 18  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: international business management (spain) bba (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 19  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: ancient history , archaeology ba (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 20  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: electronic engineering meng (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 21  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: drama , music ba (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 22  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: chemistry bsc (hons)  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 23  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course info: medicine mb  01-11 09:57:59.665 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 24  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: linguistics ma (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 25  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: aeronautical engineering beng (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 26  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: international business , marketing bsc (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 27  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: german , theatre , performance ba (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 28  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: social anthropology ba (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 29  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: social policy , spanish ba (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 30  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: modern languages (french , spanish) , greek ma (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 31  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course info: accounting , mathematics , statistics ba (hons)  01-11 09:57:59.670 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 32  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: art history , french ma (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 33  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: accounting , business analysis , technology ba (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 34  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: modern languages (russian , spanish) , english (with integrated year abroad) ma (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 35  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: social policy , crime ba (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 36  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: international business , marketing bsc (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 37  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: statistics economics , language bsc (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 38  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: social work ba (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 39  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course info: combined honours in social sciences ba (hons)  01-11 09:57:59.675 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 40  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course info: comparative literature , russian , spanish (with year abroad) ma (hons)  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 41  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course info: automotive engineering beng (hons)  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 42  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course info: electrical engineering meng (hons)  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 43  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course info: comparative literature , russian , spanish ma (hons)  01-11 09:57:59.680 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 44  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course info: economics , finance (with european study) ba (hons)  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 45  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course info: mathematics statistics , finance bsc (hons)  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 46  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course info: french , german studies ba (hons)  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 47  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course info: sociology ba (hons)  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 48  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course info: electronic engineering management meng (hons)  01-11 09:57:59.685 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 49  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course info: mechanical engineering beng (hons)  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 50  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course info: medicine (graduate entry) bmbs  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 51  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course info: electrical engineering beng (hons)  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 52  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course info: automotive engineering meng (hons)  01-11 09:57:59.690 28709-28709/coursematch.coursematchuk i/system.out: course card model list size: 53

the results call dbref.addvalueeventlistener() returned asynchronously in ondatachange callback...which more hasn't occurred @ point return method why coursecardmodellist empty. you'll need structure logic accordingly.


Comments

Popular posts from this blog

python - How to insert QWidgets in the middle of a Layout? -

python - serve multiple gunicorn django instances under nginx ubuntu -

module - Prestashop displayPaymentReturn hook url -