within my main activity I have the following code:
EditText usernameText;
EditText passwordText;
public void sendLogin (View loginview){
Intent i = new Intent(this, NetworkService.class);
startService(i);
}
Currently, this just sends an intent to the NetworkService, which is handled as follows (truncated):
public class NetworkService extends IntentService {
public NetworkService() {
super("NetworkService");
}
protected void onHandleIntent(Intent i) {
/* HTTP CONNECTION STUFF */
String login = URLEncoder.encode("Username", "UTF-8") + "=" + URLEncoder.encode("XXX", "UTF-8");
login += "&" + URLEncoder.encode("Password", "UTF-8") + "=" + URLEncoder.encode("XXX", "UTF-8");
}
}
Now, what I need to figure out, is how to pass those usernameText
and passwordText
values through to the NetworkService
into the 'XXX', but ALSO within the NetworkService
, I intend (no pun intended), to have it handle multiple intents from various places, one from a login, one from retrieving some information on users using the logon token, for instance.
It's where all my networking will be contained. I was instructed this was the best practise within android applications, to keep the networking separate.
My question is: What is the best way of sending those two variables to the NetworkService
and also how, within the onHandleIntent
of the NetworkService
, do I separate the code to only do what I'm asking it to (login, fetch user information, fetch location data etc)?
Sorry if the answer is a simple one, but I'm very new to application programming.
Thanks