在Android中保存kinvey对象的最佳方法

时间:2016-02-23 14:11:41

标签: android kinvey mbaas

我想在kinvey中创建一个带有后端服务的应用程序。以前我使用Parse.com作为我的后端服务,因为Parse.com将停止他们的服务,所以我需要考虑另一个mbaas。

我在互联网上阅读了许多像http://devcenter.kinvey.com/android/guides/datastore或github的参考资料,但我仍然不知道如何在Android应用程序中为kinvey制作一个简单的保存数据。

Parse.com添加数据很简单,只需创建一个新的Parse对象,如

ParseObject object = new ParseObject("booking_details");
object.put("username", struser);

任何有Kinvey android应用程序开发经验的人都能给我一个关于保存数据的简短教程吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

与Kinvey并没有什么不同。但是,您必须先定义一个java类来为您的数据建模。 Kinvey记录还总是包括三个元数据字段:主键(_id)和_kmd / _acl,用于存储时间戳和ACL。所以像这样:

public class BookingDetails extends GenericJson {
    @Key("_id")
    private String _id; 
    @Key("_kmd")
    private KinveyMetaData meta;
    @Key("_acl")
    private KinveyMetaData.AccessControlList acl;
    public EventEntity(){}  //GenericJson classes must have a public empty constructor
}

在这个例子中,我实际上没有添加"用户名"在课堂上。但你可以,就像" String _id"领域。并在课堂上添加getter / setter。但是如果你想以简单的方式工作,并按照Parse示例,你可以添加动态字段,如下所示:

BookingDetails object = new BookingDetails();
object.put("username", struser);

然后,首先将Kinvey集合链接到本地​​" AppData"对象:

AsyncAppData<BookingDetails > bookingdetails = mKinveyClient.appData("bookingDetail", BookingDetails.class);

并保存您的&#34;对象&#34;来到Kinvey:

bookingdetails.save(object, new KinveyClientCallback<EventEntity>() {
@Override
    public void onFailure(Throwable e) {
        Log.e("TAG", "failed to save event data", e); 
    }
    @Override
    public void onSuccess(EventEntity r) {
        Log.d("TAG", "saved data for entity "+ r.getName()); 
    }
});

(完整语法,see the devcenter