initialize (com.parse.Parse.Configuration) в Parse нельзя применить к ошибке MainActivity?
Я новичок в разработке 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)
Я искал в нескольких различных областях и не могу найти ничего, что относится к моей проблеме или как ее решить. Я также прошел весь урок, чтобы убедиться, что следовал ему до Т, и я могу убедиться, что у меня есть. Если кто-нибудь сможет помочь мне решить мою проблему, я буду очень признателен. Спасибо, что нашли время, чтобы прочитать это.
2 ответа
Во-первых, УДАЛИТЕ любые ссылки 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 работать для вашего приложения и удалять любые сообщения об ошибках.
Я думаю, 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"
Я прошу вас убедиться, что вы используете последнюю версию 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()
);
}
}