Beiträge von titus

    Hi TheSasch,
    mmhh ok versuchen wir es mal anderes.
    Leg dir mal eines neues sauberes Projekt an. Keine Angst ist nur zu nur zur Übung :)
    So dann erstellst du dir eine neue Klasse A1 und trägst in ihr folgenden Code ein:


    Code Klasse A1:


    Code listitem:

    Code
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="10dp"
        android:textSize="16sp" >
    </TextView>


    Wenn du dein Projekt jetzt ausführst müsste der ganze Spaß ungefähr so aussehen:
    [Blockierte Grafik: http://s14.directupload.net/images/120618/temp/ngsl5s4c.png]


    Ok nun erweiterst du dein Package um die Klassen A2, A3.
    Code Klasse A2:


    Code Klasse A3:


    Da beide Activities der Anwendung noch vor dem Start bekannt seihen müssen erweiterst du die AndroidManifest.xml.
    Code AndroidMainfest.xml:


    So jetzt müssen in den Klasse A1 und A2 nur noch das Klick event implementiert werden.
    Klasse A1 mit OnItemClick:


    Klasse A2 mit OnItemClick:


    So sieht dann das Ganze aus wenn du es ausführst:
    [Blockierte Grafik: http://s1.directupload.net/images/120618/temp/szafvlg9.png]


    Falls das auch nicht geht müsstest du mal ganz genau schreiben was du machst und was nicht geht.


    Mfg Titus

    Hi XDeveloper,


    mmhh ok das war eigentlich nicht meine Idee.
    Ganz ehrlich deinstallier das App von deinem Entwicklungsgerät (Emu oder Handy) und stell die DATABASE_VERSION auf 1.
    Dann installier es neu und schau ob die Datenbank richtig angelegt wurde und ob die Tabelle da ist.


    Mfg Titus

    Hi Wolf,


    also ein durchsuchen des RAW Ordners ist nicht möglich.
    Auf die Inhalte im RAW Ordner greifst du wie auf alle Inhalte im RES mittels der ID zu.

    Java
    getResources().openRawResource(R.id.video_1);



    Falls du einen Zugriff über Namen bzw eine eigene Ordner Struktur brauchst musst du deine Videos in den Assets Ordner legen.


    Mfg Titus

    Hi XDeveloper,


    die Fehlermeldung sagt das die Tabelle nicht da ist.


    Haste mal geschaut ob die DB richtig erstellt wurde.
    Wenn du es auf dem Emulator laufen lässt kannst du in der DDMs -> File Explorer sehen ob die DB erstellt wurde.
    Dann das ding auf den Rechner ziehen und mit sqlitebrowser deiner Wahl mal rein schauen.


    Achtung reine Spekulation:
    Hast du die Versionsnummer zwischen durch mal erhöht?
    Weil dann wird ja die upgrade Methode aufgerufen und die löscht ja nur die Notes Tabelle ruft aber auch wieder die create auf. Und in der führst db.execSQL(DATABASE_CREATE); wieder aus. Was passiert eigentlich wenn man ein SQL create auf ne bestehenede Tabelle ausführt?


    Mfg Titus

    Hi eXact,


    also wenn du das so einfügst:

    Java
    Calendar ablauf = new GregorianCalendar(2012,6,10);
    Calendar heute = new GregorianCalendar();       
    if (heute.after(ablauf)) {      
        finish();      
    } 
    } //<--- die ist zu viel


    ist die letzte schließende Klammer zu viel.


    was mich verwundert ist das im Codeschnipsel(GridActivity) diese Klammer fehlt.



    mfg Titus

    Hi TheSasch,


    mmhh ok dann versuch ich es mal.


    Vereinfachte Grundlagen:
    Wie du wahrscheinlich schon selbst raus gefunden hast, werden die einzelnen "Bildschirme" in Activities(in deinem Fall ListActivity) dargestellt. Diese Activities haben erstmal untereinander keine direkte Verbindung man bezeichnet sie auch als lose gekoppelt. Um jetzt aus einer Activity einen andere auf zu rufen benötigst du (wie du auch schon raus gefunden hast) Intents.


    So jetzt zu deinem Problem:
    Du möchtest aus der Listactivity "A1" die ListActivity "A2" aufrufen und aus dieser dann ListActivity "A3" usw.
    Denn Code den du verwendest ist eigentlich schon der richtige Weg.


    ListActivity A1


    ListActivity A2



    A3 und folgenden sehen genauso aus.


    So nachdem wir nur den Code für 2 verschiedene ListActivities erstellt haben müssen sie noch die der App bekannt gemacht werden.
    Dafür geht man ins AndroidMainfest.xml und fügt folgendes hinzu:


    Hoffe das bringt dich weiter falls nicht sag bescheid.


    Mfg Titus

    HI TheSasch,


    um ehrlich zu sein ich versteh nicht ganz wo dein Problem ist.


    was meinst du mit :

    Zitat

    weiss nicht wie ich die 2 klassen "verbinden" kann...

    ?



    Mfg Titus


    EDIT: müsste in der Click Methode der Activity Architektur nicht statt:

    Java
    Intent in = new Intent(ClickPerButtonActivity.this,Hoersaal.class);


    das hier stehen:

    Java
    Intent in = new Intent( Architektur.this,Hoersaal.class);


    oder seh ich das Falsch?

    Hi,


    was vielleicht noch ne alternative wäre wäre das Nexus One (das erste google handy) hat das Pure Android 2.3 oder das alte HTC Desire (das müsstest du aber per rom auf 2.3 bringen).


    Persönlich würde ich eher zu einen HTC gerät tendieren da ich keine großer Fan von Samsungs Verwaltungssoftware Kies bin.


    Zitat

    Gibt es Handwarefeatures auf die man nicht verzichten sollte oder welche die für den Anfang auf jeden Fall überflüssig sind?


    Das einzige was mir da einfallen würde wäre NFC. falls du das nutzen möchtest solltest du dir ein ganz neues Gerät anschaffen.
    Und was vielleicht noch wichtig wäre nicht jedes Gerät verfügt über eine SD Karte.


    mfg Titus

    Hi Hi exact,
    nur so ne dumme Frage aber hast du auch die Klammer zum abschließen der Activtiy gesetzt weil in deinem Code fehlt die auch.
    Bzw. poste mal den Code der Activity nochmal und bitte darauf achten das er komplett ist also alle Klammern und auch die imports.


    mfg Titus

    Hi exact,


    ähm ok und was sagt die LogCat?


    zu deinem geposteten Code:


    1. bei der if Bedindgung fehlt eine eine schließende Klammer.
    2. soll das wirklich so aussehen: "Calendar ablauf = new GregorianCalendar(2011,7,1);" weil 2011 ist schon vorbei.
    sollte es nicht eher so aussehen: Calendar ablauf = new GregorianCalendar(2012,Calendar.AUGUST,1); ?


    Mfg Titus


    Edit: ah ok das mit 2011 wird wohl zu test zwecken gewesen sein

    Hi Proffni,


    also wenn ich deinen Code richtig verstehe dann wird in "R.id.geburtsdatum" NUR in der Funktion "eineMueckeAnzeigen()" ein Datum rein geschrieben.
    Die Funktion "eineMueckeAnzeigen()" wird auch NUR in der Funktion "zeitHerunterzaehlen()" aufgerufen.


    Hoffe du kannst mir soweit folgen.


    Sollte jetzt dies IF Abfrage in "zeitHerunterzaehlen()" scheitern:


    Das heißt ist die erste If False und die If innerhalb des Else Zweiges auch False, wird kein Datum in "R.id.geburtsdatum" geschrieben.
    Nach dieser If Abfrage wird jetzt aber die Funktion "mueckenVerschwinden();" aufgerufen und in ihr fragst du das Datum ab.
    Steht kein Datum in "R.id.geburtsdatum" kommt es zur NullPointerException.


    So soweit die Theorie du müsstest jetzt deinen Code entweder durch den Debugger jagen und mittels Haltepunkte sehen ob die If-Bedingungen durchlaufen werden oder du machst dir mittels Log.d() ein paar Kontrollausgaben innerhalb der If Abfrage.


    Sollten die Kontrollausgaben vor dem Stacktrace der Execption in der LogCat stehen ist meine THeorie hinfällig und wir müssen uns irgendetwas anderes überlegen.


    mfg Titus


    P.s. habs eben mal durch gerechnet.

    Java
    double wahrscheinlichkeit = muecken *1.5 /ZEITSCHEIBEN;


    0,025 = 10 * 1.5/600;
    so damit ist die erste If Abfrage false.


    die zweite wird wahrscheinlich auch false sein da diese simple Test:

    Java
    Random zufallsgenerator = new Random();
    System.out.println(zufallsgenerator.nextFloat());


    fast immer eine Zahl geliefert hat die größer als 0,025 war.


    Um sicher zugehen mach das mit dem Debugger bzw Kontrollausgeben.

    Hi Proffni,

    Java
    long altergeb =((Date)geburtsdatum).getTime();


    Im allgemeinen besagt die NullPointerException das du auf etwas zugreifst was nicht da ist bzw das Object ist Null.
    Da hilft auch kein Cast nach Date weil wenn "geburtsdatum" null ist wäre es auch nach dem Cast null.


    So da die Exception beim Aufruf der getTime() ausgelöst wird schauen wir uns mal die Erzeugung von "Geburtsdatum" an.
    Ich vermutet das dein Problem hier liegt:

    Java
    Date geburtsdatum = (Date) mueckev.getTag(R.id.geburtsdatum);


    Was ist denn R.id.geburtsdatum bzw wie sieht es aus? Ist das orginal so oder hast du das verändert?


    Mfg Titus

    Hi XDeveloper,


    Zitat

    Es müsste nur immer ein erfahrener Programmierer wie Titus über das Tutorial schauen und es auf Richtigkeit prüfen.


    Ich geh mal davon aus das hier im Forum ne ganze menge Leute gibt die besser und erfahrender sind als ich aber trotzdem Danke :)


    Zitat

    Muss ich nicht von Activity erben um später dann mit SharedPreferences zu Arbeiten?


    Nein musst du nicht.



    Mfg Titus

    Hi eXact,


    wenn du dein App nicht über den Markt vertreiben willst und nur an einen ausgewählten Kreis verteilen möchtest, schreib doch das Ablaufdatum hardcodiert ins App. Frag es bei jeden start ab und wenn es erreicht ist gibst du eine Meldung aus.


    mfg Titus

    Hi oengelha,


    was geht denn nicht bzw wo gibt es denn die Probleme? Was sagt denn die Logcat?
    Vielleicht kann dir ja jemand aus dem Forum weiterhelfen.


    mfg Titus

    Hi exact,


    Zitat

    Meine Frage ist ob es einen Source von einem Market gibt.


    Was?
    Meinst du den Source Code des Marketes?


    Mfg Titus