如何为Android应用程序的每个用户创建唯一的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

我的应用程序每小时检索用户所在位置的GPS位置。如果用户更新了一个列表,那么我可以从ParseCloud中添加或删除该项

现在,我实例化了一个ParseObject

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();
}
捕获(解析异常)
{
//德贝格
}