-1
Android開発の初心者です。後でログインしてGoogleマップを表示できるアプリを作成しようとしています。このアプリはAndroid Studio ADBエミュレータで動作するようですが、エミュレータにGoogleマップを表示できないため、完全にはわかりません。しかし、Samsung S3にアプリをインストールすると、ログイン後にクラッシュします。ここで ログインして地図を表示することはエミュレータではできますが、電話でクラッシュします
は、ログイン用のコード(私はfirebaseを使用しています)です:@Override 保護され、ボイドのonCreate(バンドル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);
}
}
私は、XMLファイル内のマップを表示するマップフラグメントを使用しています:
<?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>
これは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)
うわー、それはたくさんのコードです。問題の小さな再現可能な例を投稿できますか? – JAL
申し訳ありません。今はいいですか?私は、ログインアクティビティを使用して以来、多くのコードがAndroid Studioによって生成されたと思います。 – sk9r