反应本机 - 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的主要内容,如果未能解决你的问题,请参考以下文章