我是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,我可以确保你有。如果有人能够帮助我解决我的问题,我将非常感激。感谢您抽出时间来阅读。
我恳请您确保在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()
);
}
}
首先,删除对你的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适用于您的应用程序并删除任何错误消息。
我想在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"