Używanie putExtra do przekazywania wartości do zamierzonej usługi
w ramach mojej głównej działalności mam następujący kod:
EditText usernameText;
EditText passwordText;
public void sendLogin (View loginview){
Intent i = new Intent(this, NetworkService.class);
startService(i);
}
Obecnie wysyła to zamiar do usługi sieciowej, która jest obsługiwana w następujący sposób (obcięta):
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");
}
}
Teraz muszę się dowiedzieć, jak je przekazaćusernameText
ipasswordText
wartości doNetworkService
do „XXX”, ale TAKŻE wNetworkService
, Zamierzam (nie zamierzam tego robić), aby obsługiwał wiele intencji z różnych miejsc, jeden z logowania, jeden z pobierania niektórych informacji o użytkownikach używających tokena logowania, na przykład. To tam wszystkie moje sieci będą zamknięte. Poinstruowano mnie, że jest to najlepsza praktyka w aplikacjach dla Androida, aby utrzymać oddzielność sieci.
Moje pytanie brzmi: Jaki jest najlepszy sposób wysyłania tych dwóch zmiennych doNetworkService
a także jak, w ramachonHandleIntent
zNetworkService
, czy oddzielam kod, aby robić tylko to, o co go proszę (logowanie, pobieranie informacji o użytkowniku, pobieranie danych o lokalizacji itp.)?
Przepraszam, jeśli odpowiedź jest prosta, ale jestem bardzo nowy w programowaniu aplikacji.
Dzięki