Приложение Google Maps - приложение работает с ошибками - PullRequest
0 голосов
/ 12 января 2020

В настоящее время я работаю над приложением, которое получает местоположение пользователя и позволяет пользователю просматривать близлежащие местоположения с помощью API мест. Всякий раз, когда я пытаюсь выполнить код, я получаю несколько ошибок, в результате которых возникает одна ошибка, которая находится в моем основном классе MapActivity, так выглядит ошибка:

 at projektapplikation.MapsActivity.onCreate(MapsActivity.java:60)

Метод, который получает ошибку: называется OnCreate и выглядит так:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);

        //Init Service
        mServiceType = Common.getGoogleAPIServiceType();

        //Request Runtime Permission
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            checkLocationPermission();
        }

        BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
        bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {

                switch (item.getItemId()) {
                    case R.id.action_hospital:
                        nearByPlace("Sjukhus");
                        break;
                    case R.id.action_market:
                        nearByPlace("Shopping");
                        break;
                    case R.id.action_retaurant:
                        nearByPlace("Resturang");
                        break;
                    case R.id.action_school:
                        nearByPlace("Skola");
                        break;
                    default:
                        break;

                }


                return true;
            }
        });
    }

Вот как выглядит мой gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "se.hig.p18wisa02.projektapplikation"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }


    repositories
            {
                jcenter()
                google()

            }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.squareup.retrofit2:retrofit:2.7.1'
    implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
    implementation 'androidx.appcompat:appcompat:1.0.2'
    compile 'com.android.support:design:28.0.0'
    implementation 'com.google.android.gms:play-services-maps:16.0.0'
    implementation 'com.google.android.gms:play-services:16.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}

Это все мои ошибки:

    2020-01-12 18:37:08.508 26780-26780/se.hig.p18wisa02.projektapplikation E/jektapplikatio: The String#value field is not present on Android versions >= 6.0
2020-01-12 18:37:08.806 26780-26780/se.hig.p18wisa02.projektapplikation D/AndroidRuntime: Shutting down VM
2020-01-12 18:37:08.807 26780-26780/se.hig.p18wisa02.projektapplikation E/AndroidRuntime: FATAL EXCEPTION: main
    Process: se.hig.p18wisa02.projektapplikation, PID: 26780
    java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method
        at okhttp3.internal.Util.<clinit>(Util.java:87)
        at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321)
        at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313)
        at okhttp3.HttpUrl.get(HttpUrl.java:917)
        at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492)
        at se.hig.p18wisa02.projektapplikation.Remote.RetrofitClient.getClient(RetrofitClient.java:10)
        at se.hig.p18wisa02.projektapplikation.Common.getGoogleAPIServiceType(Common.java:12)
        at se.hig.p18wisa02.projektapplikation.MapsActivity.onCreate(MapsActivity.java:67)
        at android.app.Activity.performCreate(Activity.java:7136)
        at android.app.Activity.performCreate(Activity.java:7127)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.ClassCastException: Bootstrap method returned null
        at okhttp3.internal.Util.<clinit>(Util.java:87) 
        at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321) 
        at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313) 
        at okhttp3.HttpUrl.get(HttpUrl.java:917) 
        at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492) 
        at se.hig.p18wisa02.projektapplikation.Remote.RetrofitClient.getClient(RetrofitClient.java:10) 
        at se.hig.p18wisa02.projektapplikation.Common.getGoogleAPIServiceType(Common.java:12) 
        at se.hig.p18wisa02.projektapplikation.MapsActivity.onCreate(MapsActivity.java:67) 
        at android.app.Activity.performCreate(Activity.java:7136) 
        at android.app.Activity.performCreate(Activity.java:7127) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6669) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

I ' Я не знаю, что мне нужно изменить, чтобы заставить его работать, поэтому я очень признателен за помощь.

1 Ответ

1 голос
/ 12 января 2020

Последняя выпущенная com.google.android.gms:play-services версия 12.0.1, как объявлено здесь , поэтому измените

implementation 'com.google.android.gms:play-services:16.0.0'

на

implementation 'com.google.android.gms:play-services:12.0.1'

Также обратите внимание, что вы должны не используйте устаревшие репозитории поддержки, пока вы используете AndroidX. Поэтому вместо

compile'com.android.support:design:28.0.0'

используйте

implementation 'com.google.android.material:material:1.0.0'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...