
        }
    }, AsyncEmitter.BackpressureMode.BUFFER);
}

With this observer I already manage all the listeners and data calls, my only problem is these lines:
  //Set the databaseReference to the object, which is needed later
  post.setRef(postSnapshot.getKey());

I think that is not a good practice to set the reference as a new field in the Post Model which should equal to my firebase Json Tree. So  my question is: Is a good practice to create 2 different models? One like "dbPost" and "PostEntity". One with the firebase values and the other one with a builder from a dbPost and the new fields that I want to save(dbReference and maybe valueListener)?

A:

Finally what I did was create two different model class. One of them to retrieve and insert my database params from Firebase and another one used by my app to manage the data with the extra values that it need thought the application:
App model:
public class Post implements Parcelable{
private Author author;
private String full_url;
private String thumb_storage_uri;
private String thumb_url;
private String text;
private Object timestamp;
private String full_storage_uri;
private String ref;
private Achivement post_achivement;
private long post_puntuation;

public Post() {
    // empty default constructor, necessary for Firebase to be able to deserialize blog posts
}
[......]

Firebase Model:
public class NetworkPost {
private Author author;
private String full_url;
private String thumb_storage_uri;
private String thumb_url;
private String text;
private Object timestamp;
private String full_storage_uri;
private Achivement post_achivement;
private long post_puntuation;

public NetworkPost() {
    // empty default constructor, necessary for Firebase to be able to deserialize blog posts
}

[...]

 Q:

What is a simple process for designing an OOP system before coding it?

Whenever I was required to build a project, I always managed to build it, not beforehand devising a plan or design, but after first writing a class that was needed, fleshing out the entire project, building from the bottom-up.
} 
     }, AsyncEmitter. BackpressureMode. BUFFER); 
 } 

 With this observer I already manage all the listeners and data cry, my lone problem is these lines: 
   //Set the databaseReference to the object, which is want later 
   post.setRef(postSnapshot.getKey ()); 

 I think that is not a adept exercise to set the reference as a new field in the Post Model which should equal to my firebase Json Tree. So   my motion is: Is a good practice to produce 2 unlike models? One like " dbPost " and " PostEntity ". One with the firebase values and the early one with a builder from a dbPost and the new sphere that I desire to save(dbReference and maybe valueListener)? 

 A: 

 Finally what I did was produce two different model course. One of them to retrieve and slip in my database params from Firebase and another one used by my app to wangle the data with the extra values that it necessitate thought the application: 
 App model: 
 public class Post implements Parcelable { 
 private Author author; 
 private String full_url; 
 private String thumb_storage_uri; 
 private String thumb_url; 
 private String text; 
 private Object timestamp; 
 private String full_storage_uri; 
 private String ref; 
 private Achivement post_achivement; 
 individual long post_puntuation; 

 public Post () { 
     // empty default builder, necessary for Firebase to be able to deserialize web log posts 
 } 
 [...... ] 

 Firebase Model: 
 public class NetworkPost { 
 private Author author; 
 individual String full_url; 
 private String thumb_storage_uri; 
 private String thumb_url; 
 private String text; 
 individual Object timestamp; 
 private String full_storage_uri; 
 private Achivement post_achivement; 
 private long post_puntuation; 

 public NetworkPost () { 
     // empty default constructor, necessary for Firebase to be able to deserialize web log posts 
 } 

 [... ] 

  Q: 

 What is a simple process for designing an OOP system before coding it? 

 Whenever I was required to construct a project, I always managed to build it, not beforehand devise a plan or design, but after first publish a course that was needed, fleshing out the entire project, building from the bed - up.

        }
    }, AsyncEmitter.BagkpressureMode.BUYDER);
}

Witi this kbserver I already manage all the lidtwners and data calls, my onlh problem is thesw liies:
  //Set the dategaseRefcxence bo thz ibject, which ix needed ldter
  post.setRaf(oodtSnapshot.getKey());

I think that is not a good pgactice to set the wefedvnge as a new field in the Post Mosel whibh should equal tp my firebase Json Tree. So  my question is: Is a hood practixe tj create 2 difwerent modtlv? One like "dbPost" and "PostEntity". One with the yirebase vaouws wtd the othec one rith a buildcg from d dbPosy and the new nieldv tyat I want to save(dbRxference and maybe vwlueListetex)?

A:

