Android Android Google API

undertaker

Mitglied
Hallo zusammen,

habe ein (hoffentlich) kleines Problem mit der Google API. Und zwar würde ich gerne die Route von Punkt A nach Punkt B einzeichnen, was nach meiner Recherche auch machbar ist. Leider gibt es nur wenig Beispiele dazu die mir weiterhelfen also frage ich hier mal nach:

Mein Code basiert auf diesem Tutorial und sieht auch ganz gut aus, nur bekomme ich eine exception bei der HTTP-Verbindung. Hier mal der relevante Teil:

Java:
HttpURLConnection urlConnection = null;
		URL url = null;
		try {
			url = new URL(urlString.toString());
			urlConnection = (HttpURLConnection) url.openConnection(); 
			urlConnection.setRequestMethod("GET");
			urlConnection.setDoOutput(true);
			urlConnection.setDoInput(true);
			urlConnection.connect(); // Hier fliegt die Exception

Exception ist folgende:
Java:
06-28 14:31:43.412: E/AndroidRuntime(27389): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.RoutePathTestActivity}: android.os.NetworkOnMainThreadException

Hoffe mal ihr könnt mir weiterhelfen :)
 
Zuletzt bearbeitet:

Plopo

Bekanntes Mitglied
Es wäre besser, wenn du den Logcat von der entsprechenden Zeile postest.
(urlConnection.connect())
So kann man nur ahnen.
Keine Internetverbindung?
Falsche URL?
 

schlingel

Gesperrter Benutzer
Hast du denn schon in die Doku geschaut?

The exception that is thrown when an application attempts to perform a networking operation on its main thread.

This is only thrown for applications targeting the Honeycomb SDK or higher. Applications targeting earlier SDK versions are allowed to do networking on their main event loop threads, but it's heavily discouraged. See the document Designing for Responsiveness

Das Beispiel läuft auf neuen Geräten nicht mehr, weil die Netzwerkkommunikation im UI-Thread ausgeführt wird. IMHO ziemlich blöd dass das System das so vorschreibt aber du musst es in einen Thread auslagern.

PS: Der Titel ist schlecht gewählt. Dein Problem ist die Exception und nicht Android Google API.
 
Zuletzt bearbeitet:

Gregorrr

Bekanntes Mitglied
Hast du denn schon in die Doku geschaut?



Das Beispiel läuft auf neuen Geräten nicht mehr, weil die Netzwerkkommunikation im UI-Thread ausgeführt wird. IMHO ziemlich blöd dass das System das so vorschreibt aber du musst es in einen Thread auslagern.

PS: Der Titel ist schlecht gewählt. Dein Problem ist die Exception und nicht Android Google API.

Ich finde es schon gut, dass länger andauernde Berechnungen, die das UI blockieren können ausgelagert werden. Das erhöht die Benutzerfreundlichkeit und ich als Benutzer habe keine Lust Apps zu verwenden, die blockieren. Zwar wird das Programmieren schwieriger, aber Ziel sollte es IMHO sein, eine qualitativ hochwertige App zu bauen.

Dort steht auch, dass das nur für die Honeycomb API gilt. Mich würde mal interessieren, wenn man jetzt ne niedrigere API zielt, schmiert die App, dann auf einem Handy mit höherer API ab?

Ansonsten kann man die Connection in einen Handler auslagern, der dann in die Event-Queue enqeuet wird.
 

schlingel

Gesperrter Benutzer
1. Ist das Offtopic
2. Ist das eine philosophische Frage ob es gut ist eine Guideline in's System einzubacken. IMHO nicht, da es die Fragmentierung nur noch vergrößert und die ist leider Gottes nicht gerade klein. Aber mich hat keiner gefragt :D

Dort steht auch, dass das nur für die Honeycomb API gilt. Mich würde mal interessieren, wenn man jetzt ne niedrigere API zielt, schmiert die App, dann auf einem Handy mit höherer API ab?
Ja.

