标签: parse-platform

Parse.com是否适合在Android中与SQLite进行备份/同步?

我到目前为止看到的示例应用程序和文档似乎使用Parse作为应用程序的主要(如果不仅仅是)存储解决方案,这在某些情况下很棒.

我希望将Parse与我在Android上的现有应用程序集成,该应用程序在单个数据库中使用多个SQLite表.

是否有任何示例显示Parse的用法,其中本地存储(即SQLite DB)是主存储,如果有更新需要更新/提交的更新,则数据仅在Parse和本地存储之间同步?

对于我的数据库,我有两个表,任务和日期.任务由以下组成:

  • _id(此表的唯一整数键)
  • item(描述任务的String)
  • desc(具有较长描述的字符串 - 可以为null)
  • parent(一个整数,表示此任务的父级的_id)

和日期:

  • _id(此表的唯一整数键)
  • item_id(与任务中的_id对应的外键)date(以长格式存储的日期)

在这种情况下,我会将每一行存储为单独的ParseObject吗?有不同的任务和日期类,我可以将日期与他们的任务父母联系起来?这是推荐的方式吗?

-

编辑:我收到了Parse工程师的回复,他说可能(与本地SQLite数据库同步),但它不受支持,并且没有评论我提出的方法 - 特别是将行映射到ParseObjects.

sqlite android parse-platform

13
推荐指数
1
解决办法
2399
查看次数

链接错误与Parse.framework iOS

我尝试在我的项目中导入解析框架.我确定我的项目很受欢迎,但是我找不到任何关于它是否是"电弧敏感"的信息.我的项目是基于弧的.

这是我得到的错误:

Undefined symbols for architecture i386:
  "_SCNetworkReachabilityCreateWithName", referenced from:
      -[PFCommandCache init] in Parse(PFCommandCache.o)
      +[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o)
  "_SCNetworkReachabilityGetFlags", referenced from:
      ___22-[PFCommandCache init]_block_invoke in Parse(PFCommandCache.o)
      +[PFInternalUtils(Reachability) isParseReachable] in Parse(PFInternalUtils.o)
  "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
      -[PFCommandCache init] in Parse(PFCommandCache.o)
  "_SCNetworkReachabilitySetCallback", referenced from:
      -[PFCommandCache init] in Parse(PFCommandCache.o)
  "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
      -[PFCommandCache dealloc] in Parse(PFCommandCache.o)
  "_SecItemAdd", referenced from:
      +[PFInternalUtils saveToKeychain:data:] in Parse(PFInternalUtils.o)
  "_SecItemCopyMatching", referenced from:
      +[PFInternalUtils loadFromKeychain:] in Parse(PFInternalUtils.o)
  "_SecItemDelete", referenced from:
      +[PFInternalUtils saveToKeychain:data:] in Parse(PFInternalUtils.o)
      +[PFInternalUtils deleteFromKeychain:] in Parse(PFInternalUtils.o)
  "_UTTypeCopyPreferredTagWithClass", referenced from:
      -[PFFile getMimeType] …
Run Code Online (Sandbox Code Playgroud)

frameworks ios automatic-ref-counting parse-platform

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

ParseImageView缓存ParseFile

ParseImageView是否在Android中缓存ParseFile.如果它缓存parseFile,我如何在我的Android设备中找到这些文件的路径.

ParseImageView imageView = (ParseImageView) findViewById(android.R.id.icon);
 // The placeholder will be used before and during the fetch, to be replaced by the fetched image
 // data.
 imageView.setPlaceholder(getResources().getDrawable(R.drawable.placeholder));
 imageView.setParseFile(file);
 imageView.loadInBackground(new GetDataCallback() {
   @Override
   public void done(byte[] data, ParseException e) {
     Log.i("ParseImageView",
         "Fetched! Data length: " + data.length + ", or exception: " + e.getMessage());
   }
 });
Run Code Online (Sandbox Code Playgroud)

android caching parse-platform

13
推荐指数
2
解决办法
3095
查看次数

我无法在Parse中更新记录; 错误:"找不到更新的对象(代码:101,版本:1.2.16)"

我正在使用Parse作为我的原生iOS应用程序之一的后端.我无法在Parse中更新表上的记录.首先,我查询要更新它的对象.因此,"objects"数组返回1条记录但是当我想要更新它时,我得到以下错误;

"找不到更新的对象(代码:101,版本:1.2.16)"

那么您认为我无法更新Parse中的记录?(以下是我的代码)

谢谢,E.

