initialize (com.parse.Parse.Configuration) в Parse нельзя применить к ошибке MainActivity? - PullRequest
0 голосов
/ 08 октября 2018

Я новичок в разработке android и разработке приложений в целом, и я пытаюсь настроить базу данных для своего приложения для Android.Я решил использовать сервис под названием back4app, чтобы иметь более удобный для пользователя опыт работы с базой данных, так как я также новичок в использовании баз данных.

В любом случае, я следовал руководству, которое находится здесь , который был хорошим учебником, за исключением того, что он был немного устаревшим.В конце урока говорится, что мой метод oncreate в mainacctivity должен выглядеть следующим образом:

@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)

Я искал в нескольких различных областях и не могу найти ничего, что относится к моей проблеме или как ее решить.Я также прошел весь урок, чтобы убедиться, что следовал ему до Т, и я могу убедиться, что у меня есть.Если кто-нибудь сможет помочь мне решить мою проблему, я буду очень благодарен.Спасибо, что нашли время, чтобы прочитать это.

Ответы [ 3 ]

0 голосов
/ 15 октября 2018

Я прошу вас убедиться, что вы используете последнюю версию Parse SDK в вашем build.gradle (Модуль: приложение).

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()
        );

    }
}
0 голосов
/ 20 февраля 2019

Во-первых, УДАЛИТЕ любые ссылки Parse на ваш MainActivity.java, поэтому он должен выглядеть следующим образом:

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 работать для вашего приложения и удалить все сообщения об ошибках.

0 голосов
/ 08 октября 2018

Я думаю, 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();

Так же, как их пример .

Не забудьте добавить его в свой AndroidManifest.xml:

<application
 android:name=".App"
...