Autore Topic: AsyncTask e Login  (Letto 513 volte)

Offline GhostEnd

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
AsyncTask e Login
« il: 07 Marzo 2015, 21:13:58 CET »
0
Salve a tutti, vorrei ricevere delle spiegazioni in merito a una cosa che non mi è molto chiara.
Ho un programma strutturato come l'immagine in allegato.
Allora io effettuo il login e fin qui nessun problema, però poi non mi è chiaro come si comporta android quando devo passare ad inviare dati a una pagina che è raggiungibile solo dopo essersi loggati, cioè utilizzando la stessa sessione di connessione, che se non sbaglio quando si usa il browser dura fino a quando non si chiude. Per capirci se io mi loggo a anddev.it (senza schiacciare ricordami) resterò loggato per tutta la sessione di navigazione ma quando riapro il browser devo riloggarmi.
Se con android eseguo un asynctask attraverso il quale mi loggo, quando eseguirò il secondo asyntask non risulterò più loggato perchè è una nuova sessione di connessione giusto?
Come faccio per rimanere loggato durante tutto il tempo che la mia app resta aperta dopo il login?
Servono i cookie? Sono molto ignorante in materia

Offline kayser

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
Re:AsyncTask e Login
« Risposta #1 il: 11 Marzo 2015, 14:11:48 CET »
0
Ciao,
se ho capito bene tu vuoi che, dopo il login, quando mandi i dati del form dalla seconda activity vuoi che quei dati siano "associati" alla sessione dell'utente.


Nel limite delle mie (scarsissime) conoscenze io farei in questo modo: quando fai il login o salvi in una sharedPref. o mandi via intent.put() l'id/username dell'utente alla seconda activity. Qui riuserai quei dati quando compili il form (quindi, ad esempio, se la richiesta è di tipo POST inserirai il valore dell'username).
Ovviamente poi lato server ti prendi prima l'id dell'utente e poi fai quello che devi.

Alternativa: implementare l'equivalente del concetto di sessione via cookie, ma sinceramente non so come si possa implementare in android  :(

Offline GhostEnd

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
Re:AsyncTask e Login
« Risposta #2 il: 11 Marzo 2015, 14:58:42 CET »
0
Ciao,
se ho capito bene tu vuoi che, dopo il login, quando mandi i dati del form dalla seconda activity vuoi che quei dati siano "associati" alla sessione dell'utente.


Nel limite delle mie (scarsissime) conoscenze io farei in questo modo: quando fai il login o salvi in una sharedPref. o mandi via intent.put() l'id/username dell'utente alla seconda activity. Qui riuserai quei dati quando compili il form (quindi, ad esempio, se la richiesta è di tipo POST inserirai il valore dell'username).
Ovviamente poi lato server ti prendi prima l'id dell'utente e poi fai quello che devi.

Alternativa: implementare l'equivalente del concetto di sessione via cookie, ma sinceramente non so come si possa implementare in android  :(
Oppure, anche se potrei dire una grandissima cavolata, se io riuscissi a creare una sola connessione Http valida per tutto il tempo che l'app è aperta potrebbe funzionare? Cioè se io creo
Codice: [Seleziona]
DefaultHttpClient httpclient = new DefaultHttpClient();quando effettuo il login e poi trovo il modo di utilizzare sempre il mio httpclient in tutti gli asynctask potrebbe andare?
In teoria così facendo la sessione di connessione non termina e dovrei rimanere loggato

Offline kayser

  • Nuovo arrivato
  • *
  • Post: 5
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
Re:AsyncTask e Login
« Risposta #3 il: 13 Marzo 2015, 11:01:34 CET »
0
Sinceramente non so se si possa fare e comunque, ancora, non saprei nemmeno dirti se sia una soluzione efficiente oppure no.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:AsyncTask e Login
« Risposta #4 il: 13 Marzo 2015, 11:23:40 CET »
0
Se accetti un consiglio, non gestire "a mano" le connessioni http ed il relativo client, usa una libreria (esempio okhttp).
Al giorno d'oggi praticamente tutte le app non amatoriali usano questo approccio.
Scrivi meno di un decimo del codice che scriveresti "a mano" e ti gestiscono in automatico tutte le problematiche che conosci e che nemmeno immagini.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store