0
所以我試圖將我的應用程序連接到亞馬遜雲Nosql服務器DynamoDB,我一直遵循他們的教程,但似乎無法得到它的工作,因爲這個錯誤,保持發生:亞馬遜網絡服務DynamoDB錯誤com.amazonaws.auth.AWSCredentials
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;
}
}
因此,將CognitoCachingCredentialsProvider credentialsProvider更改爲credentialProvider。 – jarmod