2015-07-07 6 views
0

Я делаю приложение для Android и пытаюсь интегрировать социальный вход в приложение с помощью Azure Mobile Services.Ошибка Azure Mobile Services Android

public class SocialLogin extends Activity implements UserAuthenticationCallback { 
      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
        // on create code 
      } 

     // All the code 

      @Override 
      public void onCompleted(MobileServiceUser user, Exception exception, ServiceFilterResponse response) { 
       if (exception == null) { 
        //Take user to the logged in view 
        cacheUserToken(user); 
       } else { 
        Log.e("SocialLogin", "User did not login successfully"); 
       } 
      } 
} 

У меня возникают две ошибки из-за метода onCompleted.

Error:(176, 5) error: method does not override or implement a method from a supertype 
Error:(37, 8) error: SocialLogin is not abstract and does not override abstract method onCompleted(MobileServiceUser,Exception,ServiceFilterResponse) in UserAuthenticationCallback 

Редактировать: Исправлена ​​ошибка, удаляя файл .jar в моей библиотеке.

ответ

1

За мое понимание «UserAuthenticationCallback» не является интерфейсом, так как многие из образцов кодирования:

MobileServiceClient mClient = new MobileServiceClient(
      "MobileServiceUrl", 
      "AppKey", 
      this).withFilter(new ProgressFilter()); 
mClient.login(MobileServiceAuthenticationProvider.MicrosoftAccount, 
       new UserAuthenticationCallback() { 
        @Override 
        public void onCompleted(MobileServiceUser user, 
          Exception exception, ServiceFilterResponse response) { 

         synchronized(mAuthenticationLock) 
         { 
          if (exception == null) { 
           cacheUserToken(mClient.getCurrentUser()); 
          } else { 
           createAndShowDialog(exception.getMessage(), "Login Error"); 
          } 

         } 
        } 
       }); 

Поскольку это не интерфейс, мы не можем реализовать его, как вы делали. Вы можете создать класс, который наследует UserAuthenticationCallback (но класс не может наследовать Activity, поскольку мы можем наследовать только один класс) или просто создать новый экземпляр UserAuthenticationCallback, как и код в образце.

Кроме того, я хотел бы предложить вам проверить https://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started-users/ и https://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started-data/ на заполненный образец того, как добавить аутентификацию в приложение для мобильных устройств для мобильных устройств.

+0

Привет! Спасибо за помощь. Я исправил проблему. По-видимому, именно так я импортировал библиотеку в проект Android Studio. – Ophitect

+0

Рад узнать, что вы исправили проблему. –

Смежные вопросы