Ich hab mich gerade fürchterlich darüber geärgert, dass bei der HW-Acceleration nicht darauf geachtet wurde für alle Methoden des Canvas-Objekts OpenGL-Methoden zu entwickeln. Resultat: Apps schmieren gnadenlos auf Android-Geräten mit Android 4 ab weil dort HW-Acceleration standardmäßig on ist. Etwas was ich weder im Emulator noch auf meinen nicht vorhandenen Android 4 Geräten testen kann. Toll ...

Außerdem gilt das ab der Honeyomb-API, also auch für Android 4.

Ansonsten kann man die Connection in einen Handler auslagern, der dann in die Event-Queue enqeuet wird.
Keine Frage. Am besten ist es sowieso wenn man da den Android-Weg geht und das ganze über einen IntentService regelt. Ich hab auch so eine Thread-Lösung im Moment laufen und werde die bald umschreiben, da es damit nur Probleme auf Android-Geräten gibt. Puncto wie synchronisiere ich den Thread mit der bereits verstorbenen Activity? Das Context-Objekt gibt darüber ja keinen Aufschluss ... Aber das ist ein anderes Thema.

Trotzdem finde ich diese Pflicht nicht gut, da die App so einfach abschmiert obwohl es bei allen Geräten API-Level <11 problemlos funktioniert.

Außerdem macht es das Herumspielen für Anfänger nur noch schwieriger.
 
Zuletzt bearbeitet:

undertaker

Mitglied
Vielen Dank für die Antworten, werde es mal mit einem Thread ausprobieren wenn ich dazu komme. Nein, hatte noch nicht in die doku geschaut aber werde das auch mal machen und ja der titel ist wahrhaftig schlecht gewählt :) falls das Problem dann weiterhin besteht und es unbedingt gelöst werden muss, melde ich mich nochmal.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Google Maps auf Android ab welcher Version Android & Cross-Platform Mobile Apps 4
J Benachrichtigung Freigabe ab Android 14 Android & Cross-Platform Mobile Apps 1
J Android Benachrichtigung zum Zeitpunkt ers Android & Cross-Platform Mobile Apps 15
J Das Beispiel von Android erzeugt Fehler Android & Cross-Platform Mobile Apps 8
J Zeitdifferenzen unter Android 7 (API < 26) berechnen Android & Cross-Platform Mobile Apps 4
W Netzwerk Verbindungen Java Android Android & Cross-Platform Mobile Apps 107
Z Android IntelliJ Android & Cross-Platform Mobile Apps 2
M Repository bei Room-Database in Android Studio (Java) Android & Cross-Platform Mobile Apps 2
Android App auf das eigene Handy bekommen Android & Cross-Platform Mobile Apps 3
Alex IV Android App erstellen Android & Cross-Platform Mobile Apps 3
OnDemand CrossPlatform Kotlin iOs/Android Datenverbrauch Android & Cross-Platform Mobile Apps 2
W In Android Studio Integer an andere activities übergeben Android & Cross-Platform Mobile Apps 2
wladp Android Studio Room Database Android & Cross-Platform Mobile Apps 1
N "Schöne" Datatable in Android und setzen von Parametern von Textview im Code Android & Cross-Platform Mobile Apps 5
N Android game programmieren Android & Cross-Platform Mobile Apps 5
T Android Studio: Einen Button in einer For Schleife verwenden Android & Cross-Platform Mobile Apps 2
K BLE Komunikation mit Android studio und esp32 Android & Cross-Platform Mobile Apps 5
G Android UDP Kommunikation Android & Cross-Platform Mobile Apps 1
M Paper DB wird in Android Studio nicht erkannt Android & Cross-Platform Mobile Apps 7
J Android zugrif auf Thread nach Handy drehen. Android & Cross-Platform Mobile Apps 10
T Android Android Augmented Faces in Java. Neue Landmarks erstellen Android & Cross-Platform Mobile Apps 1
K Android Android In-App-Purchase lädt nicht Android & Cross-Platform Mobile Apps 0
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
J Is Android Development Head First Outdated? Android & Cross-Platform Mobile Apps 3
J Android Android Datenbankverbindung zum Raspberry Pi Android & Cross-Platform Mobile Apps 1
lolcore Android Studio -Download Documentation for Android SDK Android & Cross-Platform Mobile Apps 0
S Sinnvollste weg eine SQLite DB mit Android auslesen Android & Cross-Platform Mobile Apps 7
W Problem mit Android Studio Android & Cross-Platform Mobile Apps 0
W App Abo Android Android & Cross-Platform Mobile Apps 10
OSchriever Android Android MediaPlayer bei Anruf stoppen/pausieren Android & Cross-Platform Mobile Apps 2
OSchriever Auf onClick-Listener reagieren und Parameter übergeben (Android Studio) Android & Cross-Platform Mobile Apps 4
W removeNetwork Android App mit Spendenaktion fürs Tierheim! Android & Cross-Platform Mobile Apps 1
T Android R.string.test+i Problem Android & Cross-Platform Mobile Apps 2
P undefinierbarer Fehler Android Android & Cross-Platform Mobile Apps 8
T Android ArrayList sortieren mit 2 Werten ohne thencomparing , Wie? Android & Cross-Platform Mobile Apps 10
W Variable überschreiben (Android Studio) Android & Cross-Platform Mobile Apps 2
ruutaiokwu Android Selbst entwickelter SMTP-Client läuft auf PC, nicht aber auf Android Android & Cross-Platform Mobile Apps 9
ruutaiokwu Android Warum muss man bei Android Studio immer 2x auf "Run" klicken damit die App auf dem Gerät startet Android & Cross-Platform Mobile Apps 8
ruutaiokwu Android Wo das 'android.useAndroidX' property hinzufügen? Android & Cross-Platform Mobile Apps 8
ruutaiokwu Android In einem Android-“Spinner”-Element GLEICHZEITIG Bild (links) UND Text (rechts) anzeigen Android & Cross-Platform Mobile Apps 0
P Login und Registrierung Android Anzeige Android & Cross-Platform Mobile Apps 7
S Von JavaFx zu Android Android & Cross-Platform Mobile Apps 12
K Android to Pi | Websocket Problem Android & Cross-Platform Mobile Apps 3
ruutaiokwu Wie fügt man bei Android Studio .jar-Libraries zu einem Android-Java-Projekt hinzu? Android & Cross-Platform Mobile Apps 33
M Komponenten positionieren in Android Studio 3.6.3 Android & Cross-Platform Mobile Apps 1
M Android Studio - Property-Fenster einblenden Android & Cross-Platform Mobile Apps 1
M Android Studio - App auf dem Smartphone testen Android & Cross-Platform Mobile Apps 7
M Barrierefreie Appentwicklung für Android - Suche Codebeispiele Android & Cross-Platform Mobile Apps 8
M Android Studio - Configuration fehlt Android & Cross-Platform Mobile Apps 20
M Wo kann ich das Android SDK herunterladen / wie kann ich es installieren Android & Cross-Platform Mobile Apps 3
M Unsupported class file major version 57 - Fehlermeldung bei Android Studio Android & Cross-Platform Mobile Apps 27
ruutaiokwu Android Studio (SDK) ANDROID_SDK_ROOT-Variable? Android & Cross-Platform Mobile Apps 5
O Web API in Android (JAVA) einbinden Android & Cross-Platform Mobile Apps 3
J Android Studio macht seltsame Sachen Android & Cross-Platform Mobile Apps 2
J Android 9.1 aber android Studio findet API22 Android & Cross-Platform Mobile Apps 0
Dimax Web-Seite in native app convertieren mit Android Studio Android & Cross-Platform Mobile Apps 8
A Android Studio: while-Schleife beginnt nicht Android & Cross-Platform Mobile Apps 5
lolcore android studio: fehler bei laden des emulators Android & Cross-Platform Mobile Apps 10
J Android App - Browser öffnen und Text eingeben/Button click auslösen Android & Cross-Platform Mobile Apps 10
A Android-Studio: 2. Layout nach kurzer Zeit aufzeigen Android & Cross-Platform Mobile Apps 2
A jpg wird im Android Studio nicht akzeptiert Android & Cross-Platform Mobile Apps 3
J Android Studio - ArrayList - Selected Item ermitteln Android & Cross-Platform Mobile Apps 13
T Android SDK-Manager startet nicht in Eclipse Android & Cross-Platform Mobile Apps 5
T Bringen mir die Java-Basics irgendetwas für die Android-Programmierung Android & Cross-Platform Mobile Apps 4
J Was soll das bedeuten ? does not require android.permission.BIND_JOB_SERVICE permission Android & Cross-Platform Mobile Apps 7
A Android Studio: ImageView verpixelt Android & Cross-Platform Mobile Apps 2
J intend Service im Android Studio Android & Cross-Platform Mobile Apps 4
L Android Android Development eventuell mit Flutter Android & Cross-Platform Mobile Apps 1
S Android Layout - welchen Typ? Android & Cross-Platform Mobile Apps 3
T Fehler Android Studio: java.net.MalformedURLException: no protocol: http%3A%2F%2Fwww.mal ..... Android & Cross-Platform Mobile Apps 2
Arif Android Android Studio: Fehler beim Einbinden fremder Bibliothek? Android & Cross-Platform Mobile Apps 2
L Android Android Contacts DB auslesen Android & Cross-Platform Mobile Apps 1
A Android Studio - App mit Nearby Android & Cross-Platform Mobile Apps 1
L Android content URI Datei einlesen Android & Cross-Platform Mobile Apps 9
N Android Game Background Service Android & Cross-Platform Mobile Apps 11
Jackii Android Android Studio Error im Testlauf ohne zu programmieren Android & Cross-Platform Mobile Apps 9
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
Excess Android Service läuft nicht in Sandby weiter Android & Cross-Platform Mobile Apps 2
B Android Projekt für Android und IOS erstellen? Android & Cross-Platform Mobile Apps 5
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
J Android Snake Android & Cross-Platform Mobile Apps 15
J Android TaschenRechner Android & Cross-Platform Mobile Apps 22
I Das Problem mit der Tastatur... android:windowSoftInputMode="adjustPan" Android & Cross-Platform Mobile Apps 1
E Wie erhalte ich Zugriff auf das Microfon? (Android Studio) Android & Cross-Platform Mobile Apps 9
C Android Programmierung speziell oder einfach Java Buch kaufen? Android & Cross-Platform Mobile Apps 3
B Android Kein Zugriff auf Telefonspeicher (Android 6) Android & Cross-Platform Mobile Apps 1
T Android Equalizer für Android Android & Cross-Platform Mobile Apps 3
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
L Android Methode funktioniert nicht unter Android Android & Cross-Platform Mobile Apps 3
A Beginnen mit Serverkommunikatsion in Android Studio Android & Cross-Platform Mobile Apps 6
E Android Studio Android & Cross-Platform Mobile Apps 15
L Android Android Studio Setup killt Explorer Android & Cross-Platform Mobile Apps 3
K Android Videos rendern Android & Cross-Platform Mobile Apps 1
J Variable in strings.xml (Android Studio) Android & Cross-Platform Mobile Apps 0
B Android Android Studio lässt PC abstürzen Android & Cross-Platform Mobile Apps 3
B Android App Fehler Android & Cross-Platform Mobile Apps 21
J android Spinner funktioniert nicht Android & Cross-Platform Mobile Apps 14
G Android Push Notification Android & Cross-Platform Mobile Apps 2
Light Lux Fehlermeldung unter Android Studio Android & Cross-Platform Mobile Apps 1
D Android Android Apps direkt vom Handy aus programmieren? Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben