无法将Parse中的初始化(com.parse.Parse.Configuration)应用于MainActivity错误?

时间:2018-10-08 09:37:22

标签: android android-studio parse-platform back4app parse-sdk-android

我是android开发,应用程序开发和一般开发的初学者,我正在尝试为我的android应用程序设置后端数据库。我决定使用一个名为back4app的服务,以便对数据库具有更友好的用户体验,因为我也是使用数据库的新手。

无论如何,我遵循了here上的教程,这是一个不错的教程,只是它有点过时了。在本教程的最后,它指出mainactivity中的oncreate方法应如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Parse.initialize(this);

    ParseInstallation.getCurrentInstallation().saveInBackground();
}

当我输入此代码时,我得到一个语法错误,内容如下:

initialize (com.parse.Parse.Configuration) in Parse cannot be applied to (com.example.zica.spartanjcapp.MainActivity)

我在几个不同的领域进行了搜索,找不到与我的问题或解决方法有关的任何内容。我也仔细阅读了整个教程,以确保我遵循了T,并且可以确保您拥有该教程。如果有人能够帮助我解决我的问题,我将不胜感激。感谢您抽出时间来阅读。

3 个答案:

答案 0 :(得分:2)

我恳请您确保在build.gradle(Module:app)中使用最新版本的Parse SDK。

implementation 'com.github.parse-community.Parse-SDK-Android:parse:1.18.5' // latest SDK version

您的存储库如下:

repositories {
    mavenCentral()
    jcenter()
    maven {
        url "https://jitpack.io"
    }
}

如果是这样,请使用如下初始化代码再次检查您的“ App.java”文件:

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

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Parse.initialize(new Parse.Configuration.Builder(context: this)
                .applicationId("<APP ID HERE>")
                .clientKey("<CLIENT KEY HERE>")
                .server("<SERVER URL HERE>")
                .build()
        );

    }
}

答案 1 :(得分:2)

首先,删除对您的MainActivity.java的所有Parse引用,因此它应如下所示:

import com.parse.ParseObject;
import com.parse.ParseUser;

// Import whatever Parse classes you need here...

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Remove ALL Parse references, do NOT use them here...
    }
}

然后,在您的App.java文件中,执行以下操作:

import com.parse.Parse;

// Add/keep other imports as required...

public class App extends Application {
@Override
public void onCreate() {
    super.onCreate();
    Parse.initialize(new Parse.Configuration.Builder(context: this)
            .applicationId("APP_ID_HERE")
            .clientKey("CLIENT_KEY_HERE")
            .server("SERVER_URL_HERE")
            .enableLocalDataStore() // <--- ADD THIS HERE!
            .build()
    );
}

当然可以像这样将App.java文件添加到您的Manifest.xml

<application
    android:name=".App"

    <!-- Add other settings, as required... -->

</application>

这将使localDatastore适用于您的应用并删除所有错误消息。

答案 2 :(得分:1)

我想context中使用的Parse.initialize(this);引起了问题。

尝试创建一个Application类,并将其命名为App

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

public class App extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Parse.initialize(this); // initialize it here
    }
}

然后在onCreate()的{​​{1}}中使用它:

Activity

就像他们的example

请记住将其添加到您的AndroidManifest.xml中:

// Save the current Installation to Back4App
ParseInstallation.getCurrentInstallation().saveInBackground();