MVP with databinding custom model class












0














I have a mobile application. I'm using MVP pattern with data binding library. But i will ask a question.



I have a model class to send data to the web services.



Class's name is called by CreateTaskBody.java.



@SerializedName("username")
private String email;

@SerializedName("taskName")
private String taskName;

@SerializedName("startDate")
private String startDate;

@SerializedName("endDate")
private String endDate;


I am using this model class with data binding. But I don't know where to go to this model class.



EXAMPLE



1)
Fragment class in



binding.get.setPresenter(myPresenter);
presenter.body.dateString = "ASDASDASD";


In XML



 <variable
name="presenter"
type="net.asd.ui.tasks.createtask.CreateTaskPresenterImpl"/>
android:text="@{presenter.body.dateString}" />


OR



2)
Fragment class in



CreateTaskBody body = new CreateTaskBody();
body.dateString = "ASDASDASD";


In XML



<variable
name="body"
type="net.asd.model.tasks.createtask.CreateTaskBody"/>
android:text="@{body.dateString}" />


Which of these structures should I use? 1 OR 2 ?










share|improve this question





























    0














    I have a mobile application. I'm using MVP pattern with data binding library. But i will ask a question.



    I have a model class to send data to the web services.



    Class's name is called by CreateTaskBody.java.



    @SerializedName("username")
    private String email;

    @SerializedName("taskName")
    private String taskName;

    @SerializedName("startDate")
    private String startDate;

    @SerializedName("endDate")
    private String endDate;


    I am using this model class with data binding. But I don't know where to go to this model class.



    EXAMPLE



    1)
    Fragment class in



    binding.get.setPresenter(myPresenter);
    presenter.body.dateString = "ASDASDASD";


    In XML



     <variable
    name="presenter"
    type="net.asd.ui.tasks.createtask.CreateTaskPresenterImpl"/>
    android:text="@{presenter.body.dateString}" />


    OR



    2)
    Fragment class in



    CreateTaskBody body = new CreateTaskBody();
    body.dateString = "ASDASDASD";


    In XML



    <variable
    name="body"
    type="net.asd.model.tasks.createtask.CreateTaskBody"/>
    android:text="@{body.dateString}" />


    Which of these structures should I use? 1 OR 2 ?










    share|improve this question



























      0












      0








      0







      I have a mobile application. I'm using MVP pattern with data binding library. But i will ask a question.



      I have a model class to send data to the web services.



      Class's name is called by CreateTaskBody.java.



      @SerializedName("username")
      private String email;

      @SerializedName("taskName")
      private String taskName;

      @SerializedName("startDate")
      private String startDate;

      @SerializedName("endDate")
      private String endDate;


      I am using this model class with data binding. But I don't know where to go to this model class.



      EXAMPLE



      1)
      Fragment class in



      binding.get.setPresenter(myPresenter);
      presenter.body.dateString = "ASDASDASD";


      In XML



       <variable
      name="presenter"
      type="net.asd.ui.tasks.createtask.CreateTaskPresenterImpl"/>
      android:text="@{presenter.body.dateString}" />


      OR



      2)
      Fragment class in



      CreateTaskBody body = new CreateTaskBody();
      body.dateString = "ASDASDASD";


      In XML



      <variable
      name="body"
      type="net.asd.model.tasks.createtask.CreateTaskBody"/>
      android:text="@{body.dateString}" />


      Which of these structures should I use? 1 OR 2 ?










      share|improve this question















      I have a mobile application. I'm using MVP pattern with data binding library. But i will ask a question.



      I have a model class to send data to the web services.



      Class's name is called by CreateTaskBody.java.



      @SerializedName("username")
      private String email;

      @SerializedName("taskName")
      private String taskName;

      @SerializedName("startDate")
      private String startDate;

      @SerializedName("endDate")
      private String endDate;


      I am using this model class with data binding. But I don't know where to go to this model class.



      EXAMPLE



      1)
      Fragment class in



      binding.get.setPresenter(myPresenter);
      presenter.body.dateString = "ASDASDASD";


      In XML



       <variable
      name="presenter"
      type="net.asd.ui.tasks.createtask.CreateTaskPresenterImpl"/>
      android:text="@{presenter.body.dateString}" />


      OR



      2)
      Fragment class in



      CreateTaskBody body = new CreateTaskBody();
      body.dateString = "ASDASDASD";


      In XML



      <variable
      name="body"
      type="net.asd.model.tasks.createtask.CreateTaskBody"/>
      android:text="@{body.dateString}" />


      Which of these structures should I use? 1 OR 2 ?







      android android-databinding android-mvp






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 20 at 14:10









      Kling Klang

      32.3k156288




      32.3k156288










      asked Nov 20 at 12:31









      Barış Sağlam

      13




      13
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Follow second way in addition to below code.



          presenter.body = new CreateTaskBody(); // set model in presenter
          binding.body = presenter.body; // now set layout model referred to presenter model


          Actually by this way you are not breaking MVP pattern because your layout model is still referred to presenter model. Instead if you directly pass model in layout that will not be following MVP pattern.






          share|improve this answer





















          • When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
            – Barış Sağlam
            Nov 20 at 13:41










          • Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
            – Khemraj
            Nov 20 at 13:41












          • Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
            – Barış Sağlam
            Nov 20 at 14:19










          • From where you get data in CreateTaskBody to show your layout?
            – Khemraj
            Nov 20 at 15:08










          • Can you see the comment below?
            – Barış Sağlam
            Nov 20 at 17:59











          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
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53393063%2fmvp-with-databinding-custom-model-class%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









          0














          Follow second way in addition to below code.



          presenter.body = new CreateTaskBody(); // set model in presenter
          binding.body = presenter.body; // now set layout model referred to presenter model


          Actually by this way you are not breaking MVP pattern because your layout model is still referred to presenter model. Instead if you directly pass model in layout that will not be following MVP pattern.






          share|improve this answer





















          • When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
            – Barış Sağlam
            Nov 20 at 13:41










          • Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
            – Khemraj
            Nov 20 at 13:41












          • Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
            – Barış Sağlam
            Nov 20 at 14:19










          • From where you get data in CreateTaskBody to show your layout?
            – Khemraj
            Nov 20 at 15:08










          • Can you see the comment below?
            – Barış Sağlam
            Nov 20 at 17:59
















          0














          Follow second way in addition to below code.



          presenter.body = new CreateTaskBody(); // set model in presenter
          binding.body = presenter.body; // now set layout model referred to presenter model


          Actually by this way you are not breaking MVP pattern because your layout model is still referred to presenter model. Instead if you directly pass model in layout that will not be following MVP pattern.






          share|improve this answer





















          • When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
            – Barış Sağlam
            Nov 20 at 13:41










          • Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
            – Khemraj
            Nov 20 at 13:41












          • Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
            – Barış Sağlam
            Nov 20 at 14:19










          • From where you get data in CreateTaskBody to show your layout?
            – Khemraj
            Nov 20 at 15:08










          • Can you see the comment below?
            – Barış Sağlam
            Nov 20 at 17:59














          0












          0








          0






          Follow second way in addition to below code.



          presenter.body = new CreateTaskBody(); // set model in presenter
          binding.body = presenter.body; // now set layout model referred to presenter model


          Actually by this way you are not breaking MVP pattern because your layout model is still referred to presenter model. Instead if you directly pass model in layout that will not be following MVP pattern.






          share|improve this answer












          Follow second way in addition to below code.



          presenter.body = new CreateTaskBody(); // set model in presenter
          binding.body = presenter.body; // now set layout model referred to presenter model


          Actually by this way you are not breaking MVP pattern because your layout model is still referred to presenter model. Instead if you directly pass model in layout that will not be following MVP pattern.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 20 at 13:26









          Khemraj

          11.4k22967




          11.4k22967












          • When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
            – Barış Sağlam
            Nov 20 at 13:41










          • Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
            – Khemraj
            Nov 20 at 13:41












          • Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
            – Barış Sağlam
            Nov 20 at 14:19










          • From where you get data in CreateTaskBody to show your layout?
            – Khemraj
            Nov 20 at 15:08










          • Can you see the comment below?
            – Barış Sağlam
            Nov 20 at 17:59


















          • When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
            – Barış Sağlam
            Nov 20 at 13:41










          • Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
            – Khemraj
            Nov 20 at 13:41












          • Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
            – Barış Sağlam
            Nov 20 at 14:19










          • From where you get data in CreateTaskBody to show your layout?
            – Khemraj
            Nov 20 at 15:08










          • Can you see the comment below?
            – Barış Sağlam
            Nov 20 at 17:59
















          When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
          – Barış Sağlam
          Nov 20 at 13:41




          When I want to set the variables in the CreateTaskBody class, presenter.body.setUsername ("asd"); Is the code part the right method?
          – Barış Sağlam
          Nov 20 at 13:41












          Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
          – Khemraj
          Nov 20 at 13:41






          Yes that would be recommended way. Assuming that you are using data binding with BaseObservable or ViewModel, your changes should refract UI.
          – Khemraj
          Nov 20 at 13:41














          Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
          – Barış Sağlam
          Nov 20 at 14:19




          Well, I suppose I don't use any model class to update the UI. For example, get a SendData.java class to send to WebService. I want to add data to variables in this class and send them to Webservis in the Presenter class. Should I create this class in Presenter or should I create it in the Fragment and send it to Presenter?
          – Barış Sağlam
          Nov 20 at 14:19












          From where you get data in CreateTaskBody to show your layout?
          – Khemraj
          Nov 20 at 15:08




          From where you get data in CreateTaskBody to show your layout?
          – Khemraj
          Nov 20 at 15:08












          Can you see the comment below?
          – Barış Sağlam
          Nov 20 at 17:59




          Can you see the comment below?
          – Barış Sağlam
          Nov 20 at 17:59


















          draft saved

          draft discarded




















































          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.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • 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.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53393063%2fmvp-with-databinding-custom-model-class%23new-answer', 'question_page');
          }
          );

          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







          Popular posts from this blog

          Wiesbaden

          Marschland

          Dieringhausen