1. Wicki12, 30.07.2012 #1
    Wicki12

    Wicki12 Threadstarter Android-Hilfe.de Mitglied

    Hallo,

    meine App besteht aus einer MainActivity und einer ListActivity. In letzterer ermittle ich aus einer Datenbank die Google-Koordinaten von bestimmten Ortschaften und möchte nun die zugehörige Karte darstellen. Ich wollte nun zu diesem Zweck per Intent eine MapActivity starten. Als separate App funktioniert die MapActivity, aber mit
    Code:
    startActivity(context,intent) bzw. startService(intent)
    geht das nicht (Fehler NoClassDefFoundErr).
    Bin dankbar für jeden Hinweis.

    Gruß Wicki
     
    Zuletzt bearbeitet: 30.07.2012
  2. swordi, 30.07.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    warum versuchst du es überhaupt mit startService ?

    das weißt auf fehlende grundlagen hin.

    von der einen zeile ist es aber nicht möglich deinen fehler zu finden.

    du hast ja von deiner mainactivity auch die listactivty gestartet. genau gleich machst es dann mit deiner mapactivity

    btw: du musst das api level auf eines mit google APIs setzen, sonst gibts keine maps funktionalität. evtl fehlt das ja
     
  3. Wicki12, 31.07.2012 #3
    Wicki12

    Wicki12 Threadstarter Android-Hilfe.de Mitglied

    Genau das habe ich per "startActivity" auch gemacht, aber leider funktioniert es eben bei der MapActivity nicht. In einem Versuch habe ich in
    Code:
    class MyLocation extends MapActivity
    das "Map" mal weggelassen (und eine zu überschreibende abstrakte Mehode ausgeblendet), dann wurde die Klasse zumindest gestartet, nur dann funktioniert eben das Mapping nicht.
    Mir ist auch nicht klar, wo Android nach der ClassDefinition sucht, die Klasse selbst ist offensichtlich verfügbar.
    Ein Workaround wäre für mich, wenn ich aus meiner ListActivity die MapActivity als selbständige App (als solche funktioniert sie) mit Parameterübergabe starten könnte. Nur weiss ich nicht wie das geht.
    Bitte um Hilfe.

    Gruß Wicki
     
  4. swordi, 31.07.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    ja dann hast du das falsche api level gesetzt, wie oben geschrieben.

    die maps funktionalität benötigt SDK mit Google API

    -> Projekteinstellungen
     
  5. Wicki12, 31.07.2012 #5
    Wicki12

    Wicki12 Threadstarter Android-Hilfe.de Mitglied

    ich habe den Fehler gefunden. API-Level war richtig, Google API war gesetzt. Ich hatte in der Manifest-Datei die Anweisung
    Code:
    <uses-library android:name="com.google.android.maps" />
    ausserhalb der application-Anweisung statt innerhalb angeordnet.
    Dank für Deine Hilfe.
    Hast Du vielleicht noch einen Tipp, wie man aus einer App heraus eine andere starten kann ?

    Gruß Wicki
     
  6. swordi, 31.07.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    ah ja genau, dass ist auch noch nötig

    geht alles gleich - musst nur wissen was du starten willst
     
  7. Wicki12, 31.07.2012 #7
    Wicki12

    Wicki12 Threadstarter Android-Hilfe.de Mitglied

    Was bedeutet konkret geht alles gleich ? Was ich starten will weiss ich natürlich, davon kenne ich den App-Name,Package- und Klassenname. Aber wie muss ich das in Code umsetzen ?

    Hat sich erledigt, habe im Netz einen Code gefunden !

    http://stackoverflow.com/questions/3872063/android-launch-an-application-from-another-application

    Gruß Wicki
     
    Zuletzt bearbeitet: 31.07.2012