PFQuery *query = [PFQuery queryWithClassName:@"askedFriends"];
[query whereKey:@"questionID" equalTo:aqDt.questionID];
[query whereKey:@"fbID" equalTo:FbId];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

NSArray *postArray = objects;
PFObject *post = postArray.lastObject;
[post setObject:@"sentReply" forKey:btnSelection];
[post saveInBackground];
}
Run Code Online (Sandbox Code Playgroud)

record insert-update ios parse-platform

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

如何判断循环中的块是否都已完成执行?

我有一个循环设置,下载一系列图像,我将在稍后用于使用animationImages属性的动画UIImageView.我想知道我的循环中的所有块何时完成执行所以我可以开始动画,并且想知道我怎么能够告诉他们什么时候完成完成?谢谢!

for (PFObject *pictureObject in objects){

    PFFile *imageFile = [pictureObject objectForKey:@"image"];
    NSURL *imageFileURL = [[NSURL alloc] initWithString:imageFile.url];
    NSURLRequest *imageRequest = [NSURLRequest requestWithURL:imageFileURL];

    [tokenImageView setImageWithURLRequest:imageRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
       [self.downloadedUIImages addObject:image]; //This is a mutableArray that will later be set to an UIImageView's animnationImages

    } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
        NSLog(@"Error %@", error);
    }];

}
//When I know all the blocks have finished downloading, I will then to animate the downloaded …
Run Code Online (Sandbox Code Playgroud)

objective-c ios objective-c-blocks parse-platform

13
推荐指数
1
解决办法
3657
查看次数

ParseInstaller.getCurrentInstallation().saveInBackground()冻结了我的应用程序

我发现大约1/5的测试都是冻结的,经过一些搜索后我把它缩小到了直线:

.ParseInstallation.getCurrentInstallation()saveInBackground();

我正在使用Parse 1.5.1和Android 4.4.2设备.我的应用程序类看起来像:

public class InitApplication extends Application {

 @Override
    public void onCreate() {
        super.onCreate();
        Parse.initialize(this, "my_App_ID", "my_Client_Key");
        PushService.setDefaultPushCallback(this, MainActivity.class);
        System.out.println("execution DOES reach here");
        ParseInstallation.getCurrentInstallation().saveInBackground();
    System.out.println("execution DOES NOT reach here");
    }
}
Run Code Online (Sandbox Code Playgroud)

我的设备上的行为是,我将首先看到一个空白的白色屏幕约5秒钟,然后屏幕变黑.我不确定屏幕保持黑色多长时间,因为我通常会强行关闭.我让它静置了大约10分钟,没有任何变化.我无法按下后退按钮,屏幕上的任何触摸都不起作用.我被迫使用我的主页按钮,然后强制关闭应用程序.重新打开应用程序后,它的行为和功能正常.

进一步的研究让我找到了这篇文章:https://www.parse.com/questions/android-saveinbackground-lock-the-main-thread

但是,我仍然无法找到解决方案.上述帖子中的一个建议是简单地移动此代码的位置.我在主要活动的onCreate()方法之后尝试了这一点(不要与应用程序的onCreate()方法混淆).行为似乎是正常的,直到我到达调用getCurrentInstallation.saveInBackground()代码的位置,我的应用程序冻结并且无法响应,直到我强制关闭它.

这个问题有什么解决方案吗?

android parse-platform

13
推荐指数
1
解决办法
3095
查看次数

libs文件夹在android studio中不起作用

我使用的是android studio 1.2 Beta 2的mac版本,建于2015年4月7日.Gradle版本2.2.1和Gradle插件版本1.1.0.

创建新项目后,默认情况下,我的app/build.gradle文件中存在以下代码.

...
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
Run Code Online (Sandbox Code Playgroud)

这意味着我添加到app/libs目录的任何jar文件都应该加载到我的项目中,对吗?但是,当我将Parse-1.9.0.jar添加到app/libs时,它没有被加载.我没能在MainActivity.java中使用API​​中的代码.

右键单击Parse-1.9.0.jar - > Add As Library ... app/build.gradle成为:

...
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile files('libs/Parse-1.9.0.jar')
}
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么.不应该编译fileTree()包含所有jar文件?为什么我需要做额外的步骤?

我下载的Parse-1.9.0.jar文件来自:https://parse.com/apps/quickstart#parse_data/mobile/android/native/existing

谢谢

android gradle parse-platform android-studio android-gradle-plugin

13
推荐指数
3
解决办法
3685
查看次数

Android:更新ParseUsers的字段

