登录并显示地图可在模拟器上运行但在手机上崩溃

时间:2016-04-06 21:25:03

标签: android google-maps

我是Android开发的新手,我正在尝试创建一个允许某人登录并随后显示Google地图的应用。该应用似乎适用于Android Studio ADB模拟器,但我不完全确定,因为您无法在模拟器上显示Google地图。但是当我在三星S3上安装应用程序时,它在登录后崩溃了。

以下是登录的代码(我使用firebase):

@覆盖     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);
            }
        }

我正在使用地图片段在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 support@firebase.com

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)

1 个答案:

答案 0 :(得分:0)

我发现了问题,原来我的项目的API对我的手机来说太高了。当我在较新的设备上试用它时,该应用程序正常工作