Autore Topic: Gestione activity in un file esterno  (Letto 377 volte)

Offline Frasso182

  • Nuovo arrivato
  • *
  • Post: 16
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 10
Gestione activity in un file esterno
« il: 03 Giugno 2015, 09:21:08 CEST »
0
Buongiorno, uso Android Studio da meno di una settimana e vorrei togliermi un dubbio.
Ho creato un'activity LoginActivity che dovrebbe effettuare il login all'applicazione tramite una chiamata a un'API.
Le chiamate alle API avrei intenzione di metterle tutte in file esterni, come ho sempre fatto.
La libreria che uso per effettuare le chiamate è la seguente: Android Asynchronous Http Client .
Il problema è che dal file esterno (ho creato un file ManagerUtente.java con la chiamata all'API che dovrebbe effettuare il login) non riesco a gestire gli eventi di successo o fallimento della chiamata, dato che la chiamata è asincrona.
La chiamata funziona, però non riesco a gestire i due eventi. Inoltre dal file esterno non riesco a gestire l'intent : Intent i = new Intent(getApplicationContext(), HomeActivity.class) mi da errore su getApplicationContext e lo stesso errore lo ritrovo nella gestione dei toast messages: Toast.makeText(getApplicationContext(), "Login OK", Toast.LENGTH_LONG).show().

C'è un modo per lavorare da file esterno o mi consigliate di spostare tutto nel file LoginActivity.java ?

Grazie
Ciao

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Gestione activity in un file esterno
« Risposta #1 il: 03 Giugno 2015, 11:41:23 CEST »
0
Quando parli di file esterno, la gente capisce che parli di un file nella memoria del cell o SD card. Specifica dicendo in una classe esterna. Una classe che non ha nulla a che fare con fragment e acticvity non ha il context. Non esiste il metod . Devi passargli un oggetto di tipo Context nel costruttore
La libreria che usi nella guida specifica di usare una classe esterna statica se non sbaglio. Perché non seguì quel consiglio?

iClaude

  • Visitatore
Re:Gestione activity in un file esterno
« Risposta #2 il: 03 Giugno 2015, 12:42:52 CEST »
0
getApplicationContext() è un metodo di Context, quindi devi passare un reference ad un Context alla tua classe esterna, gestito tipicamente tramite un WeakReference.

Offline Frasso182

  • Nuovo arrivato
  • *
  • Post: 16
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Nexus 4
  • Sistema operativo:
    Windows 10
Re:Gestione activity in un file esterno
« Risposta #3 il: 10 Giugno 2015, 17:55:17 CEST »
0
Ciao, ho letto bene la documentazione della libreria e ho usato una classe esterna statica. Problema risolto.

Grazie ciao