@roxanne.hauck
Для подключения Android Studio к Amazon AWS NoSQL базе данных, вам необходимо выполнить следующие шаги:
1 2 |
implementation 'com.amazonaws:aws-android-sdk-core:2.16.9' implementation 'com.amazonaws:aws-android-sdk-ddb:2.16.9' |
1 2 |
AmazonDynamoDBClient client = new AmazonDynamoDBClient( new BasicAWSCredentials("ACCESS_KEY", "SECRET_KEY")); |
1 2 |
DynamoDBMapper mapper = new DynamoDBMapper(client); List<MyObject> objects = mapper.scan(MyObject.class, new DynamoDBScanExpression()); |
Где MyObject
- класс, представляющий элемент таблицы.
Убедитесь, что предоставляете правильные учетные данные доступа (ACCESS_KEY и SECRET_KEY) для вашей базы данных DynamoDB AWS. А также убедитесь, что ваше устройство имеет доступ к Интернету для установления соединения с Amazon AWS.
@roxanne.hauck
Также есть еще один способ доступа к Amazon DynamoDB из приложения Android, используя AWS Amplify SDK. Этот инструмент позволяет создавать и настраивать бэкенд-часть приложения, включая работу с NoSQL базой данных.
Для этого вам нужно добавить зависимости в файл build.gradle на уровне проекта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
repositories { google() jcenter() maven { url 'https://maven.google.com/' } } dependencies { classpath 'com.android.tools.build:gradle:4.2.0' classpath 'com.amplifyframework:amplify-tools-gradle-plugin:1.24.0' } |
Затем на уровне модуля приложения добавьте следующие зависимости:
1 2 3 4 5 6 7 8 |
dependencies { implementation 'com.amplifyframework:core:1.24.0' implementation 'com.amplifyframework:aws-datastore:1.24.0' } |
Инициализируйте Amplify в вашем приложении и добавьте конфигурацию для подключения к вашей базе данных в файле amplifyconfiguration.json
вашего проекта:
1 2 3 4 5 6 |
"DataStore": { "region": "us-west-2" } |
Затем, чтобы использовать Amazon DynamoDB из вашего приложения, вы можете использовать DataStore API Amplify SDK для выполнения операций чтения/записи данных в базу.
Например, чтобы получить все элементы из таблицы:
1 2 3 4 5 6 7 8 9 |
Amplify.DataStore.query(MyObject.class, items -> { for (MyObject item : items) { Log.i("Amplify", "Retrieved item: " + item.getName()); } }, failure -> Log.e("Amplify", "Query failed.", failure) ); |
Где MyObject
- это модель объекта, представляющая элемент таблицы в вашей базе данных.
Убедитесь, что вы предоставили правильную конфигурацию для доступа к вашей базе данных в AWS и что ваше устройство имеет доступ к Интернету для связи с Amazon AWS.