反应本机 - MainActivity.java

Posted

技术标签:

【中文标题】反应本机 - MainActivity.java【英文标题】:React Native - MainActivity.java 【发布时间】:2016-04-18 07:57:30 【问题描述】:

我正在尝试在我使用 react native 制作的应用中实现 google 登录。但是,我基本上必须更改整个 MainActivity.java 文件。

我会改的

public class MainActivity extends ReactActivity 

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 登录的 Google github 存储库。

我目前遇到的另一个问题是,我必须更改 MainActivity.java 才能让 Google 登录正常工作。当我尝试实现其他东西时,比如说视频捕获,我是创建一个新的 MainActivity.java 文件,例如 VideoActivity.java,还是对一个 MainActivity.java 文件中的所有内容进行所有更改。

谢谢

【问题讨论】:

【参考方案1】:

AFAIK,ReactActivity 扩展 (android.support.v4.app.)FragmentActivity,您可以将它传递给 enableAutoManage。使用它作为你的基类应该没有问题。

Sign-In api 本身不需要任何 UI 代码,但为了节省一些样板代码,建议与需要 FragmentActivity 的 GoogleApiClient.Builder.autoManage 一起使用。即使对于没有 FragmentActivity 的应用程序,他们仍然可以在没有 enableAutoManage 的情况下使用 Sign-In api(然后他们应该手动调用其 GoogleApiClient 的 connect() / disconnect() ,如下所示: https://developers.google.com/android/guides/api-client)

【讨论】:

以上是关于反应本机 - MainActivity.java的主要内容,如果未能解决你的问题,请参考以下文章

本机动画模块不可用 - 反应本机

反应本机导航:无法解析模块反应导航

反应 JS 与反应本机

反应导航上的反应本机缺少导航

将反应应用程序与反应本机应用程序合并

反应本机状态栏不适用于android中的反应导航