在 Android 中保存 kinvey 对象的最佳方法
The best approach to save kinvey object in Android
我想在 kinvey 中创建一个带有后端服务的应用程序。之前我用Parse.com作为我的后端服务,由于Parse.com他们的服务要停止,所以我需要考虑另一个mbaas。
我在互联网上阅读了很多参考资料,例如 http://devcenter.kinvey.com/android/guides/datastore 或 github,但我仍然不知道如何在 android 应用程序中将数据简单地保存到 kinvey。
Parse.com 添加数据很容易,只需创建一个新的解析对象,例如
ParseObject object = new ParseObject("booking_details");
object.put("username", struser);
任何有 Kinvey android 应用程序开发经验的人都可以给我一个关于保存数据的简短教程吗?提前致谢!
Kinvey 并没有什么不同。但是,您必须首先定义一个 java class 来为您的数据建模。 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
}
在这个例子中,我实际上并没有将"username"字段添加到class中。但是你可以,就像 "String _id" 字段一样。并在您的 class 中为其添加 getter/setters。但是如果你喜欢简单的方法,并遵循 Parse 示例,你可以添加动态字段,如下所示:
BookingDetails object = new BookingDetails();
object.put("username", struser);
然后,首先 link 一个本地 "AppData" 对象的 Kinvey 集合:
AsyncAppData<BookingDetails > bookingdetails = mKinveyClient.appData("bookingDetail", BookingDetails.class);
并将您的 "object" 保存到 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)
我想在 kinvey 中创建一个带有后端服务的应用程序。之前我用Parse.com作为我的后端服务,由于Parse.com他们的服务要停止,所以我需要考虑另一个mbaas。
我在互联网上阅读了很多参考资料,例如 http://devcenter.kinvey.com/android/guides/datastore 或 github,但我仍然不知道如何在 android 应用程序中将数据简单地保存到 kinvey。
Parse.com 添加数据很容易,只需创建一个新的解析对象,例如
ParseObject object = new ParseObject("booking_details");
object.put("username", struser);
任何有 Kinvey android 应用程序开发经验的人都可以给我一个关于保存数据的简短教程吗?提前致谢!
Kinvey 并没有什么不同。但是,您必须首先定义一个 java class 来为您的数据建模。 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
}
在这个例子中,我实际上并没有将"username"字段添加到class中。但是你可以,就像 "String _id" 字段一样。并在您的 class 中为其添加 getter/setters。但是如果你喜欢简单的方法,并遵循 Parse 示例,你可以添加动态字段,如下所示:
BookingDetails object = new BookingDetails();
object.put("username", struser);
然后,首先 link 一个本地 "AppData" 对象的 Kinvey 集合:
AsyncAppData<BookingDetails > bookingdetails = mKinveyClient.appData("bookingDetail", BookingDetails.class);
并将您的 "object" 保存到 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)