标签: parse-platform

如何在Parse.com android上获取objectId

据说我们可以检索我们的数据,如果我们有特定行的objectId,但它是自动生成的,我们不能在设置数据时插入它,所以如果我没有对象id,或者任何其他方法如何获取数据所以我可以在我的手段上设置objectId.

代码在评论中:

ParseObject gameScore = new ParseObject("My Parse File"); 
String objectId = gameScore.getObjectId(); 
Run Code Online (Sandbox Code Playgroud)

android parse-platform

9
推荐指数
1
解决办法
1万
查看次数

将日期字段保存到Parse:密钥的无效类型,预期日期,但得到字符串

我有一个非常奇怪的问题,因为几周前,一切都运作良好.但是现在,我无法保存包含Date的对象.

我使用Parse.com后端.我有一个非常简单的类,只有一个字段Date.

我做了一个非常简单的查询:

var Day = Parse.Object.extend('Day');
var d = new Day();
var now = new Date();
d.set('dateField', now);
d.save();
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

关键dateField的无效类型,预期日期,但得到了字符串

如果我试着这样做:

d.set('dateField', {__type:"Date", iso:now.toISOString()}
Run Code Online (Sandbox Code Playgroud)

我有同样的问题......

我希望有人可以帮助我,因为,我不知道......

谢谢 !

javascript datetime parse-platform

9
推荐指数
1
解决办法
2121
查看次数

如何知道Parse.initialize()何时被调用?

现在我使用静态布尔值来判断初始化是什么时候发生的.有没有更简单的方法来知道我已经调用了初始化?

谢谢!!!

解决了!!!!非常感谢你的评论.您需要在扩展应用程序的类中初始化解析,然后将其作为应用程序(而不是其他活动)添加到清单文件中.

:)


这是我使用Parse的类:

package com.example.myapp;

import com.parse.Parse;

import android.app.Application;

public class UseParse extends Application {
@Override
public void onCreate() {
super.onCreate();
Parse.initialize(this, "id", "key");
 }
}   
Run Code Online (Sandbox Code Playgroud)

这是我的android清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" 
 >


 <uses-sdk android:minSdkVersion="11"
      android:targetSdkVersion="14"/>


 <supports-screens 
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>



<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CALL_PHONE" android:required="false" />


<permission android:protectionLevel="signature"
android:name="com.example.myapp.permission.C2D_MESSAGE" …
Run Code Online (Sandbox Code Playgroud)

java parse-platform

9
推荐指数
2
解决办法
7988
查看次数

解析匿名类没有实现抽象方法

