Parse.com用实际设备说“还没有数据”

时间:2014-01-04 14:43:02

标签: android cloud parse-platform

我是Parse.com的新手并尝试快速启动项目。我正在按照每个步骤在android平台上构建一个应用程序。但是每次点击Test button时,我都会收到“没有数据”的消息。 到目前为止我所做的是:

MainActivity:

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Parse.initialize(this, "AMRjGNY53W2HFZILS7M64rZy3b8mSz3qGkf1KeOE","xquKy2rT8FSeFYCd8A8mIVOCqqO5SlSMrCwlZ0ux");
    ParseAnalytics.trackAppOpened(getIntent());
    ParseObject testObject = new ParseObject("TestObject");
    testObject.put("foo", "bar");
    testObject.saveInBackground();
}}

我的应用程序类是:

package com.example.hello1;

import android.app.Application;
import com.parse.Parse;

public class ParseApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        // Add your initialization code here
        Parse.initialize(this, "AMRjGNY53W2HFZILS7M64rZy3b8mSz3qGkf1KeOE", "xquKy2rT8FSeFYCd8A8mIVOCqqO5SlSMrCwlZ0ux");
    }

和清单文件:

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:name="ParseApplication"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name="com.example.hello1.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

在我点击parse.com上的测试后运行应用程序后,它说没有数据。 !!

我不明白我在做什么错!!

3 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。转到清单文件,确保应用程序节点引用Java文件。

例如,您的应用程序类位于

之下

公共类MyApplication扩展了Application {...}

在AndroidManifest中你需要这样的东西......

 <application
  android:name="com.example.test.MyApplication"

这样,应用程序就可以调用您的应用程序文件。 =)

确保使用完全限定的班级名称。

答案 1 :(得分:1)

您可以尝试查看尝试保存对象时会发生什么。 下面的代码是一个示例,说明如何使用保存回调执行此操作。

我也遇到过这个问题,当我实现这个方法时,我发现我得到了一个https连接错误。后来我发现我的设备的主机文件阻止了api通话。

    ParseObject testObject = new ParseObject("TestObject");
    testObject.put("foo", "bar");
    Log.e("PARSE.COM","DOWNLOAD STARTED");
    testObject.saveInBackground(new SaveCallback() {
        @Override
        public void done(ParseException e) {
            if (e != null) {
                Log.e("PARSE.COM","FAILED" + e.getMessage());
            }
            else
            {
                Log.e("PARSE.COM","SUCCESS");
            }
        }
    });

答案 2 :(得分:0)

使用此代码并重试,您需要将Parse.initialize放在第一行

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Parse.initialize(this, "AMRjGNY53W2HFZILS7M64rZy3b8mSz3qGkf1KeOE", "xquKy2rT8FSeFYCd8A8mIVOCqqO5SlSMrCwlZ0ux")
    ParseAnalytics.trackAppOpened(getIntent());
    ParseObject testObject = new ParseObject("TestObject");
    testObject.put("foo", "bar");
    testObject.saveInBackground();
}}