MVP with databinding custom model class
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
add a comment |
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
add a comment |
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
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
android android-databinding android-mvp
edited Nov 20 at 14:10
Kling Klang
32.3k156288
32.3k156288
asked Nov 20 at 12:31
Barış Sağlam
13
13
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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.
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 withBaseObservable
orViewModel
, 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 inCreateTaskBody
to show your layout?
– Khemraj
Nov 20 at 15:08
Can you see the comment below?
– Barış Sağlam
Nov 20 at 17:59
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%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
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.
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 withBaseObservable
orViewModel
, 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 inCreateTaskBody
to show your layout?
– Khemraj
Nov 20 at 15:08
Can you see the comment below?
– Barış Sağlam
Nov 20 at 17:59
add a comment |
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.
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 withBaseObservable
orViewModel
, 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 inCreateTaskBody
to show your layout?
– Khemraj
Nov 20 at 15:08
Can you see the comment below?
– Barış Sağlam
Nov 20 at 17:59
add a comment |
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.
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.
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 withBaseObservable
orViewModel
, 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 inCreateTaskBody
to show your layout?
– Khemraj
Nov 20 at 15:08
Can you see the comment below?
– Barış Sağlam
Nov 20 at 17:59
add a comment |
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 withBaseObservable
orViewModel
, 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 inCreateTaskBody
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
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.
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.
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%2f53393063%2fmvp-with-databinding-custom-model-class%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