我试图在我的主要活动中的按钮单击事件中从Parse云存储中检索对象,这是我从parse.com网站示例中复制的简单代码:

    ParseQuery<ParseObject> query = ParseQuery.getQuery("WtestObj2");
    query.countInBackground(new CountCallback() {

        public void done(int count, ParseException e) {
            if (e == null) {
                //
            } else {
                //
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我构建时,我得到以下错误,似乎我的"新CountCallback"正在创建一个没有实现抽象方法的匿名calss,但是我在这里从parse.com在线文档中复制了100%的代码,还有什么可能是错的在我的Android Studio项目中?

'anonymous com.mobilevision.wtrend.MainActivity $ 4'不是抽象的,并且不会覆盖CountCallback中的抽象方法done(int,ParseException)

java android parse-platform android-studio

9
推荐指数
1
解决办法
1480
查看次数

使用iOS App和Objective-C代码的Parse.com

直到最近,我一直使用Parse.com进行我的应用程序的数据管理我现在正在开发一个新项目,我有一些问题......

PS我正在使用Xcode 6

首先是PFImageView,你可以确认一下吗?在没有咨询PFImageView的情况下,如何在我的应用程序中绘制图片?我不明白为什么你不能在我的应用程序PFImageView中使用

此外,当我进行查询时,之前(使用键盘上的enter按钮)出现了查询的自动构建块,但现在我发现自己这个

  PFQuery *query = [PFUser query];
  [query findObjectsInBackgroundWithBlock: (nullable PFArrayResultBlock (nullable) block]
Run Code Online (Sandbox Code Playgroud)

parse.com发生了什么?我哪里做错了?有人可以'给我这方面的帮助吗?

ios parse-platform pfimageview

9
推荐指数
1
解决办法
243
查看次数

在创建用户时解析崩溃

我正在使用Parse作为我的Android应用程序的后端.当我尝试创建User对象时,我只有一些Android设备的崩溃报告.崩溃的错误是:

Caused by: java.lang.IllegalArgumentException: 
You must register this ParseObject subclass before instantiating it.
at com.parse.ParseObject.<init>(ParseObject.java:184)
Run Code Online (Sandbox Code Playgroud)

提交崩溃报告的设备是:

HTC Desire 510 (htc_a11ul)  2   33.3% Android 4.4
Xperia E3 (D2203)   1   16.7%  Android 4.4
Galaxy S4 (jflte)   1   16.7%  Android 4.4
Galaxy S5 (klte)    1   16.7%  Android 4.4
Run Code Online (Sandbox Code Playgroud)

这是非常奇怪的,因为我目前在三星Note 4,Galaxy S4,S5和Nexus 5上测试我的代码没有任何问题.我不确定为什么Parse要求我从不知名的子类,因为我没有尝试使用Parse提供的子类功能.我再一次在其他设备上测试了这段代码而没有任何问题.

有人可以告诉我如何解决这个问题吗?我在下面的代码中包含了创建用户的代码并且崩溃了.

谢谢!

    Parse.initialize(this, "XXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXX");
    ParseUser user = new ParseUser();
    user.setUsername(email);
    user.setPassword(confirmPassword);
    user.setEmail(email);
    user.put("deviceID", deviceID);
    user.put("name", fullName);

    progress = new ProgressDialog(Register.this);
    progress.setMessage("Creating Account... Please Wait");
    progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progress.setIndeterminate(true);
    progress.setCanceledOnTouchOutside(false);
    progress.setCancelable(false);
    progress.show();


    user.signUpInBackground(new …
Run Code Online (Sandbox Code Playgroud)

java mobile android parse-platform

9
推荐指数
1
解决办法
580
查看次数

如何逐步更新本地parse.com数据库?

我有一个基于parse.com的应用程序,具有离线功能,其中整个数据库存储在本地(web客户端上的localStorage和移动客户端上的parse.com本地数据库).我正在寻找一种设计解决方案,以便使用远程数据库中的最新更改来有效地更新本地数据库.我能想到的选择是:

  1. 使用代码触发器进行日记功能.为每个对象设置云代码触发器(afterSave,afterDelete),并在每次保存或销毁对象时将日志添加到日志表.客户端将查询表以获取更新并记住lastUpdateTime后续请求.

    优点:a)我们可以非常详细地总结已经改变的内容和做出改变的人.b)所有更改都可立即供其他客户使用(例如,实时通知表呼叫,几乎没有延迟)

    缺点:a)表中可能有太多条目

  2. 记录与后台工作.设置查询所有表的后台作业updatedAt,填充日记表并保存lastUpdateTime后续请求.

    优点:a)日记表中的条目较少

    缺点:a)变化可用不可预测的延迟(不适合实时通知?)b)无法跟踪删除,仍然需要设置另一个表来跟踪删除或实现软删除c)日志中的细节较少(例如当一个用户创建对象并被另一个用户删除时,我们将不知道谁创建了一个对象)

  3. 没有期刊.所有客户端查询所有表updatedAt并存储lastUpdateTime后续请求.

    优点:a)易于实施,b)即时可用变更

    缺点:a)与删除相同的问题,如2,b)效率低(我相信所有客户查询20多个表不是一个好主意

我们也有一个UI,其中用户可以浏览最近的活动(谁改变了什么),所以我对数种瘦1的方法,但该表的潜在规模是令人担忧的我.

javascript database database-design parse-platform

9
推荐指数
1
解决办法
203
查看次数

Parse.com中的JavaScript子类化

在Android中,我ParseObject使用两个不在Parse类中的局部变量进行子类化.我只需要在本地设置这些变量,而无需将它们保存在服务器上.他们String的名字helper1helper2吸气者和制定者一样.

它的工作原理罚款所有Android上-我可以使用setHelper1("whatever");,以及getHelper()对我的方法ParseObject的.

我想要做的是在JavaScript中执行相同的操作,因为我想要进行相同的操作ParseCloud并使其返回结果Strings而不在数据库类中创建其他列.

我阅读https://parse.com/docs/js/guide#objects-parse-objecthttps://parse.com/docs/js/guide#queries-basic-queries但它没有太大帮助,我可以得到它.如何实现?

编辑:

q1.find({
    success: function(results){     

    for (var x in results){
        x.helper1 = 'foo';
    }

     response.success(results);
    },
    error: function(error){

    }
});
Run Code Online (Sandbox Code Playgroud)

javascript java android parse-platform

9
推荐指数
1
解决办法
146
查看次数

使用Parse Twitter/Facebook身份验证注销或切换帐户

我正在使用parse.com的Android API并添加了Facebook/Twitter登录支持.这工作正常.

棘手的部分似乎正在退出.

如果我使用Twitter登录我的应用程序:

ParseTwitterUtils.logIn(UserLoginActivity.this, twitterLoginCallback);
Run Code Online (Sandbox Code Playgroud)

或使用Facebook:

ParseFacebookUtils.logInWithReadPermissionsInBackground(UserLoginActivity.this, null, facebookLoginCallback);
Run Code Online (Sandbox Code Playgroud)

我在网络对话框中提示输入我的Twitter凭据,然后允许或拒绝访问我的应用程序.一旦我允许它,我能够成功登录,并且我可以访问我的屏幕名称.一切都很好!

当我尝试登录我的ParseUser的,我确实会退出.但是,如果我再次单击Facebook或Twitter登录按钮,我会预先验证为我之前的帐户,我无法切换帐户.

我试过了:

  • 检查Chrome和浏览器,但都没有登录Twitter.
  • 退出原生Twitter/Facebook应用程序

我的登录逻辑简单地开始:

ParseUser.logOut();
Run Code Online (Sandbox Code Playgroud)

对于Twitter,我尝试过

  • 卸载我的应用程序 - 这确实解决了它,但不是一个理想的解决方案.
  • Parse.enableLocalDatastore(this);按照我的Application建议打电话:https://stackoverflow.com/a/26338326/494356
  • 按照此处的建议取消链接Twitter帐户:https://stackoverflow.com/a/34052718/494356.这也有每次创建一个新的ParseUser的坏副作用(但仍然是相同的Twitter帐户)
  • 我尝试将权限从"只读"更改为"读写",如/sf/answers/1939991161/所示.(为什么这对我来说无关紧要对我没有意义)
  • 我试过将AuthToken设置为 null ParseTwitterUtils.getTwitter().setAuthToken(null); ParseTwitterUtils.getTwitter().setAuthTokenSecret(null);

对于Facebook,我试过了

  • 卸载我的应用程序-这并没有解决问题.
  • 使用Facebook SDK注销功能:

    AccessToken.setCurrentAccessToken(null);

    Profile.setCurrentProfile(null);

    LoginManager.getInstance().logOut();

  • 曾经有一Session.closeAndClearTokenInformation()所建议的在这里.但是Facebook已经弃用了Session类,它不再在SDK中了.

  • 按照此处的建议取消关联Facebook帐户.这又导致重复的ParseUsers,我仍然可以使用保存的凭据登录.

我真的很感激任何答案或建议.即使你只能回答推特或Facebook,但两者都不能回答,我仍然希望听到它.

authentication twitter android facebook parse-platform

9
推荐指数
1
解决办法
783
查看次数

当我克隆它时,为什么我的heroku应用程序为空(它应该是解析服务器)

我使用Deploy to heroku此页面上的按钮创建了一个heroku应用程序https://github.com/ParsePlatform/parse-server-example

我可以通过运行类似于以下返回结果的代码来检查其运行情况.

curl -X GET \               
  -H "X-Parse-Application-Id: ********************" \
  -H "X-Parse-Master-Key: *******************" \
  http://MY-APP.herokuapp.com/parse/classes/Speech
Run Code Online (Sandbox Code Playgroud)

我想更新云代码,我对如何做到这一点的理解是git克隆应用程序,进行更改,提交然后再将其推回.

但是当我跑的heroku git:clone -a MY-APP时候给了我以下警告

Cloning into 'MY-APP'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Run Code Online (Sandbox Code Playgroud)

MY-APP文件夹为空.

我究竟做错了什么?

应该有什么东西吗?否则curl...命令不起作用?

编辑:这个问题和答案解决了我的问题.显然这是heroku的一个bug.如何使用MongoDB在Heroku上托管我自己的Parse Server?

git heroku parse-platform parse-server

9
推荐指数
1
解决办法
2790
查看次数