0
他の同様の質問がありましたが、@DynamoDBHashKeyは@DynamoDBIndexHashKeyと誤って書かれていました。DynamoDBインターフェイスがなく、DynamoDBHashKey表記が見つかりませんでした
ソートキーまたはインデックスは不要です。プライマリキーを電子メールとして作成しました。
NewUser.Java
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBAttribute;
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBHashKey;
import com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBTable;
mHandler.post(new Runnable() {
public void run() {
EditText name=(EditText)findViewById(R.id.RegisterName);
EditText email=(EditText)findViewById(R.id.Email);
Logindatabase login = new Logindatabase();
login.setEmail(email.getText().toString());
login.setName(name.getText().toString());
login.setStatus();
mapper.save(login); //Exception is thrown here
Toast.makeText(NewUser.this, "Sent", Toast.LENGTH_SHORT).show();
}
});
Logindatabase.java
@DynamoDBTable(tableName = "Login")
public class Logindatabase {
private String email;
private String Name;
private String password;
private String Status;
@DynamoDBHashKey(attributeName = "Email")
public void setEmail(String email){
this.email=email;
}
public String getEmail(){return email;}
@DynamoDBAttribute(attributeName = "Name")
public void setName(String Name){
this.Name=Name;
}
public String getName(){
return Name;
}
@DynamoDBAttribute(attributeName = "Status")
public void setStatus()
{
Status="Pending";
}
}
logcat
E/AndroidRuntime: FATAL EXCEPTION: main
com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMappingException: No interface com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBHashKey annotation found in class class com.example.sherry.empapp.Logindatabase
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.needAutoGenerateAssignableKey(DynamoDBMapper.java:720)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.save(DynamoDBMapper.java:780)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.save(DynamoDBMapper.java:688)
at com.example.sherry.empapp.NewUser$1.run(NewUser.java:67)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
ありがとうございます!それはうまくいった! :D –
も変数を非公開にします –