我正在使用ParseUser进行用户管理.拥有用户名(唯一),我计划查询User类以识别用户,然后将新分数添加到"score"字段,就像排行榜一样.编码如下:

码:

public void update_user_score(String username, int original_score, int add)
{
    final int new_score = original_score + add;  
    ParseQuery<ParseUser> query = ParseUser.getQuery();
    query.whereEqualTo("username", username);
    query.setLimit(1);

    query.findInBackground(new FindCallback() 
    {
          public void done(final ParseObject object, ParseException e) 
          {
            if (e == null) 
            {
                object.saveInBackground(new SaveCallback() 
                {
                    public void done(ParseException e) 
                    {
                        object.put("score", new_score);                                 
                        object.saveInBackground();                                      
                        onBackPressed();                            
                    }
                });
            }
          }
    });
}
Run Code Online (Sandbox Code Playgroud)

情况:它说明了这一点The type new FindCallback(){} must implement the inherited abstract method FindCallback.done(List, ParseException).我试过了FindCallback.done,发现它不成功.

题:

我想问一下如何使用给定的用户名更新用户的其他字段?谢谢!

android android-activity parse-platform

13
推荐指数
1
解决办法
1320
查看次数

类型参数不能应用于PFAnalytics和PFObject中的非参数化类BFTask

我已将我的项目更新到iOS 9,我的podfile和所有必需的文件,但它不会构建.我悲伤的根源是以下错误消息:

Type arguments cannot be applied to non-parameterized class 'BFTask'

这是唯一显示的错误,但它在两者中都显示多次PFAnalytics.h,可能更重要PFObject.h.

有人能告诉我这意味着什么,请建议一个解决方案?我希望我提供了足够的信息,但如果没有,请告诉我!

**更新01:**我无法发布错误的屏幕截图,因为我的声誉不够.

代码示例如下:在PFObject.h和中PFAnalytics.h,到处都有以下内容:

(BFTask PF_GENERIC(XXSOMECLASS *)*) someMethod; 
Run Code Online (Sandbox Code Playgroud)

抛出错误.这是不是我的代码,它是PFObject.hPFAnalytics.h以前一样说.抛出错误的函数示例PFObject.h如下

- (BFTask PF_GENERIC(NSNumber *)*)saveInBackground; 
- (BFTask PF_GENERIC(NSNumber *)*)saveEventually;
- (BFTask PF_GENERIC(NSNumber *)*)deleteInBackground;
+ (BFTask PF_GENERIC(NSNumber *)*)saveAllInBackground:(PF_NULLABLE NSArray *)objects;
+ (BFTask PF_GENERIC(NSNumber *)*)deleteAllInBackground:(PF_NULLABLE NSArray *)objects;
// .... etc
Run Code Online (Sandbox Code Playgroud)

当点击停止标志时,建议是删除PF_GENERIC(NSNumber*),导致这样的方法

 - (BFTask *)xxsomeMethod; 
Run Code Online (Sandbox Code Playgroud)

但这并没有帮助,因为它变得更加混乱

更新02:我的内容Podfile:

# Uncomment this line to define a global platform for your …
Run Code Online (Sandbox Code Playgroud)

objective-c parse-platform pfobject bftask

13
推荐指数
1
解决办法
3325
查看次数

如何在Query Parse.com之后将所有对象加载到数组中

我正在使用Parse.com作为我的后端,在Query之后如何用Parse对象中的所有数据填充数组?我怎样才能避免重新映射?例:

$scope.addContList = contacts.map(function(obj) { // re-map!!!!
   return {name: obj.get("name")}; // mapping object using obj.get()
});
Run Code Online (Sandbox Code Playgroud)

我正在逐个映射我的Parse对象的属性:name:obj.get("name")等等有更好的方法吗?

    $scope.addContList = [];
    var ActivityContact = Parse.Object.extend("ActivityContact2");
    var query = new Parse.Query(ActivityContact);
    query.equalTo("activityId", $scope.objId);
    query.find({
        success: function(contacts) {
            console.log("Successfully retrieved " + contacts.length + " contact.");
                $scope.$apply(function() {
                    /*$scope.addContList = contacts.map(function(obj) {
                        return {name: obj.get("name")}; // mapping object using obj.get()
                    });*/
                    for (var i = 0; i < contacts.length; i++) {
                          $scope.addContList.push(contacts.ALL_PROPERTIES); // contacts.ALL_PROPERTIES does not exist, I'm looking a way to do …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs parse-platform

13
推荐指数
1
解决办法
293
查看次数