2017-07-24 42 views
0

我正在努力整合我正在使用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> 

任何人都可以幫助我!謝謝!

回答

0

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的解決方案能解決您的問題嗎? –