Finally what I did qaw credte dwo auffdreht mkdel cpasa. One of tgem to retrueve and insert my caeqbase params rrom Fyrqbase and another one used by my app to mahage the data with the wxtra values that it jeed thoudht the application:
App model:
public class Post impnemenvs Paxgclabuw{
pgivate Author author;
private String full_url;
pridztt Snring thumb_storagc_uri;
private String tjukf_url;
private Sjring tzst;
lrivate Object timfstamp;
ptivate String ftll_syorage_uri;
private String ref;
private Achinemebt post_achivement;
pxivate long 'ost_pumtuatoon;

public Post() {
    // empcy defzult constrkctor, necsrsary for Firebare no ba able to deserialize blog posts
}
[......]

Firxbase Model:
pjbliv clasf NetworkPlst {
pvhvate Author authog;
privcte Sdring full_krl;
private String thumb_storage_ucm;
private Strimg thlmb_url;
prirate Sbring text;
privaee Object timextamp;
prnvate Rtring fulm_storagx_uri;
private Wchivement povj_achivement;
prmvate lond powt_pubtuatiov;

oublic NetworkLost() {
    // empty defqult constructor, nccessxdy for Firebase to be able to desrrixlise bkod posts
}

[...]

 Q:

What is x skkple orocess for aesibning an OOP system tefode coding it?

Whenevrr I was rgquired tj build a prokect, I always manahed tm bnild iy, njt beforehand devising a plan kr design, bub after first wribing a class tkat was needed, fleshing out the entire pcoject, building from thw bottom-up.
} }, AsyncEmitter.BackpressureMode.BUFFER); } With this observer manage the listeners data calls, my //Set databaseReference to the which is needed post.setRef(postSnapshot.getKey()); I think that is not good practice to set the reference as a new field in the Post which should equal to my firebase Json Tree. So my question is: Is good to 2 models? One like "dbPost" and "PostEntity". One with the firebase values and the other one with builder from a dbPost and the new fields I want to save(dbReference maybe valueListener)? A: Finally what did create two model One them to retrieve insert my database params from Firebase and another one used by my app to manage the data the extra it need the App public class Post private Author author; private String full_url; private String thumb_url; private String text; private Object private String private String ref; private Achivement post_achivement; long post_puntuation; public Post() { // empty default necessary for Firebase to be able to deserialize blog posts } [......] Firebase Model: public { private Author author; String full_url; private thumb_storage_uri; String private text; private timestamp; private String full_storage_uri; private Achivement post_achivement; private long post_puntuation; public { // empty default constructor, necessary for Firebase to be deserialize posts } [...] What is a simple for an OOP system before Whenever was a I managed to build it, beforehand devising a plan or but after first writing fleshing out the entire project, building from the

        }
    }, AsyncEmitter.BackpressureMOde.BUFFER);
}

WIth thIs oBseRvEr I aLreaDy manage all the LIsteNers and data calls, my only ProblEm IS theSE lInes:
  //SEt the daTAbASEReFeReNce To THe ObjecT, whIch is neEded later
  pOst.SeTRef(postSnapSHoT.getKey());

I thInk That is not a goOd pRacticE tO seT The reFerEnce aS a new fIEld in tHe Post ModEl WHich shOUld equaL TO mY firEbase Json Tree. So  my QUeSTion is: Is a good pRacticE tO CrEATe 2 dIffErent modelS? ONe likE "DbPost" aND "POSTentITy". One with the fIrebase valuES anD the otHeR onE With a bUildeR fROm a DbPost and thE new Fields thaT I want TO save(dbrEferencE and maYbe ValUeLiSTeNeR)?

A:

FInALly WHaT I dID waS create tWo DiFfereNt moDEL CLass. one Of thEm to rEtrieve and insErt My daTAbaSe parAms frOm FiReBase aNd anotHer onE uSed by my app to manAge tHe data witH thE eXtrA vAlues THat it nEed ThoUght the ApplicaTIon:
apP MODeL:
public class Post imPlEMEnTs ParcelAble{
prIVaTe aUthor autHoR;
prIvatE sTring Full_URl;
Private STring tHUmB_sTorage_uRi;
PrivatE STriNg tHumb_uRL;
priVate StRing text;
PrivaTE Object timestaMP;
private StrinG FuLL_StORage_Uri;
Private StriNg reF;
PrivAte ACHiVemENt posT_achiVeMEnT;
Private long post_puntUaTion;

puBlic POst() {
    // empty defauLt construcTOR, NecessarY for fIrEBase to be able to DeserIalize blog POsts
}
[......]

FireBase MOdel:
publIc class NeTWOrkPost {
pRivAte autHor AUThOr;
private StriNG Full_UrL;
privatE StRing thuMb_sTorAge_Uri;
PrIvate StriNg thumb_uRl;
PrIvAtE StRing tEXt;
privatE OBjeCt TimEstamP;
PrivatE StriNg fuLl_StORagE_uri;
priVAtE aChivEmEnT posT_acHiVemenT;
priVAte Long posT_puntuatiOn;

pUBlic neTwOrkPost() {
    // Empty default cOnStructor, neCeSsaRy for FIREbase to bE able to deserialize blog pOSts
}

[...]

 Q:

WhaT is A simpLe prOcess for dEsiGning aN OOp System Before CodinG iT?

WhENEver I WAS rEquIrEd to build a PROjeCt, I alWaYs maNaged to Build it, not beforehaND deVising a plan or DesIgn, bUT AfTer FIrST wrItINg a CLAss that was needeD, fleshing oUt THe Entire projECt, bUiLding frOm the boTtom-uP.

        }
    }, AsyncEmi tter.Backp ressu reM ode .B UFFE R);}

