我正在尝试从Dynamodb中将电话号码加载为字符串,但是它显示NullPointer错误
这是我尝试记录数据的“我的活动代码”
public class Tokenactivity extends activity {
DynamoDBMapper dynamoDBMapper;
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_token);
AWSMobileclient.getInstance().initialize(this).execute();
AWSCredentialsProvider credentialsProvider = AWSMobileclient.getInstance().getcredentialsProvider();
AWSConfiguration configuration = AWSMobileclient.getInstance().getconfiguration();
AmazonDynamoDBClient dynamoDBClient = new AmazonDynamoDBClient(credentialsProvider);
this.dynamoDBMapper = DynamoDBMapper.builder()
.dynamoDBClient(dynamoDBClient)
.awsConfiguration(configuration)
.build();
readName();
}
public void readName() {
new Thread(new Runnable() {
@Override
public void run() {
LoginCredentialsDO newsItem = dynamoDBMapper.load(
LoginCredentialsDO.class,"userId","Phone Number");
// Item read
Log.d("News Item:",newsItem.getPhoneNumber());
}
}).start();
}
和LoginCredentialsDO包含从数据库检索数据的方法。
Blockquote
public class LoginCredentialsDO {
private String _userId;
private String _phoneNumber;
private String _emailId;
private String _name;
@DynamoDBHashKey(attributeName = "userId")
@DynamoDBAttribute(attributeName = "userId")
public String getUserId() {
return _userId;
}
public void setUserId(final String _userId) {
this._userId = _userId;
}
@DynamoDBRangeKey(attributeName = "Phone Number")
@DynamoDBAttribute(attributeName = "Phone Number")
public String getPhoneNumber() {
return _phoneNumber;
}
public void setPhoneNumber(final String _phoneNumber) {
this._phoneNumber = _phoneNumber;
}
@DynamoDBAttribute(attributeName = "Email Id")
public String getEmailId() {
return _emailId;
}
public void setEmailId(final String _emailId) {
this._emailId = _emailId;
}
@DynamoDBAttribute(attributeName = "Name")
public String getName() {
return _name;
}
public void setName(final String _name) {
this._name = _name;
}
}
我收到NullPointer异常错误
有人可以解释为什么我得到空点错误,因为我已经定义了所有变量,而我访问的数据库项也不为空吗?