2013-05-08 4 views
0

Je suis nouveau dans la programmation Android et même si j'ai réussi à enregistrer la sortie d'un écouteur pour un changement d'état de l'API Telephony, j'ai du mal à accéder à la valeur et à l'écrire dans une base de données. Je peux écrire dans le journal à partir de la classe interne, mais je ne peux pas enregistrer dans DB car je ne peux pas accéder à l'assistant à partir de la classe interne. J'ai également des problèmes pour appeler la méthode getSignalStrengths(). ce sont tous des exercices d'apprentissage et tout conseil serait très apprécié.Utilisation correcte des écouteurs Android

public class MyPhoneStateListener extends PhoneStateListener { 

String sSstr = "initial value"; 

public String getSignalStrengths(){ 
return sSstr; 
} 

public void onSignalStrengthsChanged(SignalStrength signalStrength) { 
super.onSignalStrengthsChanged(signalStrength); 
sSstr = signalStrength.toString(); 
Log.v("Test", sSstr); 
} 
} 
+0

Est-MyPhoneStateListener une classe interne? –

+0

Oui, c'est, aurait dû clarifier. – user2360815

+0

Quel est le nom de la classe externe et est-ce une activité? –

Répondre

0

Vous pouvez accéder à votre base de données à l'intérieur du MyPhoneStateListener dans deux sens

  1. Créer un constructeur MyPhoneStateListener avec un paramètre de contexte et utiliser ce contexte pour instancier votre classe de base de données.
  2. Juste instancier votre classe de base de données en utilisant

    MyDatabase db = new MyDatabase(MainActivity.this) 
    
+0

Merci beaucoup. Exactement ce que j'avais besoin de comprendre. – user2360815

Questions connexes