2016-07-15 9 views
1

Ich versuche, eine kleine App für den Standort mit Google Play Service zu tun. Die Sache ist, ich habe diesen Fehler die ganze Zeit und ich weiß nicht warum. HierAndroid Studio ist nicht abstrakt und überschreibt nicht die abstrakte Methode auf

ist der Code:

import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.common.api.GoogleApiClient; 
import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks; 
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener; 
//import com.google.android.gms.location.LocationListener; 
import com.google.android.gms.location.LocationRequest; 
import com.google.android.gms.location.LocationServices; 

public class Principal extends AppCompatActivity implements ConnectionCallbacks, OnConnectionFailedListener { 

    private GoogleApiClient mGoogleApiClient; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_principal); 

    gps = new MockLocationProvider(LocationManager.GPS_PROVIDER, Principal.this); 
    net = new MockLocationProvider(LocationManager.NETWORK_PROVIDER, Principal.this); 

    mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .addApi(LocationServices.API) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .build(); 

    mGoogleApiClient.connect(); 

    } 
} 

Und der Fehler ist:

Error:(74, 8) error: Principal is not abstract and does not override abstract method onConnectionSuspended(int) in ConnectionCallbacks 

Wenn ich implementiert nicht ConnectionCallbacks, OnConnectionFailedListener, ich habe diesen Fehler:

Error:(116, 41) error: incompatible types: Principal cannot be converted to ConnectionCallbacks 

Wenn ich diese Optionen entferne:

.addConnectionCallbacks(this) 
.addOnConnectionFailedListener(this) 

und nicht implementiert ConnectionCallbacks, OnConnectionFailedListener, ich habe keine Fehler, aber GooglePlay Service ist nicht verbunden.

Ich habe dieses auf Gradle:

compile 'com.google.android.gms:play-services-location:7.3.0' 

Was mache ich falsch?

Danke für alle.

Antwort

1

Die unmittelbare Fehler, den Sie bekommen von Ihrer Klasse verursacht wird Principal wird als die Umsetzung der ConnectionCallbacks Schnittstelle deklariert, ohne in dieser Schnittstelle definiert alle Methoden zu implementieren. siehe Vom Javadoc for ConnectionCallbacks können wir, dass diese Schnittstelle zwei Methoden beinhaltet:

abstract void onConnected(Bundle connectionHint)
abstract void onConnectionSuspended(int cause)

Sie müssen Implementierungen für beide von ihnen zu schaffen, nach welchem ​​Punkt sollte Ihr erster Fehler weg. Möglicherweise gibt es andere Probleme in Ihrem Code, die nach der Behebung angezeigt werden.