Android: Create new instance of bundle and pass to intent in dagger in mvp
I would like to use MVP with dagger in my project.
In view I have this method and into this method I will pass some object to the presenter:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
super.onLogin(user, cookie, sessionId, permissions);
presenter.onLogin(user, cookie, sessionId, permissions);
}
Here is my presenter:
public class Presenter implements ILogin.LoginPresenter{
private Context context;
@Inject
public Presenter(Context context) {
this.context = context;
}
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
Intent intent = new Intent(context,MainActivity.class);///?
Bundle bundle = new Bundle();///?
bundle.putString("USER", user.getUserName());
intent.putExtras(bundle);
context.startActivity(intent);
}
I have nothing in module :
@Module
public class LoginModule {
}
My questions:
Is it true that I am creating new object (
Intent
andBundle
) in the presenter when I am using dagger?How could I use dagger to my scenario? That's mean create new instance of intent and bundle in module class?
dagger-2 android-mvp
add a comment |
I would like to use MVP with dagger in my project.
In view I have this method and into this method I will pass some object to the presenter:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
super.onLogin(user, cookie, sessionId, permissions);
presenter.onLogin(user, cookie, sessionId, permissions);
}
Here is my presenter:
public class Presenter implements ILogin.LoginPresenter{
private Context context;
@Inject
public Presenter(Context context) {
this.context = context;
}
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
Intent intent = new Intent(context,MainActivity.class);///?
Bundle bundle = new Bundle();///?
bundle.putString("USER", user.getUserName());
intent.putExtras(bundle);
context.startActivity(intent);
}
I have nothing in module :
@Module
public class LoginModule {
}
My questions:
Is it true that I am creating new object (
Intent
andBundle
) in the presenter when I am using dagger?How could I use dagger to my scenario? That's mean create new instance of intent and bundle in module class?
dagger-2 android-mvp
add a comment |
I would like to use MVP with dagger in my project.
In view I have this method and into this method I will pass some object to the presenter:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
super.onLogin(user, cookie, sessionId, permissions);
presenter.onLogin(user, cookie, sessionId, permissions);
}
Here is my presenter:
public class Presenter implements ILogin.LoginPresenter{
private Context context;
@Inject
public Presenter(Context context) {
this.context = context;
}
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
Intent intent = new Intent(context,MainActivity.class);///?
Bundle bundle = new Bundle();///?
bundle.putString("USER", user.getUserName());
intent.putExtras(bundle);
context.startActivity(intent);
}
I have nothing in module :
@Module
public class LoginModule {
}
My questions:
Is it true that I am creating new object (
Intent
andBundle
) in the presenter when I am using dagger?How could I use dagger to my scenario? That's mean create new instance of intent and bundle in module class?
dagger-2 android-mvp
I would like to use MVP with dagger in my project.
In view I have this method and into this method I will pass some object to the presenter:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
super.onLogin(user, cookie, sessionId, permissions);
presenter.onLogin(user, cookie, sessionId, permissions);
}
Here is my presenter:
public class Presenter implements ILogin.LoginPresenter{
private Context context;
@Inject
public Presenter(Context context) {
this.context = context;
}
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
Intent intent = new Intent(context,MainActivity.class);///?
Bundle bundle = new Bundle();///?
bundle.putString("USER", user.getUserName());
intent.putExtras(bundle);
context.startActivity(intent);
}
I have nothing in module :
@Module
public class LoginModule {
}
My questions:
Is it true that I am creating new object (
Intent
andBundle
) in the presenter when I am using dagger?How could I use dagger to my scenario? That's mean create new instance of intent and bundle in module class?
dagger-2 android-mvp
dagger-2 android-mvp
edited Nov 20 '18 at 8:35


Benjamin
2,49821533
2,49821533
asked Nov 19 '18 at 14:22
sayres kabir
432213
432213
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
The point of MVP pattern is to separate business logic from its view. It's a common good practice not to have any android framework related code in your presenter (here your presenter depends on Context
, Intent
and Bundle
from the android framework).
In your case, you should not create your Intent
and Bundle
in your presenter since it belongs to your view (MainActivity
).
Your onLogin
function could look like this:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
// whatever is your business logic
view.showMainActivity(user);
}
where view
is an interface implemented by your MainActivity
and injected in your presenter.
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
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%2f53376642%2fandroid-create-new-instance-of-bundle-and-pass-to-intent-in-dagger-in-mvp%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
The point of MVP pattern is to separate business logic from its view. It's a common good practice not to have any android framework related code in your presenter (here your presenter depends on Context
, Intent
and Bundle
from the android framework).
In your case, you should not create your Intent
and Bundle
in your presenter since it belongs to your view (MainActivity
).
Your onLogin
function could look like this:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
// whatever is your business logic
view.showMainActivity(user);
}
where view
is an interface implemented by your MainActivity
and injected in your presenter.
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
add a comment |
The point of MVP pattern is to separate business logic from its view. It's a common good practice not to have any android framework related code in your presenter (here your presenter depends on Context
, Intent
and Bundle
from the android framework).
In your case, you should not create your Intent
and Bundle
in your presenter since it belongs to your view (MainActivity
).
Your onLogin
function could look like this:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
// whatever is your business logic
view.showMainActivity(user);
}
where view
is an interface implemented by your MainActivity
and injected in your presenter.
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
add a comment |
The point of MVP pattern is to separate business logic from its view. It's a common good practice not to have any android framework related code in your presenter (here your presenter depends on Context
, Intent
and Bundle
from the android framework).
In your case, you should not create your Intent
and Bundle
in your presenter since it belongs to your view (MainActivity
).
Your onLogin
function could look like this:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
// whatever is your business logic
view.showMainActivity(user);
}
where view
is an interface implemented by your MainActivity
and injected in your presenter.
The point of MVP pattern is to separate business logic from its view. It's a common good practice not to have any android framework related code in your presenter (here your presenter depends on Context
, Intent
and Bundle
from the android framework).
In your case, you should not create your Intent
and Bundle
in your presenter since it belongs to your view (MainActivity
).
Your onLogin
function could look like this:
@Override
public void onLogin(User user, Cookie cookie, UUID sessionId, List<Permission> permissions) {
// whatever is your business logic
view.showMainActivity(user);
}
where view
is an interface implemented by your MainActivity
and injected in your presenter.
edited Nov 20 '18 at 17:40
answered Nov 20 '18 at 8:56


Benjamin
2,49821533
2,49821533
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
add a comment |
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
I think it is not good idea store those information in to preferences . I think preferences job is something else and it is not secure. I think is better to use eventBus or something else!!Dude what is your idea? @Benjamin
– sayres kabir
Nov 20 '18 at 9:28
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
it was just an example...
– Benjamin
Nov 20 '18 at 10:31
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%2f53376642%2fandroid-create-new-instance-of-bundle-and-pass-to-intent-in-dagger-in-mvp%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