Beiträge von prototype0815

    Also zu L2 geb ich dir mal etwas Code, eigentlich nicht Sinn der ganzen Sache aber da JTable ein wirklich nerviges und komplexes Objekt ist, machen wir mal ne ausnahme.
    Da ich mich selbst immer wieder über disen Schwachsinn ärgere hab ich mir einige Methoden geschrieben die ich seither immer wieder benutze.


    du brauchst Variablen:

    Java
    private JScrollPane scp;
      private JTable tbl;
      private JTableHeader header;
      private TableColumn col;
      private DefaultTableModel deft;
      private Font f;
      private String[] headerNames = { "IP", "Name", "Version" };
      private int[] colBreite = { 150, 150, 300 };





    eine Methode die dir dir ganze Tablle zusammenbaut: (gut wenn du sie immer wieder neu erstellen lassen möchtest)


    Weitere Methoden die du einfach mit passenden Parametern füttern musst:


    Du musst dir eines zu Herzen nehmen wenn du mit JTables arbeitest ! Folgendes: Arbeite wenn möglich immer mit dem Tabllenmodell!

    Code
    tbl.getModel().getValueAt(x, y);
    tbl.getModel().setValueAt(x, y, value);

    Es gibt sozusagen 2 Schichten oder Ebenen bei einer JTable, die die du siehst, und das Datenmodell (nicht sichtbar) darunter. Im Prinzip werden die Daten die du in eine Tabelle schreibst in beiden Schichten übereinstimmen, es gibt aber Fälle in denen das nicht unbedingt der Fall ist.
    z.B wenn eine Spalte ausgeblendet ist, oder wenn du die Tabelle Alphabetisch oder Numerisch sortieren lässt.
    Dann wird oft nur die sichtbare Schicht sortiert.

    Code
    // in diesem Fall gibt 
    tbl.getValueAt(x, y);
    // einanderes Ergebnis zurück als
    tbl.getModel().getValueAt(x, y);


    Ich hoffe das hilft dir weiter ;) ;) ;)

    Hi Marco, und willkommen im Forum !


    Es ist schön zu lesen das du mit deiner ersten App nicht gleich durch die Decke schiesst :P
    Was ich vorab gerne noch wissen würde, du hast geschrieben dir steht Java Literatur zur Verfügung. Wie gut/lange programmierst du denn in Java ?
    Denn so einfach wie man sich solch eine App ausdenkt (nur 2 Klassen) wird es oft nicht. Auch der Übersichtlichkeit halber macht man gerne mal mehrere Klassen ;)
    Und das Anlegen und managen der Spieler kann ziemlich komplex werden, das du auch noch die Spielstände untereinander vergleichen musst.


    Falls du auch mit Java noch am Anfang stehst wird es kitzlig 8)

    habe auch schon ne JavaScript Lösung versucht, hat net geklappt.


    und überall schreiben die Luets das Java Libs mit PDF Zeugs net auf Android funktioniert, habe ne Android portierte Java Lib gefunden, aber die konnte keine Hyperlinks downloaden und öffnen. und sie war zudem beschissen Lahm.


    Das bittere ist hald das wir nach dem Motto "low budget" entwickeln. Sollte also nix kosten und trotzdem alles können... :/

    Also ich verstehe nicht ganz was du erreichen möchtest, vielleicht kannst du es nochmal etwas detaillierter schildern.


    Du hast also 3 Strings (test1, test2, test3), 2 EditText (editAntwort1, editAntwort2)


    test2 ist immer gleich wie test1, du überschreibst also immer deine Antwort1 vom EditText.
    zudem steht in deinem test1 und später dann auch in deinem test2 immer der XML String den du mit getString holst, wieso fragst du diesen also nochmal mit getString im Toast ab, wenn er doch schon in 2 Variablen gespeichert ist ?


    Dein eigentliches Problem ist, so vermute ich, das du nicht bedenkst das der Code in der Methode onCreate() nur einmal beim erstellen der Activity/Fragment ausgeführt wird. Was du haben willst sieht glaube ich so aus...



    Java
    Toast.makeText(this,"Du bist " + getString(0x7f050003) + " und wohnst in " + editAntwort1.getText().toString() + " und dein Name ist " + editAntwort2.getText().toString(),Toast.LENGTH_LONG).show();

    So wird jedes mal der aktuelle Wert aus deinen EditText´s abgefragt wenn du den Button drückst.

    Ich bin nun schon seit ein paar Tagen vergeblich auf der Suche nach einer Möglichkeit eine PDF Datei via URL zu laden und in meiner App anzuzeigen.
    Das ganze natürlich am besten ohne kosten, also "commercial free license".


    Ich möchte keine google.docs benutzen da dies eh in 90% der Fälle nicht möglich wäre da ich auf das Intranet beschränkt bin.


    Was bisher teilweise erfolgreich Funktioniert hat war zu prüfen ob eine PDFViewer App auf dem Device installiert ist, und die PDF via URL zu downloaden und mit Hilfe des gefundenen PDF Viewers anzuzeigen. In meinem Fall ist das der Adobe Reader. Hab mich richtig gefreut, Lösung innerhalb 10 min. fertig.
    :/ denkste....


    Der Viewer hat die PDF heruntergeladen und kann somit keine Hyperlinks innerhalb der PDF nutzen um andere Dokumente zu laden, da vermutlich der Pfad nicht mehr stimmt, weil die PDF ja nun lokal auf meinen Smartphone liegt. Also habe ich diese Methode wieder verworfen.


    Vielleicht hattet ihr ja schon einmal eine so ähnliches Problem.

    da stellt sich mir dann die Frage in welcher Hierarchie die verschiedenen Elemente angeordnet werden. Sinnvoller weise sollten sie in der Reihenfolge übereinander gelegt werden wie ich sie im Sorcecode von oben nach unten schreibe..


    ergibt dieses ergebnis...


    [Blockierte Grafik: http://q78.imgup.net/button_opa01f6.png]">


    die Elemente werden also nacheinander, so wie sie im Quelltext stehen übereinander gelegt.



    hier hab ich mal das ImageView statt ganz oben im Quelltext, nach ganz unten geschrieben.
    Am oberen text erkennt man das er vom ImageView überlagert wird, das ist der Fall wenn das ImageView ganz unten im Quelltext steht.
    [Blockierte Grafik: http://j30t.imgup.net/button_opabd24.jpg]


    aber es war ein guter Gedanke ChampS

    etwas in einem jar in ein softwareprojekt hinzuzufügen sollte nur in den schlimmsten notfällen gemacht werden. Jedesmal wenn sich was am sourcecode ändert, musst du das jar ersetzen, grausam.

    Wie kommst du denn darauf ?? Klar bist du flexibler wenn du uncompilierte Klassen als "Library" verwendest, aber wieso sollte ich meine Library nicht mehr verwenden können wenn sich mein Sourcecode verändert ??


    z.B. Apache xmlbeans.jar


    nutze ich schon ewig, und musste sie noch nie ersetzen...

    wenn es nicht am falschen namen oder key liegt, könnte es möglich sein das die App, wenn vorhanden, von der IDE zuerst deinstalliert wird bevor sie wieder neu installiert wird??? was meint ihr?


    beim deinstallieren der app gehen meines wissen alle SharedPreferences verloren.


    Ich weiss, ist weit ausgeholt aber alles andere ist ja schon fast ausgeschlossen.

    Layout



    das hier sollte in deiner IntroVideoActivity.onCreate() ausreichen...


    mit dem TouchListener kannst du das Video "wegwischen" weil es dir irgendwann nach dem 38ten mal auf den sack geht :P :P :P



    EDIT: was mir gerade noch eingefallen ist, ich hab lange rum probiert bis mein Video gelaufen ist, musste es mit vielen verschiedenen Dateiformaten und Auflösungen probieren. Aktuell hab ich mp4

    <item name="mainBgColor" type="color">#DAE1EB</item>
    nutz mal #FFDAE1EB

    macht keinen unterschied...



    Zitat von ChampS


    <item name="mainBgColorWhite" type="color">#EEFFFFFF</item>
    warum EE?

    ist wahrscheinlich ein überbleibsel von einer anderen Hintergrundfarbe.




    Zitat von ChampS

    außerdem weißt du dem bild nochmal einen hintergrund zu, warum, du willst doch nur das bild angezeigt bekommen oder?

    das kann ich selbst noch gar nicht aufgefallen :P kann mir aber auch net erklären warum... entfernt, hatte keine Auswirkungen.

    appearance.xml - mit mainBgColor


    ButtonStyleSmall ist in der Library XML attrs.xml - ein ausschnitt daraus...

    Wenn du die App schon mal selbst programmierst, hast du schon einen großen Teil der Probleme erschlagen :thumbup:


    Achte darauf nur Bilder / Images / Icons zu verwenden deren Benutzung ausdrücklich frei oder kommerziell erlaubt ist.
    Für den PlayStore brauchst du einen Google-Developer Account. Der kostet dich ca. 20€ wenn ich mich nicht irre. Desweiteren kannst du Bereiche in deiner App, Google zur Verfügung stellen, damit dort Werbung plaziert werden kann. Dadurch kannst du glaube ich, die App kostenlos anbieten. Ansonsten musst du ein Minimalbetrag von 0,75€ dafür verlangen.


    Check this out


    Und ich würde mir persönlich darüber Gedanken machen, wie du dir diese Arbeit entlohnen lassen willst. Einmalig entlohnen heisst meistens, einen dicken Batzen Geld einnehmen und soweit alle Sorgen los sein was Updates etc. betrifft. Im Gegenzug monatlich Gebühren pro Lizenz o.ä. verlangen bindet dich an Service und Updates der App.

    Also ich persönlich nutze die activity_main als Haupt-Navigations-Activity / -Layout. Falls ich einen Screen zum einloggen o.ä. brauche mache ich mir immer eine eigene Activity und ein eigenes Layout zur neuen Activity dazu. Denk daran das du jede Activity in der Manifest registrieren musst, dort kannst du dann auch festlegen welche Activity zuerst gestartet werden soll.


    Hier ein Auszug aus einer Manifest von mir...

    wie du siehst wird die ActivitySplash mit dem <action android:name=".....MAIN"/> aufgerufen. Dadurch und mit der Zeile darunter startet diese Activity als erstes.



    Fragmente sind ähnliche Objekte wie Activities, mit dem Unterschied das sie eine Activity brauchen auf die du sie setzen musst. Ein weit her geholtes Beispiel... Stell dir eine CD-Hülle vor, sie stellt eine Activity dar. Die Fragmente sind wie CD-Cover, diese kannst du beliebig austauschen.


    Android-Apps erheben generell den Anspruch auf verschiedensten Devices zu laufen. Insbesondere Auflösung und Ausrichtung (Portrait, Landscape) einer Application gilt es zu unterscheiden. Für den Entwickler einer Applikation stellt gerade Letzteres eine Herausforderung dar. Eine Application sowohl horizontal, wie auch vertikal ordentlich aussehen zu lassen ist nicht trivial – insbesondere wenn man dem Nutzer Scroll-Orgien ersparen will.Eine Hilfe dabei sind die ab Android 3.0 Honeycomb eingeführten Fragments. Dabei handelt es sich um Teile eine Activity, die eigenständig entwickelt werden können. Insbesondere besitzen sie auch einen eigenen Lifecycle.
    Quelle: http://andreas-kluck.blogspot.de

    Hey folks, wieder ein kleines aber sehr nerviges Problem auf das ich trotz aller Bemühungen keine Lösung finde.


    Ich habe ein ganze einfaches XML Layout, hier zu sehen...


    Das ImageView dient als Hintergrund, da es aber nicht den ganzen Bildschirm einnimmt sondern nur in der Mitte sitzt, hab ich dem äußeren RelativLayout die gleich Hintergrundfarbe gegeben die das BG-Image hat.


    Sobald ein Fragment das BG-Image überdeckt wird dieses mit folgender Methode aufgehellt...(Alphakanal)

    Was nun sehr seltsam ist, ist das dass BG-Image durch alle mögliche Objekte hindurch zu sehen ist, z.B. meinen Save-Button !!! Obwohl ich diesen Objekten keine ausdrückliche Alphakanal Einstellung zugewiesen hab. Setze ich dennoch den Alphakanal meines Buttons auf 1.0f (undurchsichtig) so tut sich nicht die Bohne was dran...


    [Blockierte Grafik: http://z34.imgup.net/button_opa3756.png]">


    Ich hoffe ihr könnt mir weiter helfen.


    LG proto

    Mein Erfahrung zeigt das ein ausgeblendetes Element (visibility=View.INVISIBLE) trotzdem seinen benötigten Platz auf dem Layout einnimmt.


    Willst du etwas dynamisch lösen, z.B. aufs "X" klicken und es verchwindet und die unteren Elemnte rutschen nach oben, dann musste du das Element von der ParentView removen oder im umgekehrten Fall eben hinzufügen. Ob das zur Laufzeit der fertigen View so einfach möglich ist, weiss ich nicht. evtl musst du bei dem klick aufs "X" oder "+" die komplette View neu bauen und zeichnen lassen.