如何为Android应用程序的每个用户创建唯一的ParseObject?
我的应用程序每小时检索用户所在位置的GPS位置。如果用户更新了一个列表,那么我可以从ParseCloud中添加或删除该项 现在,我实例化了一个ParseObject如何为Android应用程序的每个用户创建唯一的ParseObject?,android,parse-platform,Android,Parse Platform,我的应用程序每小时检索用户所在位置的GPS位置。如果用户更新了一个列表,那么我可以从ParseCloud中添加或删除该项 现在,我实例化了一个ParseObject private ParseObject locationItem = new ParseObject("LocationInformation"); 然后我使用我的密钥初始化解析并打开分析 Parse.initialize(this, "KEY", "KEY"); ParseAnalytics.trackAppOpen
private ParseObject locationItem = new ParseObject("LocationInformation");
然后我使用我的密钥初始化解析并打开分析
Parse.initialize(this, "KEY", "KEY");
ParseAnalytics.trackAppOpened(getIntent());
如果位置可用(在LocationListener的onLocationChanged方法中),我将纬度和经度添加到locationItem
locationItem.put("latitude", location.getLatitude());
locationItem.put("longitude", location.getLongitude());
locationItem.saveEventually();
我使用item和键deletedItem或addItem更新ParseCloud,以便在add中包含位置信息
locationItem.put("addItem", blackListItem);
或
locationItem.put(“deleteItem”,blackListItem);
我调用相同的lat/long方法将其放置到项目中,并将其更新到云中
由于我希望所有这些更新都存储在每个用户的基础上,我想知道这样做的正确方法。我怀疑我需要以某种方式使用ParseUser类,但我对如何使用感到困惑
谢谢你的帮助 阅读手册中涉及用户和用户表的部分。在应用程序的第一次配置中,它应该创建一个新的解析用户,然后使用几种技术之一将其他数据类型与新用户关联
通过使用Rest API和android,您至少可以通过在“LocalInformation”类对象中包含的所有ACL对象中包含该用户的oid,以及在发布/获取“LocalInformation”类型时在http头中包含该用户的令牌,来使用应答关联该用户 您可以让用户创建一个新帐户,或使用其facebook或twitter帐户登录,然后将ParseObject与ParseUser关联 用户使用新帐户或其facebook或twitter帐户登录后,ParseUser对象将不会为空
final boolean isLoggedIn = ParseUser.getCurrentUser() != null; //isLoggedIn should be true
之后,只需创建对象并将其与ParseUser关联
ParseUser mUser = ParseUser.getCurrentUser();
ParseObject mItem = new ParseObject("LocationInformation");
mItem.put("latitude", location.getLatitude());
mItem.put("longitude", location.getLongitude());
mItem.put("UniqueUser", mUser );
mItem.saveInBackground();
使用查询查找与特定唯一用户关联的对象
ParseQuery<ParseObject> query = ParseQuery.getQuery("LocationInformation");
query.whereEqualTo("UniqueUser", ParseUser.getCurrentUser());
//if running this code on a background thread, otherwise use a callback
try
{
//should be unique object associated with a user
ParseObject mItem = query.getFirst();
}
catch( ParseException e )
{
//DEBEUG
}
ParseQuery query=ParseQuery.getQuery(“位置信息”);
query.whereEqualTo(“UniqueUser”,ParseUser.getCurrentUser());
//如果在后台线程上运行此代码,则使用回调
尝试
{
//应该是与用户关联的唯一对象
ParseObject mItem=query.getFirst();
}
捕获(解析异常)
{
//德贝格
}