我正在努力整合我正在使用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>
任何人都可以帮助我!谢谢!
Kevin的解决方案能解决您的问题吗? –