我正在努力集成我正在使用AWS Cognito创建的应用程序的登录屏幕,并一直在按照逐步说明与服务器连接。
第5步(共7步)复制Mobile Hub Helper和自定义代码
将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;
负责初始化单例和其他通用组件的/** *应用程序类。*/公共类应用程序扩展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>谁能帮帮我!?谢谢!
发布于 2017-07-25 22:13:57
杰西
看起来你还没有做第七步,还是做错了?而不是将.application作为活动,而应将其直接添加到应用程序下:
<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所述。
凯文
https://stackoverflow.com/questions/45273277
复制相似问题