Parse中的initialize(com.parse.Parse.Configuration)无法应用于MainActivity Error?

问题描述 投票:1回答:3

我是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,我可以确保你有。如果有人能够帮助我解决我的问题,我将非常感激。感谢您抽出时间来阅读。

android android-studio parse-platform back4app parse-sdk-android
3个回答
3
投票

我恳请您确保在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()
        );

    }
}

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适用于您的应用程序并删除任何错误消息。


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()Activity中使用它:

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

就像他们的example

记得在AndroidManifest.xml中添加它:

<application
 android:name=".App"
© www.soinside.com 2019 - 2024. All rights reserved.