2016-04-06 9 views
-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) 
+2

うわー、それはたくさんのコードです。問題の小さな再現可能な例を投稿できますか? – JAL

+0

申し訳ありません。今はいいですか?私は、ログインアクティビティを使用して以来、多くのコードがAndroid Studioによって生成されたと思います。 – sk9r

答えて

0

私は私のプロジェクトのが判明、問題を発見しましたAPIが私の携帯電話にとって高すぎました。私が新しいデバイスで試したときにアプリが動作しました

関連する問題