【问题标题】:AWS Cognito IntegrationAWS Cognito 集成
【发布时间】:2017-07-25 22:13:56
【问题描述】:

我正在努力将我正在创建的应用程序的登录屏幕与 AWS Cognito 集成,并且一直按照分步说明连接服务器。

第 5 步,共 7 步 复制 Mobile Hub 帮助程序和自定义代码

将下载的代码中的 src/main/java/com/amazonaws 文件夹复制到 Android Studio 项目的 java/com 文件夹中。

此文件夹包含一组为您自定义生成的帮助程序类。这些是根据您的项目配置以及在您配置项目时为您创建的 AWS 云资源和标识符生成的。这些类简化了支持您的项目所需的所有 SDK 的使用。

它还包含 AWSMobileClient 的源代码,它是一个单例组件,它引导应用程序并创建身份管理器以使用 Amazon Cognito 建立用户身份。如果您的项目使用 Mobile Hub NoSQL 功能,AmazonAws 文件夹还将包含模型类,以简化您对配置的 DynamoDB 表的访问。

我相信我在这部分的后半部分遇到了问题,因为我不确定单例组件是什么或如何将其插入代码中。我已经将它创建为一个 Java 类并包含了包含的代码

打包 com.your.app;

导入 android.support.multidex.MultiDexApplication; 导入android.util.Log;

导入 com.amazonaws.mobile.AWSMobileClient;

/** * 负责初始化单例和其他通用组件的应用程序类。 */ 公共类 Application 扩展 MultiDexApplication {

private final static String LOG_TAG = Application.class.getSimpleName();

@Override
public void onCreate() {
    Log.d(LOG_TAG, "Application.onCreate - Initializing application...");
    super.onCreate();
    initializeApplication();
    Log.d(LOG_TAG, "Application.onCreate - Application initialized OK");
}

private void initializeApplication() {

    // Initialize the AWS Mobile Client
    AWSMobileClient.initializeMobileClientIfNecessary(getApplicationContext());

    // ... Put any application-specific initialization logic here ...
}

}

但是我在清单中得到一条红线,因为它没有连接到 XML 文件,但是说明从来没有说添加 XML 或将其附加到 XML 文件,所以我不确定如何连接这些功能。我想应该在启动后填充 Application 类,即应用程序打开登录屏幕,它以某种方式启动与服务器的通信以传输输入到文本字段中的字符串。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.jason.mvp">

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="Dreamer"
    android:roundIcon="@mipmap/ic_launcher"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".LoginActivity" android:theme="@style/NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Application"/>
    <activity android:name=".MainActivity" />
    <activity android:name=".RegisterActivity" android:theme="@style/NoActionBar"
        android:parentActivityName="com.example.jason.mvp.LoginActivity" >


    </activity>
</application>

</manifest>

谁能帮帮我!?谢谢!

【问题讨论】:

    标签: android amazon-web-services singleton amazon-cognito


    【解决方案1】:

    杰西,

    您似乎还没有执行第 7 步,还是做错了?与其将 .application 作为 Activity,不如将其直接添加到应用程序下:

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="Dreamer"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:name="com.example.jason.mvp.Application">
    

    您是否已开始“用户登录”的集成步骤?您也必须完成这些步骤。显示登录视图的一种方法是使用启动活动,如用户登录集成步骤的第 3 步中所述。

    凯文

    【讨论】:

      猜你喜欢
      • 2019-03-26
      • 2018-11-01
      • 2019-12-02
      • 2019-07-21
      • 2020-08-27
      • 2023-03-08
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多