Beiträge von killphil75

    Ok,


    du kannst dir mal einen Breakpoint setzen (einfach in deinem Javacode ganz an den Anfang der Zeile klicken, da erscheint ein Punkt)


    an diesen Breakpoint hält der Debugger in deinem Fall am besten vor dem Try catch konstrukt.


    Dann wechselt er nach dem Start in die Debuggeransicht und du kannst Schrittweise dein Programm weiter ausführen lassen.

    Bist du Dir sicher das java.net.URLDecoder das richtige Mittel ist ????


    This class is used to decode a string which is encoded in the application/x-www-form-urlencoded MIME content type.


    Wie sieht denn dein normaler HTTP Request Teil aus, eventl ist da das UTF Problem .

    prüf doch erst einmal von Hand (Explorer) die Dateigrößen der SupportLibray welche im ActionBarsherlock projekt drin liegt
    und die in deinem Projekt. Wenn die schon mal unterschiedlich sind, musst du die ältere durch die neuere ersetzen.

    Also try catch fängt ja aber die Exception, deswegen siehst du ja den Fehler nicht (try catch sorgt dafür das dein Programm nicht abstürzt)
    und weil du im Catch die Fehlermeldung ausgibst siehts du deinen ErrorDialog.


    Also kommt es vorher zu einer Exception. (das war ja ursprünglich mal diese "NullPointer" Nummer, und dafür musst du die Ursache finden.
    In den meisten Fehler greift er auf ein Objekt zu, welches nicht initalisiert ist.


    bau mal
    in deinem Catch



    Java
    try {
    			URL url = new URL("http://www.google.de"); 
    			checkReq(url);
    		} 
    		catch (Exception e) {
    			showServerUnreachableMessage();
    			Log.e("Service", "Service is not available");
    		}


    ein


    Java
    Log.d("Service" , "Ich bin der Fehler : " + e.getMessage());



    ein

    Hmm so ganz ohne Fehlermeldung kann man nur Rätselraten.


    Evenl mal der Reihe nach


    -> Sherlock hast du als eigene Projekt in deinem Workspace
    -> ActionBarSherlock öffnen kontrollieren das die SupportLib im /libs Ordner die selbe ist wie in deinem Projekt
    (noch besser die SupportLib als externe JAR hinzufügen als Quelle dann die supportLib in deinem Projekt)
    -> Haken bei isLibrary


    -> ActionBarSherlock (oben bei Project mal schauen das "Build automaticlly" auch an ist.
    -> AcctionbarSherlock als Projekt einfach offen lassen



    -> Dein Projekt:



    Zur Sicherheit mal unter


    -> Rechts Klick .> Properties -> Java Build Path _> Reiter "Libraries" -> Unterpunkt "Android Dependencies" alle JARs einfach raushauen


    -> Project -> Clean


    Rechts Klick -> Properties (Eigenschaften) -> Android -> ganz unten wo Library "Add" und er müsste Dir nur ActionBarsherlock als LibProjekt anbieten





    so jetzt mal schauen, und dann mal posten was Eclipse dir erzählt






    Edit:
    gerade erst das von Dir gelesen


    1. Jar mismatch! Fix your dependencies BMIDroid Unknown Android Dependency Problem (6 Mal!)



    Das ist der Beweis das die SupportLib in unterschiedlichen Versionen vorliegt

    Wenn du Zugriff auf die SQLite Datenbank hast, sollte das kein Problem sein.



    Die sammellst dir die gesuchten Datensätze mit einem Query zusammen -> bekommst einen Cursor und speicherst die Daten dann einfach ab.
    (Ist ja nur ein riesiger String)
    CSV ist ein reines Textformat.


    http://de.wikipedia.org/wiki/CSV_%28Dateiformat%29


    Je nachdem was das für Daten sind musst du schauen ob du die einzelnen Zeichenketten escapen musst. (falls Kommas in deinen Werten vorkommen musst du das ja eh lösen)


    Klaus Müller, Wert1, Wert2, Wert3


    oder


    "Klaus Müller", "Wert1" , "Wert2" , "Wert3"


    Das würde ich davon abhängig machen, welches Format du zur Weiterverarbeitung erwartest (Excel).


    Zitat

    Mich würde in erster Linie interessieren ob da geht und CSV das geeignete Format ist?


    Also ja


    Kommt drauf an was du noch mit den Daten machen willst.


    Zitat

    Wenn ja, gibt es evtl. irgendwo eine Dokumentation dazu? Wenn möglich in deutsch!


    Einfach mal nach String in Textdatei speichern suchen, (JAVA Android) da gibt es viele Beispiele

    Zitat


    "Über"



    aber da steht nicht wirklich quote sonder Anführungszeichen oder ????



    und schau noch mal hier ich glaube , da ist etwas zu viel ( der untere Teil steht einfach so da)





    noch mal meine Methode zum vergleich


    Dann hast du oben noch alte Imports von Android drin, wegen der Menüs musst du die ActionBar Imports nutzen



    also die alten android.view.Menu ect raus hauen und die AB import reinnehemen.


    com.actionbarsherlock.app.ActionBar
    com.actionbarsherlock.view.Menu
    com.actionbarsherlock.view.MenuItem
    com.actionbarsherlock.view.MenuInflater



    bzw. die Imports der Supportlibrary

    Zitat

    Jetzt habe ich aber leider eine Fehlermeldung in meinem App Projekt.


    Was steht denn da ?? (einfach mal mit der Mause drüber hovern dann, erzählt dir eclipse mehr.



    Bei Actionbarsherlock bzw generell unter Android 3+ werden die OptionsMenü in der Actionabar angeheftet.
    Bei mir sieht die Methode aber auch nicht anders aus, am besten noch mal schauen was er als fehler wirft.


    Java
    @Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		menu.add(0,MENU_ITEM_REFRESH, 0, "Aktualisieren")
    		    .setIcon(R.drawable.gd_action_bar_refresh)
    		    .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    		return super.onCreateOptionsMenu(menu);
    	}



    -> Noch ein Hinweis die SupportLib welche bei Actionabrsherlock beiliegt, ist älter als die aktuelle. EInfach mal ins Actionbar sherlock projekt gehen und die SupportLib gegen die in deinem Projektordner ersetzen. (kopieren)

    Zitat


    - in den Workspace Ordner kopiert (nicht in ein Projekt),



    Kopier den mal lieber woanders hin, dann bei New -> Open Project from Existing source (und da meinetwegen den Haken -> Copy 2 Workspace)
    damit holst du den Sherlock sauber rüber


    und dann soltest du auch den haken haben (isLibrary)

    Nein du brauchst doch keine neue Methode. Du wolltest doch das der eingegeben Text in einem anderen EditText erscheint, da musst du nur deine
    Klickmethode ändern.


    Na du wandelst den Text deiner Editbox in Integer um


    Integer.parseInt


    und bei Buchstaben bekommst du wahrscheinlich (weil du es nicht abfänmgst einen Konvertierungserror und damit Absturz) müsste aber auch so in deinem
    LogCat window stehen


    http://stackoverflow.com/quest…apsulate-integer-parseint


    public static Integer tryParse(String text) {
    try {
    return new Integer(text);
    } catch (NumberFormatException e) {
    return null;
    }
    }






    Da du ja aber gar keine Zahlen, umrechnen willst, musst du das einfach raushauen und einfach den Text deiner eingabebox zum Text deiner Ergebnisbox machen.




    Noch ein Hinweis:


    In deiner OnCLick Methode holst du Dir jedes Mal die Views per findVIewbyId, das macht man nicht. Bei 2 Views scheint das noch nicht so schlimm, aber bei zig mehr Views bekommt man ein Zeitproblem.


    Lieber als Variable in der Klasse festlegen,
    einmal im onCreate initalisieren und gut ist.

    Das Problem, das Holotheme gibt es erst seit Android 3,
    davor gab es nur die Themes Light/Dark.


    Wenn deine App erst ab Android lauffähig sein soll, kannst du HoloTheme only verwenden.



    Zitat


    Ist es möglich beide Sachen zu kombinieren? Wenn ja , wie?
    Also ich möchte eine Actionbar haben und OptionItems die nebeneinander liegen.



    Jein,
    du kannst Externe Libraries nutzen um diese Funktionalität für ältere Androidversionen nachzubilden.



    Actionbar .----> ActionBarSherlock


    wg der OptionItems bin ich jetzt überfragt , aber es gibt noch ---> HoloEverywhere (bringt Holotheme auf alte Geräte -> Achtung App wird ganz schön aufgebläht)

    Lesestoff: http://www.androidhive.info/20…t-android-with-php-mysql/


    Zu deinem Problem:


    Da der Verein die Daten sicherlich noch anders nutzen will/kann, ist es ratsam eine kompatible Lösung für alle möglichen Fälle zu finden. (Webseite)
    In deinem Fall würde ich eine MySQL Datenbank anlegen (id, Datum, TerminInhalt) _> das kannst du ja noch weiter verfeinern zB. Terminart, ect.
    dort werden die Daten als Text/Html wie auch immer gespeichert. -> Kein JSON


    Für den Verein, bastelst du ein kleines WebBackend (Formular, Php Daten speicherung in Mysql) wo die Termine in die Datenbank eingetragen/geändert werden können.


    So dann schreibst du Dir ein kleines Helferskript, ganz einfach:


    Datenbankabfrage .> hole letzte 10 Termine -> packe sie in ein Array -> JSON Encode -> Ausgabe JSON


    In deiner App rufst du jetzt dein Helferskript.php auf und holst Dir die JSON Termine in deine App (siehe Lesestoff)


    Vorteil: jeder der MySQL bedienen kann, kann Termine auch noch mal von Hand ändern, bei JSON dürfte dies etwas schwieriger sein wegen der ganzen Klammern, Kommas ect. im Idealfall sollte dies natürlich bequem über dein Webbackend zu erledigen sein.



    Zitat

    Eine weiter Frage ist wie sicher ist diese Verbindung. In diesem Beispiel kann eigentlich jeder der die Web-Url kennt diese Daten abfrufen, ist das auch so normal in der Praxis ?


    HTTP request sind immer lesbar, sprich wer die URL hat, kann es auch aufrufen. Wenn du wie im Lesestoff eine kleine API baust (sprich es muss ein bestimmtes Text-Tag an das PHP skript geschickt werden, dann steigt schon der Aufwand diesen Request nachzubauen,
    weiterführende Themen wären dann Verschlüsselung, HTTPS


    Zitat

    Evt. hat noch jemand andere Übertragungsmöglichkeiten außer JSON habe da noch was von WebSock gelesen aber da muss ich mich noch einlesen ob das vergleichbar ist

    .


    JSON ist schon sehr schlank und auch super in Android implementiert (JSON Parser , JSONObject, JSONArray), warum willst du Dir jetzt selber etwas zusammenbasteln was nur mehr Aufwand und damit wieder mehr Fehlerquellen für Dich bedeutet ???
    JSON, XML und co. sind anerkannte Austauschformate.



    Ich hoffe das hilft Dir ein wenig, bei Fragen einfach noch mal nachhaken.