Beiträge von killphil75

    Was möchtest du den auf der Webseite auslesen ? oder geht es Dir nur um die Darstellung in deiner App.


    Falls letzters, würde ich immer einen Webview inkl. Chromclient in die App bauen und nur die Urls durchreichen, das spart Dir jede Menge Ärger.


    Wenn du bestimmte Daten einer Webseite abgreifen möchtest, so kann ich Dir nur von der "SelbstbauHandMethode" abraten.
    Entweder du fragst den Seitenbetreiber nach eine geeigneten Schnittstelle JSON, XML, was auch immer oder ....


    Da draussen haben einige kluge Köpfe schon Java-Klassen geschrieben welche Dir HTML Seiten super aufbereiten.


    uneingeschränkt empfehlenswert ist JSOUP, damit kann man super einzelne Elemente bzw. auch Gruppen auf der Seite abfragen.
    (am besten ist da das Feature Elemente per css selektoren wie zb JQUERY abzufragen


    Elements ergstand = headercontent.select("#team1 > div.standing > img");


    = wähle im Element mit der ID "team1" den Div-Container mit der Klasse "standing" aus und selektiere alle "IMG"


    wie gesagt super einfach.)



    Super ist auch HTMLCleaner zu verwenden.




    der phil




    PS: zu deinem Problem, die Codierung der Seite könnte falsch sein utf vs ISO

    Falls dein Porgramm sich einfach mit einem Error verabschiedet, dann liegt es wahrscheinlich am Netzwerkzugriff.


    Unter Android 3/4 dürfen Netzwerkzugriffe nicht mehr im UI-Thread erfolgen, weil sie diesen Blocken könnten.
    Du musst deine Netzwerkzugriffe in einen eigenen Thread verlagern. (Thread oder einfacher AsyncTask)


    http://www.vogella.com/article…idNetworking/article.html


    http://www.vogella.com/article…dPerformance/article.html

    Wenn du den OnClickListener nicht direkt an dein Element haftest .. ala


    but_navigation = (Button) findViewById(R.id.but_navianzeigen);
    but_navigation.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v){


    // mache irgendetwas
    }



    sondern als Onclicklistener für Alles einbauen möchtest (wie in deinem unteren Source)


    dann fehlt


    extends Activity implements View.OnClickListener

    ----


    Wichtig: der OnclickHandler reagiert jetzt auf jeden Click, dh du musst selber feststellen woher der Click kommt , sprich deine ratingbar abfragen


    // OnClickHandler für Alles
    @Override
    public void onClick(View view) {
    switch (view.getId()) {
    case R.id.progressBar1:


    mache irgendetwas;
    break;


    }
    }

    Wie gesagt, am besten ist wenn du die Aufgaben mit dem Asynctask aus deiner Activity heraus aufrufst, dann hast du ja im Teil von "postExecute" komplett Zugriff auf UI Elemente deine Activity und kannst sie mit Daten befüllen.


    NAMEDEINERACTIVITY.VARIABLENNAME = meinWert;


    ------------- Wichtig dabei nur der Test ob die UI Elemente noch existieren (gg NULL)


    Angenommen, du lädst deinen RSS Feed aus Neuseeland, und das dauert Ewig , der User hat keine Lust mehr und verlässt deine App bzw. wechselt zu einer anderen Activity dann gibt es halt den Zugriff auf nicht mehr existierende Vars.


    -------------------------------------------------------------------------------------------------------------------------------



    Sicher kann man das auch noch mit Handlern lösen aber das ist nicht so mein Thema, da weiss bestimmt jmd anderes Bescheid.

    Ein sehr gutes Tutorial zum Thema HTTP Request (z.B. STring von PHP Seite laden) findest du hier


    http://www.androidhive.info/20…oid-making-http-requests/



    Ich finde die Tutorialreihe recht gut, das Sie immer ausgefeilter wird.
    Momentan willst du nur einen String lesen, wenn du aber demnächst Daten zwischen APP und Server hin und her schieben willst, dann
    findest du dort auch eine Erweiterung des HTTP Beispiels und bekommst erklärt wie man zB. POST/GET Request absetzt und die Rückantwort per JSON formatiert bzw. JSON in der App richtig verarbeitet.


    Wie gesagt da lohnt sich ein Blick auf jeden Fall.


    ------------------------------------------------------------
    Falls du gerade keine Lust auf viel Lesestoff hast, hier die QuicknDirty Variante .> http-> String (text steht am Ende in Page)




    --------------------------------------------------------------------------------------------------


    Wäre daher schön zu wissen, wie das jetzt genau Funktioniert, von einer
    Klasse außerhalb der Activity die TextView anzusprechen?


    -> heisses Eisen,
    normalerweise machst du das innerhalb deiner Activity, weil du nie wissen kannst ob die Activity bereits/noch existiert .


    in der oncreate Methode suchst du dir in deiner Activity per findbyView den entsprechenden Textview und speicherst Ihn in einer Variable.
    -> dann rufst du deine ReadData routine auf (per Asynctask)(die kann extern in einer Klasse liegen und liefert Dir halt nur die Daten zurück -> kein Zugriff auf UI Elemente -> und diese Rückgabewerte baust du in deinen Textview ein.


    -> und den Textview immer schön gegen Null testen, -> somit vermeidest du Nullpointerexceptions, falls die Activity schon wieder weg ist.


    if (meintextview != Null){
    mache schöne sachen
    }

    Hallo Strohi



    Punkt1: WIllkommen :)



    Punkt2: Deine Ausführungen waren im Teil2 etwas wirr, aber ich probiere es trotzdem mal.



    Die bevorzugte Sprache um auf deinem Handy bzw jedem anderen Androidgerät zu programmieren ist JAVA.
    Android besitzt die sogenannte Dalvik Engine/Machine was im Grunde ein abgespecktes Java ist.


    Die Nummer mit AIDE ist ja ganz lustig, ich könnte mir nur vorstellen ohne 40"Tablet dürftest du Jahre mit dem Scrollen durch den Source verbringen. (auf einem Handy)
    Was ich aber gerade in der App Beschreibung gelesen habe, stimmt mich froh. Die Aide Projekte sind kompatibel mit Eclipse und umgedreht.


    Also schau Dir auch diesen Weg einmal an... du wirst es lieben.



    So nun zu deinen Fragen:


    • Kennt einer ein gutes Tutorial, das auch gerne auf Deutsch sein darf
    • Leichte
      Kenntnisse habe ich ja schon. Buttons, Textfelder und die ganzen
      Eingabegeräte kann ich problemlos erstellen, aber was ich überhaupt
      nicht verstanden habe: Wie läuft das mit einer mySQL-Datenbank? Die kann
      man ja schon öffnen, bearbeiten, lesen und so, oder?


    zu 1 ) Google spuckte bestimmt 100 Tutorials aus, ich mag zB die Reihe von http://www.vogella.com/tutorials.html


    bzw. erste Schritte findet man auch auf der Google Dev Seite, bei YouTube findest du auch super Tutorial reihen


    http://www.youtube.com/user/thenewboston


    developerglowingpigs



    zu 2) mySQL gibt es in der Android Welt nicht, Daten welche du lokal speichern möchtest können in einer SQLite Datenbank gespeichert werden. Zugriff auf MySQL per Java ist ja mit Datenbanktreibern möglich, ob das auch auf Android läuft...-> Google
    Der einfachste Weg bisher ist die Möglichkeit über Wrapper-Skripte zu gehen. Sprich deine App-> sendet Anfrage an deinen Server-> zB. per JSON an PHP Skript -> PHP Skript kommuniziert mit MYSQL Datenbank -> PHP Skript sendet Dir JSON/XML/whatever zurück...


    so und nun noch mal
    Herzlich Willkommen

    Hmm ich glaube das SDK Beispiel macht immer Probleme beim kompilieren bzw. sollte gar nicht gehen (laut einiger Aussagen bei StackOverflow)


    Hier ist mal ein anderes Beispiel mit SRC, da kannst du ja mal mit deinem Projekt vergleichen.
    Wenn du sagts das deine "App" funktioniert nur nicht als Launcher eingebunden wird, würde ich als erstes mal in der Android Manifest etwas suchen.


    http://code2live.net/?p=177

    Was du suchst sind SERVICES. Services sind eigene Tasks, welche im Hintergrund laufen.


    Damit kannst du das von dir gewünschte Verhalten erzeugen. Wobei zu beachten ist, das die von Dir gewünschte Vorgehensweise -> Polling genannt <- nicht sehr Akku schonend ist. Aller 5 Minuten baust du eine Netzwerkverbindung auf und fragst Sachen ab.
    Wesentlich eleganter ist das mit Google Cloud Messaging zu lösen.


    http://developer.android.com/guide/google/gcm/index.html

    Wie weit bist du den schon gekommen bzw. wo klemmt es ?


    Wichtig:


    Actionbarsherlock runterladen
    Actionbarsherlock als LibraryProjekt in deinem Workspace angelegt - kompiliert und offen lassen


    -> in deinem Projekt als Library Referenz hinzufügen (klappt nur wenn ABS offen ist)

    Zu dem Thema gibt es mehrere Möglichkeiten


    Variante 1) du hast einen Webserver und lässt Anfragen über diesen laufen


    Beispiel -> deine App sendet Request an deinen Server -> der holt die Daten von der Handballseite und deine App bekommt sie als JSON, XML wie immer du magst ... das lässt sich prima mit einem PHP Skript bauen,
    der Vorteil : falls sich die zu parsende Webseite ändert kannst du das parsing skript schnell ändern und musst nicht deine App anpassen,


    Nachteil: Traffic und zeitliche Verzögerung



    Variante 2) du liest dich in die Materie HTML parsen mit Java ein, Hilfe bekommst du von open source Bibliotheken wie zb JSOUP oder HTML Cleaner (Beispiele auf den jeweiligen Seiten)
    und baust das parsing direkt in deine App ein



    Nachteil: wenn sich die Seite im Aufbau ändert, musst du deine App ändern / updaten ect.


    Jetzt bitte nicht gleich nachfragen ob es da ein fertiges Beispiel gibt, schau dir erst mal die Examples auf den jeweiligen Seiten an (JSOUP und HTML Cleaner haben eine gute Doku, wenn du bereits Erfahrung mit JQuery und den CSS Selektoren System hast, würde ich dir JSOUP empfehlen)