Usando putExtra para pasar valores al servicio de intento

Dentro de mi actividad principal tengo el siguiente código:

EditText usernameText;
EditText passwordText;
public void sendLogin (View loginview){
    Intent i = new Intent(this, NetworkService.class);
    startService(i);
}

Actualmente, esto simplemente envía un intento al servicio de red, que se maneja de la siguiente manera (truncado):

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"); 
    }
}

Ahora, lo que necesito averiguar, es cómo pasar esosusernameText ypasswordText valores a través de laNetworkService en el 'XXX', pero también dentro de laNetworkServiceTengo la intención (no pretendía hacer un juego de palabras) de que maneje múltiples intentos desde varios lugares, uno desde un inicio de sesión, uno desde la recuperación de cierta información sobre los usuarios que utilizan el token de inicio de sesión, por ejemplo. Es donde estará contenida toda mi red. Me indicaron que esta era la mejor práctica dentro de las aplicaciones de Android, para mantener la red separada.

Mi pregunta es: ¿Cuál es la mejor manera de enviar esas dos variables a laNetworkService y también cómo, dentro de laonHandleIntent delNetworkService, ¿separo el código para hacer solo lo que le pido (iniciar sesión, obtener información del usuario, obtener datos de ubicación, etc.)?

Lo siento si la respuesta es simple, pero soy muy nuevo en la programación de aplicaciones.

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta