• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd przy tworzeniu aplikacji z Google Maps

VPS Starter Arubacloud
0 głosów
334 wizyt
pytanie zadane 12 lipca 2019 w Java przez kvbq Obywatel (1,490 p.)

Próbuje stworzyć aplikacje dla androida używającą Google Maps. Po ustawianiu wszystkich rzeczy (nazwa, typ activity jako mapa itp), kliknięciu zakończ i wygenerowaniu klucza cały czas pojawia się błąd w tym miejscu: 

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
        .findFragmentById(R.id.map);

 

Treść błędu: inconvertible types; cannot cast 'android.support.v4.app.Fragment' to 'com.google.android.gms.maps.SupportMapFragment'

Nie zacząłem jeszcze nawet pisać programu. Z góry dziękuję za pomoc. 

2 odpowiedzi

0 głosów
odpowiedź 12 lipca 2019 przez SmoothCrash Obywatel (1,520 p.)
musisz zmienic z import android.app.Fragment; na import android.support.v4.app.Fragment;

i import android.app.FragmentManager; na import android.support.v4.app.FragmentManager;
komentarz 13 lipca 2019 przez kvbq Obywatel (1,490 p.)

Mam tylko takie importy:

import android.support.v4.app.FragmentActivity;
import android.os.Bundle;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

 

Nigdzie nie ma android.app.Fragment ani android.app.FragmentManager

Nawet po dodaniu android.support.v4.app.Fragment i android.support.v4.app.FragmentManager nic się nie dzieje, jedynie pokazuje je jako nieużywane

komentarz 13 lipca 2019 przez SmoothCrash Obywatel (1,520 p.)
a jak dodasz te dwa co pisalem to tez nie dziala ?
komentarz 15 lipca 2019 przez kvbq Obywatel (1,490 p.)

Próbowałem i android.support.v4.app.Fragment z android.support.v4.app.FragmentManager

oraz android.app.Fragment z import android.app.FragmentManager. Wszystkie pokazują się jako nieużywane. Mam jeszcze error w logach 

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
	is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
	Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:15:5-45:19 to override.

Z tym, że po dodaniu tego tools:replace="android:appComponentFactory" pojawiają się 2 nowe błedy

Error: tools:replace specified at line:15 for attribute android:appComponentFactory, but no new value specified app main manifest (this file), line 14 
Error: Validation failed, exiting app main manifest (this file)

 

0 głosów
odpowiedź 16 lipca 2019 przez kvbq Obywatel (1,490 p.)

Udało mi się rozwiązać problem. Dla osób, które tu trafią tu jest link do strony z rozwiązaniem:

http://qaru.site/questions/17913730/inconvertible-types-cannot-cast-androidsupportv4appfragment-to-comgoogleandroidgmsmapssupportmapfragment

I tłumaczenie z Google Translate

Zmagałem się również z tym problemem, ale okazuje się, że nowa wersja map Google korzysta z AndroidX z wersji 17.0.0. Więc powinieneś użyć 16.1.0

Więc zmień to:

implementacja 'com.google.android.gms: play-services-maps: 17.0.0'
Do tego:

implementacja 'com.google.android.gms: play-services-maps: 16.1.0'
Upewnij się również, że nie używasz tego, który używa AndroidX: w moim przypadku użyłem go, co spowodowało problemy:


 
implementacja „com.google.android.gms: play-services-location: 17.0.0”
więc też to zrobiłem

implementacja „com.google.android.gms: play-services-location: 16.0.0”
To jest lista wersji; https://mvnrepository.com/artifact/com.google.android.gms/play-services-maps

Prawidłowe wersje usług Google Play to https://developers.google.com/android/guides/releases.

Podobne pytania

0 głosów
0 odpowiedzi 1,231 wizyt
pytanie zadane 2 lipca 2019 w JavaScript przez cyrus33 Użytkownik (680 p.)
0 głosów
1 odpowiedź 372 wizyt
pytanie zadane 17 grudnia 2017 w JavaScript przez chmod96 Obywatel (1,380 p.)
0 głosów
0 odpowiedzi 171 wizyt
pytanie zadane 14 listopada 2017 w Inne języki przez ebo96rok Bywalec (2,980 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...