J'ai déjà vu d'autres questions similaires, tous avaient par erreur écrit @DynamoDBHashKey comme @DynamoDBIndexHashKey, mais je ne l'ai pas fait.DynamoDB Aucune interface et aucune notation DynamoDBHashKey trouvée erreur
Je ne veux pas de clé de tri ou d'index. J'ai déjà créé ma table avec la clé primaire comme email.
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)
Merci! Ça a marché! : D –
également rendre votre variable privée –