Ich bin neu in der Android-Entwicklung und versuche, eine App zu erstellen, mit der sich jemand anmelden und eine Google Map später anzeigen kann. Die App scheint auf dem Android Studio ADB-Emulator zu funktionieren, aber ich bin mir nicht ganz sicher, weil du keine Google Map auf dem Emulator anzeigen kannst. Aber wenn ich die App auf meinem Samsung S3 installiere, stürzt es ab, nachdem ich mich angemeldet habe. HierAnmeldung und Anzeige einer Karte funktioniert auf Emulator aber stürzt auf Telefon
ist der Code für das Login (Ich bin mit Feuerbasis):
@Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState);
setContentView(R.layout.activity_login);
// Set up the login form.
mEmailView = (AutoCompleteTextView) findViewById(R.id.email);
populateAutoComplete();
mPasswordView = (EditText) findViewById(R.id.password);
mPasswordView.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView textView, int id, KeyEvent keyEvent) {
if (id == R.id.login || id == EditorInfo.IME_NULL) {
attemptLogin();
return true;
}
return false;
}
});
Button mEmailSignInButton = (Button) findViewById(R.id.email_sign_in_button);
mEmailSignInButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
attemptLogin();
}
});
mLoginFormView = findViewById(R.id.login_form);
mProgressView = findViewById(R.id.login_progress);
Firebase.setAndroidContext(this);
}
private void registerUser(String email, String password) {
Firebase mFirebaseRef = new Firebase("https://shining-fire-3472.firebaseio.com/users/");
User newuser = new User(email, password);
mFirebaseRef.push().setValue(newuser);
Intent intent = new Intent(LoginActivity.this, LogedIn.class);
//intent.putExtra("passingEmail", newuser.getEmail());
//intent.putExtra("passingPass", newuser.getPassword());
startActivity(intent);
private void signInUser(String email, String password) {
//boolean varifyingEmail = varifyEmail(email);
//if (varifyingEmail == true) {
Firebase ref = new Firebase("https://shining-fire-3472.firebaseio.com/users/");
Query queryRef = ref.orderByChild("email").equalTo(email);
queryRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot : dataSnapshot.getChildren()) {
User user = userSnapshot.getValue(User.class);
Intent intent = new Intent(LoginActivity.this, LogedIn.class);
//intent.putExtra("passingEmail", user.getEmail());
//intent.putExtra("passingPass", user.getPassword());
startActivity(intent);
}
}
ich ein Fragment der Karte bin mit der Karte in einer XML-Datei anzuzeigen:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="ca.maciorowski.maciorowski.railapp.LogedIn">
<fragment
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
Dies ist logcat:
04-06 13:43:57.394 20243-20983/ca.maciorowski.maciorowski.railapp E/RunLoop: Uncaught exception in Firebase runloop (2.5.0). Please report to [email protected]
java.lang.VerifyError: com/shaded/fasterxml/jackson/databind/ObjectMapper
at com.firebase.client.utilities.encoding.JsonHelpers.<clinit>(JsonHelpers.java:7)
at com.firebase.client.realtime.WebsocketConnection.<init>(WebsocketConnection.java:151)
at com.firebase.client.realtime.Connection.<init>(Connection.java:66)
at com.firebase.client.core.PersistentConnection.establishConnection(PersistentConnection.java:300)
at com.firebase.client.core.Repo.deferredInitialization(Repo.java:82)
at com.firebase.client.core.Repo.access$000(Repo.java:21)
at com.firebase.client.core.Repo$1.run(Repo.java:71)
at com.firebase.client.utilities.DefaultRunLoop$1.run(DefaultRunLoop.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:153)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
04-06 13:43:57.399 20243-20243/ca.maciorowski.maciorowski.railapp E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.VerifyError: com/shaded/fasterxml/jackson/databind/ObjectMapper
at com.firebase.client.core.view.QueryParams.<clinit>(QueryParams.java:36)
at com.firebase.client.Firebase.<init>(Firebase.java:172)
at com.firebase.client.Firebase.<init>(Firebase.java:177)
at com.firebase.client.Firebase.<init>(Firebase.java:155)
at ca.maciorowski.maciorowski.railapp.LoginActivity.signInUser(LoginActivity.java:225)
at ca.maciorowski.maciorowski.railapp.LoginActivity.attemptLogin(LoginActivity.java:203)
at ca.maciorowski.maciorowski.railapp.LoginActivity.access$000(LoginActivity.java:45)
at ca.maciorowski.maciorowski.railapp.LoginActivity$2.onClick(LoginActivity.java:99)
at android.view.View.performClick(View.java:4475)
at android.view.View$PerformClick.run(View.java:18786)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1209)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1025)
at dalvik.system.NativeStart.main(Native Method)
Wow, das ist eine Menge Code. Können Sie ein kleines reproduzierbares Beispiel des Problems posten? – JAL
Entschuldigung. Ist es jetzt besser? Ich denke, dass viel Code von Android Studio generiert wurde, da ich eine Login-Aktivität verwendet habe. – sk9r