3

私はawsを使用してダイナモを更新しようとしましたが、import com.amazonaws.services.dynamodbv2.**document**.*はドキュメントを登録しませんが、他のすべてのインポートを読み込むので、ダイナモオブジェクトまたはテーブルオブジェクトを作成できません:import com.amazonaws.services.dynamodbv2.document.DynamoDB;インポートのドキュメント部分を解決することはできません

以下は
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; 
import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; 
import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; 
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; 
import com.amazonaws.services.dynamodbv2.model.KeyType; 
import com.amazonaws.services.dynamodbv2.model.ListTablesResult; 
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; 
import com.amazonaws.services.dynamodbv2.model.TableDescription; 

私が使用しています完全なクラスです:私はそれを確認しました:

import android.Manifest; 
import android.app.AlertDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.content.pm.PackageManager; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.provider.Settings; 
import android.support.v4.app.ActivityCompat; 
import android.support.v4.content.ContextCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 
import android.widget.Toast; 
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; 
import com.amazonaws.services.dynamodbv2.model.UpdateItemRequest; 
import java.util.Arrays; 
import java.util.HashMap; 
import java.util.HashSet; 
import java.util.Map; 

import com.amazonaws.services.dynamodbv2.document.Table; 
import com.amazonaws.services.dynamodbv2.document.spec.UpdateItemSpec; 
import com.amazonaws.services.dynamodbv2.document.utils.ValueMap; 
import com.amazonaws.auth.profile.ProfileCredentialsProvider; 
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; 
import com.amazonaws.services.dynamodbv2.document.DynamoDB; 
import com.amazonaws.services.dynamodbv2.document.Table; 
import com.amazonaws.services.dynamodbv2.document.TableCollection; 
import com.amazonaws.services.dynamodbv2.document.Table; 
import com.amazonaws.services.dynamodbv2.document.spec.UpdateItemSpec; 
import com.amazonaws.services.dynamodbv2.document.utils.ValueMap; 
import com.amazonaws.auth.profile.ProfileCredentialsProvider; 
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient; 
import com.amazonaws.services.dynamodbv2.document.DynamoDB; 
import com.amazonaws.services.dynamodbv2.document.Table; 
import com.amazonaws.services.dynamodbv2.document.TableCollection; 
import com.amazonaws.services.dynamodbv2.model.AttributeDefinition; 
import com.amazonaws.services.dynamodbv2.model.CreateTableRequest; 
import com.amazonaws.services.dynamodbv2.model.KeySchemaElement; 
import com.amazonaws.services.dynamodbv2.model.KeyType; 
import com.amazonaws.services.dynamodbv2.model.ListTablesResult; 
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput; 
import com.amazonaws.services.dynamodbv2.model.TableDescription; 

public class LoadingPage extends AppCompatActivity { 
    static AmazonDynamoDBClient dynamoDB; 
    LocationManager locationmanager; 
    private TrackGPS gps; 
    double longitude; 
    double latitude; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_loading_page); 
     gps = new TrackGPS(LoadingPage.this); 
     DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient(
       new ProfileCredentialsProvider())); 

     Table table = dynamoDB.getTable("ProductCatalog"); 

     Map<String, String> expressionAttributeNames = new HashMap<String, String>(); 
     expressionAttributeNames.put("#A", "Authors"); 
     expressionAttributeNames.put("#P", "Price"); 
     expressionAttributeNames.put("#I", "ISBN"); 

     Map<String, Object> expressionAttributeValues = new HashMap<String, Object>(); 
     expressionAttributeValues.put(":val1", 
       new HashSet<String>(Arrays.asList("Author YY","Author ZZ"))); 
     expressionAttributeValues.put(":val2", 1); //Price 

     UpdateItemOutcome outcome = table.updateItem(
       "Id",   // key attribute name 
       101,   // key attribute value 
       "add #A :val1 set #P = #P - :val2 remove #I", 
       expressionAttributeNames, 
       expressionAttributeValues); 
+0

AWS Android SDKを使用していますか?私はちょうど確認し、利用可能なDDB APIは、はるかに小さいサブセットであることをアピールする:https://github.com/aws/aws-sdk-android/tree/master/aws-android-sdk-ddb、https:// github .com/aws/aws-sdk-android/tree/master/aws-android-sdk-ddb-mapper。理由は分かりません。 Java SDKを直接使用することもできます。 https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-gradle.htmlこのガイドに従って、 'compile 'com.amazonaws:aws-java-sdkのようなものを使用してください-dynamo''これは残りを提供します:https://github.com/aws/aws-sdk-java/tree/master/aws-java-sdk-dynamodb/ – Jameson

+0

同じ問題、解決しますか? – Utopia

答えて

0

を私はあなたがおそらく既にこれを試してみましたが、それはので、私はとにかくそれを言及するつもりです私のために働いたと仮定していますAWS SDK for Javaライブラリが追加され、プロジェクトを更新しました。今すぐすべてが動作しています!

私は自分のプロジェクトを終了し、何度も何度も再開しましたが、プロジェクトをリフレッシュすることはそのトリックでした。がんばろう。

関連する問題