簡體   English   中英

Amazon Web Service DynamoDB錯誤com.amazonaws.auth.AWSCredentials

[英]Amazon Web Service DynamoDB Error com.amazonaws.auth.AWSCredentials

因此,我嘗試將我的應用程序連接到Amazon Cloud Nosql服務器DynamoDB,但我一直在遵循其教程,但由於此錯誤不斷發生,因此似乎無法使它正常工作:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.humber.industech.industechapp/com.humber.industech.industechapp.DataActivity}: 
java.lang.NullPointerException: Attempt to invoke interface method 'com.amazonaws.auth.AWSCredentials com.amazonaws.auth.AWSCredentialsProvider.getCredentials()' on a null object reference

非常感謝使用AWS進行設置的任何幫助,非常感謝!

代碼如下:

public class DataActivity extends AppCompatActivity {

    private TextView t;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_data);
        //setting custom font
        t = (TextView) findViewById(R.id.textView3);
        Typeface customFont = Typeface.createFromAsset(getAssets(),"fonts/Prezident.ttf");
        t.setTypeface(customFont);
        saveData();
    }

     public void saveData(){
        CognitoCachingCredentialsProvider credentialsProvider = CredentialProviderSingleton.getInstance(this);
        AmazonDynamoDBClient ddbClient = new AmazonDynamoDBClient(credentialsProvider);
        DynamoDBMapper mapper = new DynamoDBMapper(ddbClient);
        Book book = new Book();
        book.setTitle("Test");
        book.setAuthor("Charles Dickens");
        book.setPrice(1299);
        book.setIsbn("1235674");
        book.setHardCover(false);
        mapper.save(book);
    }
}



public class CredentialProviderSingleton {

    static CognitoCachingCredentialsProvider credentialProvider;

    public static CognitoCachingCredentialsProvider getInstance(Context context){
        if (credentialProvider == null){
            CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                    context.getApplicationContext(),"POOL_ID", Regions.US_WEST_2);
        }
        return credentialProvider;
    }
}

該錯誤在CredentialsProviderSingleton中

您將crednetials提供程序創建為新變量

CognitoCachingCredentialsProvider certificateProvider =新的CognitoCachingCredentialsProvider(context.getApplicationContext(),“ POOL_ID”,Regions.US_WEST_2);

但是,您將返回類變量credentialProvider(請注意,憑證末尾沒有's')。 此變量為null,因為從未聲明過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM