AWS Cognito集成

问题描述:

我正在努力整合我正在使用AWS Cognito创建的应用程序的登录屏幕,并一直遵循一步一步的指示来连接服务器。AWS Cognito集成

STEP 5的7 复制移动枢纽助手和自定义代码

复制的src/main/JAVA/COM/amazonaws从你下载到你的Android Studio项目中的java/COM文件夹中的代码文件夹。

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

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

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

package com.your.app;

import android.support.multidex.MultiDexApplication; import android.util.Log;

import com.amazonaws.mobile.AWSMobileClient;

/** *应用程序类负责初始化单例和其他常见组件。 */ 公共类应用扩展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类,即App打开登录屏幕并以某种方式启动与服务器的通信以传输键入到文本字段中的字符串。

<?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> 

任何人都可以帮助我!谢谢!

Jessy,

看起来你没有做第7步或做错了吗?而不是有。应用作为一项活动,你应该,而不是直接将其添加在应用程序:

<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步中所述使用启动活动。

Kevin

+0

Kevin的解决方案能解决您的问题吗? –