React Native - MainActivity.java

Я пытаюсь реализовать вход в Google в своем приложении, которое я делаю с помощью response native. Однако мне нужно в основном изменить весь файл MainActivity.java.

Я изменю это

public class MainActivity extends ReactActivity {

to

public class MainActivity extends AppCompatActivity implements
    GoogleApiClient.OnConnectionFailedListener,
    View.OnClickListener {

Это меняет многое, поскольку больше не расширяет ReactActivity, а расширяет AppCompatActivity.

Мой вопрос: можно ли изменить то, что расширяет MainActivity? Разве ReactActivity не требуется? Кроме того, похоже, что у ReactActivity есть методы, которые AppCompatActivity не поддерживает, например protected List<ReactPackage> getPackages() {.

Кстати, я получаю AppCompatActivity: https://github.com/googlesamples/google-services/blob/master/android/signin/app/src/main/java/com/google/samples/quickstart/signin/SignInActivity.java, который является репозиторием Google на github для входа в Google.

Другой вопрос, который у меня возник в настоящее время, заключается в том, что мне нужно изменить MainActivity.java, чтобы заставить Google Sign In работать. Когда я пытаюсь реализовать что-то еще, скажем, при захвате видео, я создаю новый файл MainActivity.java, например VideoActivity.java, или делаю все изменения для всего в одном файле MainActivity.java.

Спасибо


person Jill    schedule 13.01.2016    source источник


Ответы (1)


AFAIK, ReactActivity extends (android.support.v4.app.) FragmentActivity, и вы можете передать его для enableAutoManage. Не должно возникнуть проблем с использованием его в качестве базового класса.

Сам по себе API для входа не требует какого-либо кода пользовательского интерфейса, но для экономии шаблонного кода предлагается использовать его вместе с GoogleApiClient.Builder.autoManage, для которого требуется FragmentActivity. Даже для приложений, не имеющих FragmentActivity, они все равно могут использовать API входа без enableAutoManage (тогда они должны вручную вызвать connect () / disconnect () своего GoogleApiClient, как описано здесь: https://developers.google.com/android/guides/api-client)

person Isabella Chen    schedule 29.01.2016