2015-12-07 2 views
2

Привет, я пытаюсь разместить Google Analytics в своем приложении, и я вижу документацию, но не работаю для меня. У меня есть эта ошибка. Ошибка: (51 , 9) ошибка: не удается найти символ переменной mTracker:Ошибка: (51, 9) ошибка: не удается найти символьную переменную mTracker Google Analytics

AnalyticsApplication.java

public class AnalyticsApplication extends Application { 
private Tracker mTracker; 

/** 
* Gets the default {@link Tracker} for this {@link Application}. 
* @return tracker 
*/ 
synchronized public Tracker getDefaultTracker() { 
    if (mTracker == null) { 
     GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
     // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG 
     mTracker = analytics.newTracker(R.xml.global_tracker); 
    } 
    return mTracker; 
} 

манифеста:

<?xml version="1.0" encoding="utf-8"?> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 


<application 
    ..... 
</application> 

MainActivity

public class MainActivity extends Activity { 

int n; 
String adc; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    // Obtain the shared Tracker instance. 
    MYPACKAGE.AnalyticsApplication application = (MYPACKAGE.AnalyticsApplication) getApplication(); 
    mTracker = application.getDefaultTracker(); 

...

Ошибка: Ошибка: (51, 9) Ошибка: не удается найти символ переменной mTracker

ИСПРАВЛЕНО: Проблема было то, что мне нужно положить это в MainActivity:

общественного класса MainActivity расширяет активность {

int n; 
String adc; 
**private Tracker mTracker;** 
@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    // Obtain the shared Tracker instance. 
+1

Проблема заключается в том, что мне нужно поставить " частный трекер mTracker; в основной деятельности –

ответ

0

Ваш класс MainActivity использует поле mTracker, который определен в приложении.

Предлагаем Вам изменить код следующим образом:

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    // Obtain the shared Tracker instance. 
    MYPACKAGE.AnalyticsApplication application = (MYPACKAGE.AnalyticsApplication) getApplication(); 
    Tracker tracker = application.getDefaultTracker(); // Changed. 
+0

Не работает для меня –

+0

Какая часть и что сообщение об ошибке? –

0

добавить это в манифесте:

<application 
name = "yourpackagename.applicationclassname" 
    ..... 
</application> 

попробовать это, это будет работать