2016-04-06 27 views
0

'a dönüştürülemiyor Google Analytics'i Android'deki uygulamasına (LibGDX) eklemeye çalışıyorum.Android.app.Application, GoogleAnalyticsApp (libgdx)

package com.mygdx.one4all;  
import com.google.android.gms.analytics.GoogleAnalytics; 
import com.google.android.gms.analytics.Tracker; 
import com.mygdx.one4all.R.xml;  
import android.app.Application;  
public class AnalyticsApp extends Application { 
    private Tracker mTracker; 
    synchronized public Tracker getDefaultTracker() { 
     if (mTracker == null) { 
      GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); 
      mTracker = analytics.newTracker(xml.global_tracker); 
     } 
     return mTracker; 
    } 
} 

İnsanlar Manifest değiştirmeye tavsiye: Ben

@Override 
protected void onCreate(Bundle savedInstanceState) { 
//... 
    AnalyticsApp an = (AnalyticsApp) getApplication(); 
//... 

Benim AnalyticsApp çalıştığınızda Ama ClassCastException

04-06 15:15:07.359: E/AndroidRuntime(7564): java.lang.RuntimeException: 
Unable to start activity 
ComponentInfo{com.mygdx.one4all/com.mygdx.one4all.AndroidLauncher}: 
java.lang.ClassCastException: android.app.Application cannot be cast to 
com.mygdx.one4all.AnalyticsApp 

olsun. Ama benim uygulamam var.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.mygdx.one4all" 
    android:versionCode="9" 
    android:versionName="1.0" > 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="com.android.vending.BILLING" /> 

    <uses-sdk 
     android:minSdkVersion="9" 
     android:targetSdkVersion="23" /> 

    <application   
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/GdxTheme" > 
     <activity 
      android:name="com.mygdx.one4all.AndroidLauncher" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" />   
    </application> 

    <application android:name=".AnalyticsApp" 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/GdxTheme"> 
    </application> 

</manifest> 

Neyi yanlış yapıyorum?

cevap

3

Sizin durumunuzda iki bölümünüz var, bu yanlış. Bir tanesini takın ve Uygulama sınıfınızla android: name niteliğini ekleyin. Ben pratik aynı bölümü var

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/GdxTheme" android:name="com.mygdx.one4all.AnalyticsApp">

+0

:

Böyle bir şey olmalıdır. Benim için çalışmıyor. ' " –

+0

2 uygulama bölümü, bir etikete sığdır Lebedevsd

+0

Evet! Şimdi anladım. Cevabınızı düzenleyebilir ve bir kullanmamı ister misiniz? O zaman en iyi cevap olarak işaretleyeceğim. –