当我尝试从Android中的AWS Dyanamodb读取时出现NullPointer异常错误?

我正在尝试从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异常错误

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.....LoginCredentialsDO.getPhoneNumber()' on a null object reference
        at com......Tokenactivity$4.run(Tokenactivity.java:153)
        at java.lang.Thread.run(Thread.java:764)

有人可以解释为什么我得到空点错误,因为我已经定义了所有变量,而我访问的数据库项也不为空吗?

J943768044 回答:当我尝试从Android中的AWS Dyanamodb读取时出现NullPointer异常错误?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2955179.html

大家都在问