I'm trying to access to strings values in my res/stringsxml:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="fr">
<string name="app_name">Solutis</string>
</resources>
Here I'm trying to do the call:package fr.package;
public class SOAP extends Application{
String NAMESPACE;
String URL;
String SOAP_ACTION;
@Override
public void onCreate() {
super.onCreate();
NAMESPACE = getResources().getString(R.string.NAMESPACE);
URL = getResources().getString(R.string.URL);
SOAP_ACTION = getResources().getString(R.string.SOAP_ACTION);
}
private static String TAG = SOAP.class.getSimpleName();
public Reponse envoieDemande(String method, String xml) {
}
}
Error:
08-18 04:21:18.839 27859-27874/? E/AndroidRuntime﹕ FATAL EXCEPTION: IntentService[EnvoieService] Process: fr.package, PID: 27859 java.lang.NullPointerException at android.content.ContextWrapper.getResources(ContextWrapper.java:89) at fr.package.SOAP.(SOAP.java:37) at fr.package.notifications.EnvoieService.onHandleIntent(EnvoieService.java:96) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.os.HandlerThread.run(HandlerThread.java:61)
How I call the SOAP class:
private class AsyncSoapCall extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
SOAP soap = new SOAP();
//soap.envoieDemande("SendLead", xml);
Reponse ret = soap.envoieDemande("SendLead", xml);
System.out.println(ret.getCode() + ret.getMessage() + ret.getOption());
if (ret.getCode().equals("1")) {
GoogleAnalytics ga= new GoogleAnalytics(getActivity());
ga.envoieTracker(idApplication, demandeId, logement, typeForm);
}
return null;
}
Edit: Initialize in onCreate()
public class SOAP extends Application {
String NAMESPACE;
String URL;
String SOAP_ACTION;
@Override
public void onCreate() {
NAMESPACE = getResources().getString(R.string.NAMESPACE);
URL = getResources().getString(R.string.URL);
SOAP_ACTION = getResources().getString(R.string.SOAP_ACTION);
}
}
It doesn't work