【问题标题】:Retrieving and using user information from parse.com从 parse.com 检索和使用用户信息
【发布时间】:2015-09-24 20:02:13
【问题描述】:

在我的 android 应用程序中,我将当前用户的位置放入 parse.com 的表中。我无法再次以正确的方式检索该信息。

我想为每个循环、每个对象创建一个,在其中我使用用户名和纬度和经度。

我已经阅读 API 几个小时了,但列表是我的弱项,我无法理解它。

ParseQuery<ParseObject> users  = ParseQuery.getQuery("user");

ParseObject object = (ParseObject) users.get(user); //This is invald, but dno what to write in "get"

final String objectId = users.getObjectId();
final int olat = users.getInt("lat");
final int olong = users.getInt("lng");
String name = users.getString("username");

我想在 for each 循环中使用此信息,然后添加每个用户最后已知的纬度和经度的标记;

我有这个我想放入循环;

double oldLatitude = olat;
double oldLongitutde = olong;
LatLng latLng = new LatLng(oldLatitude, oldLongitutde);
MarkerOptions options = new MarkerOptions()
   .position(latLng)
  .title(objectId + "was here!");
mMap.addMarker(options);
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

我有这样的东西,但不知道如何处理它;

public void handleDiffUsers(Location location){



    users.getInBackground(objectId, new GetCallback<ParseObject>() {
        public void done(ParseObject object, ParseException e) {
            if (e == null) {
                 for (int i = 0; i < object.size(); i++) {
                      //marker code.. ? 
            } else {
                // something went wrong
            }
        }
    });

【问题讨论】:

    标签: android google-maps parse-platform


    【解决方案1】:

    检索 ParseUser 列表并获取 ParseGeoPoint

    ParseQuery<ParseUser> queryParseUser = ParseUser.getQuery();
            queryParseUser.findInBackground(new FindCallback<ParseUser>() {
    
            @Override
            public void done(List<ParseUser> locationList, ParseException arg1) {
                // TODO Auto-generated method stub
    
                        if (locationList != null) {
                            for (ParseUser parseObject : locationList) {
                                ParseGeoPoint parseGeoPoint = parseObject.getParseGeoPoint("location"); "location" is column name of user table
                                // create marker
    
                                MarkerOptions marker = new MarkerOptions().position(
                                        new LatLng(parseGeoPoint.getLatitude(), parseGeoPoint.getLongitude())).title(parseObject.getUsername());
    
    
                                // Changing marker icon
                                marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher));
    
                                // adding marker
                                googleMap.addMarker(marker);
    
                            }
                        }
    
            }
        });
    

    【讨论】:

    • 嗯,我应该使用 parsequery 而不是对象吗?我应该为每个字符串/整数调用 whereEqualTo 吗?
    • 根据您的需要过滤用户,例如最近的用户。请参阅 parse.com docs link
    • 是的,好吧,我输了.. ("username",username", will not resolve username.. 我需要声明它吗?如何声明?
    • 删除该行。您将获得所有用户。
    • 它只回答了我的部分问题,我仍然不确定如何检索用户信息并在每个循环中解析它:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 2022-01-01
    • 2017-04-26
    • 2015-05-31
    • 1970-01-01
    相关资源
    最近更新 更多