2017-07-09 3 views
0

Ich baue einfache Android-App, um Java-Codierung zu lernen. Da die App ziemlich gut ist, möchte ich sie bei Google Play veröffentlichen und verfolgen, was Nutzer darin tun. Aber ich habe die Firebase-Event-Integration beibehalten. Ich habe MainActivity.java wo ich mit diesem Aufruf:Firebase-Ereignis in verschiedenen Klassen

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
mFirebaseAnalytics.setAnalyticsCollectionEnabled(true); 

Jetzt habe ich Knöpfe, die ich in anderen Klasse verfolgen möchten, Buttons.java

 Play.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View view, MotionEvent motionEvent) { 

      if (motionEvent.getAction() == MotionEvent.ACTION_UP) { 
       if (MusicPlayer.playerStatus) { 
        mediaPlayer.stop(); 
        MainActivity.getStartOrStopBtn().setImageResource(R.drawable.play); 
       } else if (LoadingAnimation.hasEnded()) { 
        try { 
         MusicList.next(0, mainListLocation, mainRadioName); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
       } 
      } 
      return true; 
     } 
    }); 

Hier muss ich folgenden Code enthalten, aber ich kann nicht herausfinden, wie man:

Bundle bundle = new Bundle(); 
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); 
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); 
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); 
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, 
bundle); 

mich jemand auf Anfängerniveau erklären kann, wie dieses Ereignis Firebase auf, dass bestimmte Taste Verfolgung aufzunehmen, die in anderer Klasse ist?

Vielen Dank im Voraus!

Antwort

1

Sie können nur in der zweiten Klasse die Instanz wieder bekommen:

mFirebaseAnalytics = FirebaseAnalytics.getInstance(this); 
Bundle bundle = new Bundle(); 
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); 
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); 
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); 
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); 
Verwandte Themen