Usando o putExtra para passar valores para o serviço intencional
dentro da minha atividade principal eu tenho o seguinte código:
EditText usernameText;
EditText passwordText;
public void sendLogin (View loginview){
Intent i = new Intent(this, NetworkService.class);
startService(i);
}
Atualmente, isso apenas envia uma intenção para o NetworkService, que é tratado da seguinte maneira (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");
}
}
Agora, o que eu preciso descobrir é como passar essesusernameText
epasswordText
valores até oNetworkService
no 'XXX', mas TAMBÉM dentro doNetworkService
, Pretendo (sem trocadilhos) lidar com várias intenções de vários lugares, uma de um login, uma de recuperar algumas informações sobre usuários usando o token de logon, por exemplo. É onde toda a minha rede será contida. Fui instruído que essa era a melhor prática dentro dos aplicativos do Android, para manter a rede separada.
Minha pergunta é: Qual é a melhor maneira de enviar essas duas variáveis para oNetworkService
e também como, dentro doonHandleIntent
doNetworkService
, separo o código para fazer apenas o que estou pedindo (login, buscar informações do usuário, buscar dados de localização, etc)?
Desculpe se a resposta é simples, mas sou muito novo na programação de aplicativos.
obrigado