0

私の Android アプリでは、Backendlessを使用してデータをオンラインで保存しています。Point新しいオブジェクトが保存されたときに何かをしたいのですが、beforeCreateイベントがトリガーされません。

Bootstrap.java

public class Bootstrap implements IBackendlessBootstrap
{            
  @Override
  public void onStart()
  {
    Backendless.setUrl( "https://api.backendless.com" );
    Backendless.initApp( "XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXX","v1");
    Backendless.Persistence.mapTableToClass( "Point", Point.class );
  }

  @Override
  public void onStop()
  {        
  }    
}

PointTableEventHandler.java:

@Asset( "Point" ) 
public class PointTableEventHandler extends com.backendless.servercode.extension.PersistenceExtender<Point>
{    
  @Override
  public void beforeCreate( RunnerContext context, Point point) throws Exception
  {
      System.out.println("enter beforeCreate");
      point.setPhoneNumber("12345");
      System.out.println("exit beforeCreate");
  }    
}

Point.java

public class Point extends BackendLessObject {
    private String phoneNumber;

    public Point() {
        super();
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
}

BackendlessObject.java

public class BackendLessObject {

    protected String objectId;
    protected Date created;
    protected Date updated;
    protected String ownerId;

    public BackendLessObject() {    
    }

    public String getObjectId()  {
        return objectId;
    }

    public void setObjectId( String objectId )
    {
        this.objectId = objectId;
    }

    public Date getCreated()
    {
        return created;
    }

    public void setCreated( Date created )
    {
        this.created = created;
    }

    public Date getUpdated()
    {
        return updated;
    }

    public void setUpdated( Date updated )
    {
        this.updated = updated;
    }    

    public String getOwnerId() {
        return ownerId;
    }

    @Override
    public String toString() {
        return objectId;
    }
}

イベントが有効になり、本番環境にデプロイされます。アプリを実行すると、提供されたすべてのデータでポイントが作成されますが、PhoneNumber設定されていないため、イベントは実行されませんでした。デバッグすると、呼び出されていないことも示されます。

私のAndroidアプリで私は呼び出します

newPoint.save();
4

1 に答える 1

1

これは、ライブラリの最新バージョンで修正されています。github リポジトリからコピーを取得してください。

于 2016-03-16T08:17:09.260 に答える