I'm trying to develop an app for sending emails, actually I just started studying java.
I created strings "email_address" and "pass" in my sharedpreferences so user can change them. Then I try to send email, using that data -->
//Creating a new session
session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
//Authenticating the password
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(sharedPrefs.getString("email_address", "a"), sharedPrefs.getString("pass", "a")); }
});
try { <...>
And then I got this :
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference
Android Studio points me at this line -->
return new PasswordAuthentication(sharedPrefs.getString("email_address", "a"), sharedPrefs.getString("pass", "a")); }
If I hardcode my gmail and password in that line, it works perfectly, but I need an option to change these (in case of user can't build this app from my source code). Please help, I already spent 3 hours browsing this site and androiddevelopers too. :(