我是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上的测试后运行应用程序后,它说没有数据。 !!
我不明白我在做什么错!!
答案 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();
}}