我需要使用我的应用程序获取15个最近用户的列表.当前用户的当前位置存储如下:
PFGeoPoint *currentLocation = [PFGeoPoint geoPointWithLocation:newLocation];
PFUser *currentUser = [PFUser currentUser];
[currentUser setObject:currentLocation forKey:@"location"];
[currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error)
{
NSLog(@"Saved Users Location");
}
}];
Run Code Online (Sandbox Code Playgroud)
现在我想通过PFQuery检索附近的用户,如下所示:
- (NSArray *)findUsersNearby:(CLLocation *)location
{
PFGeoPoint *currentLocation = [PFGeoPoint geoPointWithLocation:location];
PFQuery *locationQuery = [PFQuery queryWithClassName:@"User"];
[locationQuery whereKey:@"location" nearGeoPoint:currentLocation withinKilometers:1.0];
locationQuery.limit = 15;
NSArray *nearbyUsers = [locationQuery findObjects];
return nearbyUsers;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是它不起作用.我的阵列似乎没有条目.有人可以为我清理一下,如何正确使用查询?
干杯,大卫
(也发布于:https://www.parse.com/questions/pfquery-to-retrieve-users-nearby)
不知怎的,我找不到答案.
我正在向parse.com运行查询,并希望在我的一个列中下载包含空值的所有行.
ParseQuery<ParseObject> query = ParseQuery.getQuery(Constants.myTestTable);
query.whereEqualTo("MyColumn", "");
Run Code Online (Sandbox Code Playgroud)
当我上传一个csv来解析MyColumn没有任何值时,解析中的列单元格显示"(未定义)",我无法检索数据.但是,当我删除单元格中的所有内容时,我能够检索它.如果单元格具有来自解析的默认"(未定义)"值,我希望能够检索数据.我试过了...
ParseQuery<ParseObject> query = ParseQuery.getQuery(Constants.myTestTable);
query.whereEqualTo("MyColumn", null);
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.我确信有一个简单的解决方案,我只是不能让dang的东西工作.
我对云代码函数"Parse.Cloud.httpRequest"有疑问.我想发送HTTP GET请求与以下curl命令相同.但它似乎无法正常工作.如果您发现错误,请提供帮助.
curl -H "Authorization: token xxx" "https://api.automatic.com/v1/trips"
注意:
我的代码是这样的.然后我访问/旅行.
var express = require('express');
var app = express();
app.set('views', 'cloud/views');
app.set('view engine', 'ejs');
app.use(express.bodyParser());
app.get('/trips', function(req, res) {
Parse.Cloud.httpRequest({
url: 'https://api.automatic.com/v1/trips',
headers: {
'Authorization': 'token xxx'
},
success: function (httpResponse) {
console.log(httpResponse.text);
},
error: function (httpResponse) {
console.error('Request failed with response code ' + httpResponse.status);
}
});
});
app.listen();
Run Code Online (Sandbox Code Playgroud)
这是一个日志.
E2014-07-16T04:10:46.102Z] v170: Ran custom endpoint with:
Input: {"method"=>"GET", "url"=>"/trips", "headers"=>{"version"=>"HTTP/1.1", "host"=>"easyparking.parseapp.com", "user-agent"=>"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, …Run Code Online (Sandbox Code Playgroud) 场景 =我有一个PFQueryTableViewController(PFQTVC),UIView位于表视图的第一行上方,但位于顶部的导航栏下方.此视图将图片作为子视图,并且该视图会在viewDidLoad方法中加载到屏幕中.
问题 =当PFQueryTableViewController正在加载时,它有一个"Loading ..."提示,它自动放置在屏幕中间并保持在那里直到它完成加载PFQTVC的内容.当不可避免地将UIView放在装有UIView的图片上时,这会造成难看的外观.
问题 =有没有人知道如何检查(如果声明)PFQTVC何时完成加载它的内容.因为那时候我可以说像......(原谅假代码)
if ([PFQTVC finishedLoading]) {
self.view.hidden = NO;
}
Run Code Online (Sandbox Code Playgroud)
这样,在PFQTVC完成加载并且从页面上删除"正在加载..."提示之前,将不会显示带有我图片的UIView.并且UIView将在加载PFQTVC的所有单元的同时加载.
答案 =(谢谢@valheru)
-(void)objectsDidLoad:(NSError *)error {
[super objectsDidLoad:error];
self.loadingViewEnabled = YES;
self.view.hidden = NO;
}
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中有这个功能来制作排行榜.执行时,它永远不会到达for循环,我无法更新我的排行榜.是否有更好的实施方案?
public void updateLeaderboard(final Context context) {
Log.d("Leaderboard ", "Updating");
ParseQuery<ParseObject> query = ParseQuery.getQuery(KEY_USER_CLASS);
query.addDescendingOrder(KEY_LAST_LEVEL);
query.addAscendingOrder(KEY_CROSSED_AT);
query.whereNotEqualTo(KEY_ADMIN, true);
query.whereEqualTo(KEY_EMAIL_VERFIFIED, true);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> users, ParseException e) {
Log.d("Leaderboard ", "done() caled");
if (e == null) {
Log.d("Leaderboard ", "inside if");
for (int i = 0; i < users.size(); i++) {
ParseObject user = users.get(i);
Log.d("Leaderboard ",
"Updating user " + String.valueOf(i + 1));
user.put(KEY_RANK, i + 1);
user.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) { …Run Code Online (Sandbox Code Playgroud) 我在使用电子邮件地址发送Parse通知时定位特定用户.发送似乎工作正常,但没有收到任何消息.我需要更改什么才能收到消息?在我的Parse控制面板中,它显示了尝试推送,但显示"客户端启动的推送未启用"的错误消息.我真的更喜欢从客户端发起推送.我如何启用它?我一直在寻找能够推动客户推送的文档,但我找不到如何做到这一点.
这是我的设置:
Parse.initialize(this, "...xxxAPP_ID", "...xxxCLIENT_KEY");
PushService.setDefaultPushCallback(this, MainActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();
ParseObject parseObject = new ParseObject("defaultObject");
parseObject.put("email", sEmail)
parseObject.saveInBackground();
Run Code Online (Sandbox Code Playgroud)
实际发送在这里完成:
ParseQuery pQuery = ParseInstallation.getQuery();
pQuery.whereEqualTo("email", ToUser);
ParsePush parsePush = new ParsePush();
parsePush.setQuery(pQuery);
parsePush.sendMessageInBackground("You have pictures waiting from " + sEmail, pQuery);
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:protectionLevel="signature"
android:name="com.pictureplay.permission.C2D_MESSAGE" />
<uses-permission android:name="com.pictureplay.permission.C2D_MESSAGE" />
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" /> …Run Code Online (Sandbox Code Playgroud) 我正在尝试从imageOneParse.com中的列中删除连接到当前用户的图像.来自用户类.
PFQuery *query = [PFUser query];
[query selectKeys:@[@"imageOne"]];
[query getObjectInBackgroundWithId:[[PFUser currentUser] objectId] block:^(PFObject *object, NSError *error) {
if (!error) {
[object deleteInBackground];
}
}];
Run Code Online (Sandbox Code Playgroud)
我的代码不起作用,控制台记录此错误"User cannot be deleted unless they have been authenticated via logIn or signUp".
我怎样才能解决这个问题?
似乎问题来自于对象(图像)来自用户类的事实,我是对的吗?
我想在swift中继承PFUser对象.我也想声明自己的变量.关于子类化的Parse文档此时不包括PFUser.
解析子类化PFObject的文档:
class Armor : PFObject, PFSubclassing {
class func load() {
self.registerSubclass()
}
class func parseClassName() -> String! {
return "Armor"
}
}
Run Code Online (Sandbox Code Playgroud) 我在解析cloudcode上有这个功能:
Parse.Cloud.define("testfunction", function(request, response) {
var username = request.params.username
var testObject = Parse.Object.extend('Test');
var query = new Parse.Query(testObject);
query.equalTo('username', username);
// PFObject "Test" in the table has columns A,B and C
// how do I tell the query that in the final result I send back
// in the response I only want filed A?
query.find({
success:function(results) {
response.success(results)
},
error:function() {
response.error('Could not find channels')
}
})
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何告诉查询只返回提交的A而不是字段B和C作为从查询返回的任何PFObject的一部分?
谢谢
我的活动查询我的解析数据库,然后根据查询重新设置数据.数据以列表视图中的名称存储.但我无法弄清楚如何检查列表视图是否为空.我希望它发布一个警告,说明列表视图在事件发生时是空的.这是我的活动
public class OfferPage extends Activity {
String obj;
ProgressDialog mProgressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_offer_page);
Intent i = getIntent();
obj = i.getStringExtra("RestName");
populateList(obj, "Restraunt");
}
private void populateList(final String Value, final String Key) {
ParseQueryAdapter.QueryFactory<ParseObject> factory = new ParseQueryAdapter.QueryFactory<ParseObject>() {
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public ParseQuery create() {
ParseQuery query = new ParseQuery("Offers");
query.whereEqualTo(Key, Value);
return query;
}
};
ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(
this, factory);
adapter.setTextKey("Offer");
adapter.addOnQueryLoadListener(new OnQueryLoadListener<ParseObject>() {
@Override
public void onLoading() { …Run Code Online (Sandbox Code Playgroud) parse-platform ×10
android ×3
ios ×3
pfquery ×3
java ×2
curl ×1
http ×1
javascript ×1
objective-c ×1
pfuser ×1
properties ×1
subclass ×1
swift ×1
sync ×1