Beiträge von CdWechsler

    Moin Killphil75,


    also übergeben wird die url richtig.


    Hallo killphil75,


    danke für deine hilfreiche beschreibung. musste mir noch ein paar tutorials reinziehen um mit dem debuggen ein wenig umgehen zu können. also ich habe zwei breakpoints gesetzt. einmal wo der try-block beginnt (der breakpoint ist dann in der zeile URL url = new URL("...");) gesetzt und einmal an der checkReq() Methode (1. zeile). beim debuggen kommt der 1. breakpoint, also die zeile URL url = new URL("...");. wenn ich dann auf stepInto klicke um zur nächsten zeile zu springen, kommt diese meldung. wenn ich ein schritt zurück gehe und dann auf resume klicke, komme ich zum nächsten breakpoint. dort bei der zeile httpURLConnection.setReadTimeout(30000); bekomme ich diese Meldung. Hmm... also ganz verstanden habe ich es nicht. Müssen zusätzliche jars angehängt werden oder wie jetzt? :-/

    hmm, debuggen tue ich selten und habe da nicht so die erfahrung.


    da steht folgendes:



    der rest ist das gleiche wie vorher. sollte ich jetzt herausfinden was debugger has settled (1302) bedeutet?? ist das die nützliche info? (sry wegen den ganzen keinlichen fragen) :-/

    stimmt, du hast recht.


    habe den catch-block wie du geraten hast erweitert.




    NACHTRAG: ok, habe es gesehen. -> NULL :(

    Moin killphil75,


    ne du hast mich falsch verstanden. Ich bekomme keine fehlermeldungen oder irgendwelche abstürze. Was ich meinte ist, dass vom try-catch block der catch block ausgeführt wird, Also die methode showServerUnreachableMessage(). dadrunter habe ich ja noch einen log.eintrag hinzugefügt. Also wenn ich die app ausführe dann erscheint sofort der errorDialog. ich glaube nicht, dass die app überprüft hat, ob der server online oder offline ist.


    hier sind die logeinträge, wenn ich die app ausführe:


    habe das jetzt ohne thread/asynctask zum laufen gebracht. es läuft zwar, aber wird immerwieder die exception ausgeführt, also sprich der alertdialog ausgeworfen. der link wird gar nicht gecheckt ob diese erreichbar ist.



    irgendeiner eine idee?

    hallo killphil75,


    danke für deine hilfe. meinst du mit getActivityContext getApplicationContext??


    ich habe das in einen separaten thread gepackt. aber anscheinend kann ich diese doch nicht aus der onResume()-Methode aus ausführen.


    MainActivity:



    Thread:


    wieder eine nullpointerexception :-/


    die letzte zeile des log-cats zeigt, dass es eine erfolgreiche verbinung gab. in zeile 445 seht die if-bedinung


    Code
    if(serverOnline == false) {
    			
    			showServerUnreachableMessage();
    		}


    was genau mache ich falsch? :-[

    Hallo leude,


    ich bin es mal wieder. Hmm.. also ich beschäftige mich gerade mit dem Problem, wie ich mit einer App überprüfen kann ob ein Server online ist. Die Anwendung selbst greift nämlich auf eine webservice zu. Und falls dieser nicht online sein sollte, habe ich mir überlegt, dass die anwendung so früh wie möglich den user informieren soll (z.B. mit einem AlertBox mit der message das der Service gerade nicht genutzt werden kann, da keine Verbindung zum Server hergestellt werden kann). Allerdings bekomme ich stets eine NullPointerException wenn ich die app ausführe. Die Verbindung zu dem webservice wird erst über einen menübutton ausgeführt. was ich möchte ist, das während die activity aufgebaut wird oder ist, dann überprüft werden soll, ob überhaupt eine Verbindung hergestellt werden kann. Ich bin folgendermaßen vorgegangen:




    log-Ausgabe:



    Habe das in die onResume-Methode gepackt und bekomme daher die Fehlermeldung. WEnn das die onCreate-Methode wäre dann hätte ich die Fehlermeldung verstanden, aber auch bei der onResume?? :-/


    Wie gesagt möchte ich, wenn die App sozusagen geladen wird, die überprüfung stattfindet. Mal abgesehen davon, bin ich mir auch nicht mal sicher, ober die isServerReachable()-Methode korrekt ist. Könnte man die überprüfung während eines splashscreens durchführen?


    Danke im voraus für die antworten


    PS: verzeiht die rechtschreibfehler. habe schnell geschrieben O:-)

    Hallo an alle,


    ich habe ein kleines Problem mit dem SoundPool. Und zwar möchte ich soundeffekte, z.B. einen pistolenschuß, abspielen, sobald der nutzer den bildschirm berührt. das problem ist, das wenn der sound abgespielt wird, nicht unterbrochen werden soll, sobald erneut auf den bildschirm. ich bin bis jetzt so weit:




    Beim SoundPool gibt es ja keine isplaying()-methode wie beim Mediaplayer. daher weiß ich nicht genau wie ich das checken soll. :-/


    Und noch eine Frage: wie bekommt man das abspielen von soundeffekten, solange der bildschirm gedrückt wird.? ich habe das mit ACTION_MOVE ausprobiert. Komischerweise wenn ich den finger gedrückt halte und auf dem bildschirm bewege, wird ein eckliges knattern wiedergegen solange ich meinen finger bewege. liegt das daran das solange ich meinen finger auf dem bildschirm bewege auch dementsrpechend oft der sound wiedergegeben wird?


    Danke im Voraus für die Antworten und Ratschläge. :)

    achso, ok. jetzt verstehe ich :)


    habe inzwischen auch die anderen probleme geklärt. lag an den bildern selbst die im drawable ordner lagen. waren von der auflösung und speichergröße her zu groß. jetzt funzt alles wunderbar ;)


    danke für die hilfen 8)

    hallo lucas,


    vorweg: was meinst du mit GC?? :)


    in zeile 55 steht die if-bedingung, also: if(fb1907.de.MainActivity.mp.isPlaying() && fb1907.de.MainActivity.mp != null) {


    also nehmen wir an der mediaplayer spielt eine musik bis zum schluss ab. wenn diese mit dem abspielen fertig ist, ist diese nicht null. diese muss durch andere methoden freigegeben werden (so kenne ich das). das möchte ich mit der if bezwecken. wenn die musik gespielt wird oder bereits abgespielt wurde aber nicht leer (also freigegeben) ist, dann sollen die entsprechenden methoden ausgeführt werden. deswegen habe ich dort auch eine oder-abfrage, weil wenn du musik abgespielt wird, ist mp ja nicht null. das heißt, wird musik abgespielt, dann stoppen, releasen etc. Oder wenn musik abgespielt wurde aber mp nicht null ist , dann die gleiche show nochmal. wenn mp == null ist, wird die if nicht ausgeführt. O:-)



    NACHTRAG


    habe in der if die fb1907.de.MainActivity.mp.isPlaying() entfernt und überprüfe jetzt nur ob der mp != null ist und siehe da es geht. ein Problem weniger :)

    Hallo leute,


    iich habe eine app programmiert, welches musik abspielt. beim abspielen gibt es auch bilder zurück, die in den app-internen ressourcen gespeichert sind. die musikdateien befinden sich im res/raw ordner. die bilder können mittels eines buttons gewechselt werden.


    wenn ich auf den button zum abspielen der musik klicke kommen folgender log-eintrag


    wenn ich auf den button zum wechseln des bildes klicke erscheint folgender eintrag:


    zum beenden habe ich eine onklick-methode eines buttons folgendermaßen definiert:

    Code
    public void QuitKlick(View v) {
    		if(mp.isPlaying() || mp != null) {
    			mp.stop();
    			mp.release();
    			mp = null;
    		}
    			this.finish();


    trotzdem bekomme ich eine exception wenn ich auf den button klicke:



    was ich nicht verstehe, als ich fertig mit der app war, funktionierte sie einwandfrei ohne jegliche fehler. aus neugier habe ich mal die app nach langer zeit wieder (auf meiner neuen android-version 4.1.2) ausgeführt und habe plötzlich die oben genannten probleme. ;(


    komischerweise funktioniert es ohne fehler auf dem emulator. woran kann das liegen? am telefon selbst? oder doch am code?

    NACHTRAG:


    ich habe es gerade über den emulator getestet und siehe da es geht wunderbar. bis dahin hatte ich die projekte direkt an meinen smartphone (S2) geschickt und getestet. eventuell wurde es gecached oder so keine ahnung. wenn man bei eclipse das projekt an smartphone ausführt, dann wird die app automatisch gelöscht und von neu installiert. das heißt, der cache müsste auch weg sein oder nicht? woran könnte es liegen, dass es beim emulator richtig läuft und beim smartphone nicht?

    Hallo uwe,


    Zitat

    habe inzwischen die uri und uripath über einen log eintrag gecheckt, ohne fehler. es wird der path des anderen songs übernommen,

    das habe ich schon gemacht. uripath wird bei jedem sound-wechsel richtig übernommen. aber artist und title ändern sich dementsprechend komischerweise nicht, was überhaupt keinen sinn ergibt. ich verstehe nicht, warum ich das über assets-ordner machen soll!? ich habe ja kein problem mit dem zugriff auf die datein bzw. mit dem abspielen, sondern eher mit dem metadatareciever. :(

    ok, lag irgendwie an den mp3-datein das ich ständig null bekommen habe. daher habe ich nur zwei mp3-datein genommen und in den raw-ordner gepackt, auf deren meta-daten zugegriffen und auch angezeigt werden kann (habe diese einzeln probiert). problem ist folgendes: wenn ich auf den button klicke, song wird abgespielt und es erscheinen auch die metadaten des songs. sobald ich wieder auf den button klicke und zufällig auch der andere song abgespielt wird, steht trotzdem in der textview die meta-daten des vorherigen songs. diese bleiben immer dort erhalten, so oft ich auch auf den button klicke. :(
    habe inzwischen die uri und uripath über einen log eintrag gecheckt, ohne fehler. es wird der path des anderen songs übernommen, aber die strings artist und title sind immer die gleichen. das ist echt zum haare rupfen ;(

    also nach langen versuchen und recherchen habe ich herausgefunden, dass auch andere solche probleme mit dem MediaMetadataRetriever und mp3-files haben. solange im raw-verzeichnis nur EIN mp3-file vorliegt, funktioniert alles einwandfrei. fügt nur ein weiteres mp3-file hinzu, dann funzt der MediaMetadataRetriever nicht mehr und gibt nur noch null zurück. könnte das eventuell einer noch bestätigen?


    hier ist die activity:



    und hier die main.xml



    den raw-ordner mit den jeweiligen mp3-files mit den entsprechenden benennungen müssten noch übernommen werden. dann könnte man es testen. gibt es alternativen zum MediaMetadataRetriever um an die metadaten von audiodatein zu bekommen?

    leider hat das clean auch nichts gebracht. ich verstehe den zusammenhang nicht. ich nutze den mp3-file , den ich zusätzlich ins raw verzeichnis gekopiert habe gar nicht und trotzdem hat das einfluss auf die funktion der app. ergibt überhaupt keinen sinn :-/

    NACHTRAG:


    ich habe jetzt herausgefunden das es nicht am code liegt, sondern eher, dass ich nun im raw ordner mehrer mp3-files habe. Also, wenn ich nur einen mp3-file im raw verzeichnis habe und direkt auf den mp3-file zugreife werden die meta-daten angezeigt. sobald ich aber einen weiteren mp3-file in den raw-verzeichnis ordner packe und trotzdem direkt auf nur eines der files zugreife (also kein random) um die metadaten abzufragen, bekomme ich null. am code habe ich nichts geändert, habe lediglich nur ein weiteres mp3-file ins raw verzeichnis hinzugefügt und dann ging es nicht mehr. entferne ich den hinzugefügten mp3-file, dann geht es wieder.
    also das verstehe ich jetzt wirklich nicht. die mp3-file haben andere bezeichnungen. warum ist das so??? ?( ?( ?(