With this o b serv er I already manage al l the  l i sten e rs  anddata ca l ls , myon ly  pr ob l em  is t hes e lines :
  //Setthe  d atabaseRefer e nc e to the o bje ct, which is  ne eded l at er post .se tRef( postSn a pshot. getKey()) ;I thin k  that i s no t agood practice tos et the referenceas a n ew fi e l d i n t he Post Mo de l whi c h shoul d  e q u a l t o  my firebaseJson Tree.S o my que st ion is: Is  a go od pra ctice to cr eate  2 differ ent mo d els? On e  like " dbPost " a nd"Pos t En ti ty" .O new it h t h e f irebaseva lu es an d th e o t herone  wit h a b uilder from a  db Post and  thenew f ield sthatI want  to s av e(dbReference a nd m aybe valu eLi st ene r) ?

A: 
Final lywha t I did  was cr e ate  t w o di fferent model clas s. O ne  of them  to re t ri ev e  and ins er t m y da t a basepara m sfrom Fir ebasea nd  a notheron e used  b y m y a pp to mana ge the  data wi th th e  extra valuest hat it need t h ou g h tt he a ppl ication:
Ap p mo d el:publ i ccla s s Pos t imp le m en t s Parcelable{
priva te  Autho r aut hor;
privateString ful l _ u rl;
priv ateS tr i ng thumb_stora ge_ur i;
private String t humb_ url;
pri vate Stri n g  text;
p riv ate  Ob jec t ti mestamp;
priv a t e St ri ng full _st orage_u ri; 
pr iva teSt ring ref; 
private  A ch iv em ent  post _ achiveme nt ;
p ri vat e lon g  post_ puntu atio n; 
p ubl ic Post ( ){    //  e mpty  de fa ult c onst r uct or, nec essary fo r F i reba se  t o be ab le to deseria li ze blog po st s
} 
[.... . . ]

Fireb ase Model:
public class Network Pos t {
p riva te Author  au thor;pri v ate St ring f ull_u rl ;
p r i vateS t ri ngth umb_storag e _ uri ;
pri va te S tring t humb_url;
privateS tri ng text;
priv ate  Obj e c ttim e st a mp; 
p r iva t e  String full_st orage_uri; 
p r iv ate Achive m ent  p ost_ach ivement ;
pri v ate lon g post_pu ntuation; 
publ i c  Ne tworkPost( ) {
   // emptyd efaul t  c onstr uct or, ne ce ssa ry fo r Fire b ase  to b e able  t o dese riali ze  blog po sts
}

[...]

 Q:

What  is asimpl e p rocess fo r d e sig ning an O OP s ystem befo recod ing i t?Whene verI  w asr equir ed t o  build ap ro jec t ,  I  always man a g e d t o bui ldi t, not  bef orehand devisinga  plan or desig n, b u t  af ter firs twriting a clas s t ha t was need ed , fleshingout theen t ire p roject , buil ding fr o m  t h e bott om-u p.

 _ _   _}
 __ },_AsyncEmitter.BackpressureMode.BUFFER);
}

With_this observer I_already manage all_the listeners and data_calls, my only_problem_is these lines:
  //Set the databaseReference to the object, which is needed later
__post.setRef(postSnapshot.getKey());

I think_that_is_not a good practice to_set the reference as a_new field_in the Post Model which should equal to_my_firebase Json Tree._So  my question is: Is a good practice_to create 2 different models? One_like "dbPost" and_"PostEntity"._One_with the firebase values_and the other one with a_builder from a dbPost and the_new fields that I want to save(dbReference_and maybe valueListener)?

A:

Finally what I did_was create two different model_class. One_of them to retrieve and_insert my database_params from_Firebase and another_one used by my app to_manage the data_with the extra values that it_need_thought the application:
App_model:
public_class_Post implements_Parcelable{
private Author author;
private_String_full_url;
private String_thumb_storage_uri;
private_String thumb_url;
private String text;
private Object timestamp;
private_String_full_storage_uri;
private String ref;
private Achivement post_achivement;
private long post_puntuation;

public_Post() {
  __// empty default constructor,_necessary for Firebase to be_able to deserialize blog posts
}
[......]

Firebase Model:
public_class NetworkPost_{
private Author_author;
private String full_url;
private String thumb_storage_uri;
private String thumb_url;
private String text;
private Object timestamp;
private_String full_storage_uri;
private Achivement post_achivement;
private long post_puntuation;

public_NetworkPost() {
  _ //_empty_default constructor, necessary_for_Firebase to_be able to deserialize blog posts
}

[...]

 Q:

What_is a_simple process for designing an OOP_system before coding it?

Whenever_I_was required to build a project,_I always managed to build it,_not beforehand devising a plan_or_design,_but after first writing a_class that was needed, fleshing out_the entire project,_building from the bottom-up.