Aber dann bitte in einen anderen Thread auslagern, wenn du Thread.sleep in deinem Mainprogramm machst, legst du den UI-Thread lahm und dein Programm ist nicht mehr "responsiv" sprich nicht mehr ansprechbar und wirft dir einen ANR-Error.
Beiträge von killphil75
-
-
Ich schreibe zwar selber keine Spiele, beschäftige mich aber trotzdem gerade mal mit dem Thema.
Es gibt bereits fertige Game-Engines welche dir den gesamten Frameworkkram abnehmen. Ich glaube die bekannteste ist die AndEngine.
Von reiti aus dem Forum hier habe ich auch den Tipp bekommen das die libgdx - http://code.google.com/p/libgdx/ ganz gut sein soll.
Die letzt genannte Engine ist auch OpenGL, vielleicht findest du da ein paar Tipps für deine Gameengine. -
Hallo
also wenn du eine App/Spiel entwickelts, solltest du wenn möglich immer auf mehreren Geräten testen
bzw. mehrere verschiedene AWDs im Emulator anlegen. (unterschiedliche Android Versionen ect.)Ich habe hier ein Samsung Galaxy (Android 2.3) und nach dem starten deines Spieles erscheint ein schwarzer Bildschirm mit Titelbar (da wird anscheinend etwas geladen)
danach springt er in den Gamescreen, unten links dreht sich ein Viereck und alles ist schwarz/weiss, wobei der gesamte Bildschirm weiss ist und die Kanten von irgendwas anscheindend schwarz. Wenn ich mein Handy bewege bzw unten links drücke, bewegt sich auch der Spielball und es gibt Geräusche.
Also in anderen Worten es funktioniert nicht und beenden kann man die App auch nicht (back taste zeigt keine Funktion)
Auf meinem Tablet Acer Iconia (Android 4.0.1) bleibt der Bildschirm ganz schwarz und ich höre nur die Geräusche.
-
-
aehm, grundsätzlich in einem Textview steht Text und Text+1 =Mist, weiterhin ist goal1 der Bezeichner deines Textviews und nicht der Inhalt.
d.g du zaehlst den Bezeichner hoch und dann stürzt halt die App ab.
du würdest gerne
JavaTextView goalHome = (TextView) findViewById(R.id.goal1); int heimtore = Integer.parseint( goalHome.getText()); heimtore++; goalHome.setText( String.ValueOf(heimtore);
PS: Was hier noch fehlt -> die überprüfung ob wirklich nur Zahlen in deinem Textview stehen, falls nicht, macht parseint aerger bzw muss noch in einen try catch block
-
alert.show()
und bitte schauen ob beim erschaffen -> this auch der richtige Context ist
-
Den Namen deiner EditBox solltest du eventl in etwas aussagekräftigeres Umwandeln. Text kann alles sein, besser waere eventl eb_imei oder so.
-
Hmm also Container sind immer Rechtecke und sowas wie floating gibt es meiner Meinung nach nicht.
Keine Ahnung wie du die Daten vorliegen hast, aber vielleicht könntest du ja einen WebView verwenden. (der kann HTML und lässt sich ja per img / <p> super dann einbauen) -
Hallo,
dann Willkommen im Forum und viel Erfolg bei dein Bachelorarbeit.
der kphil
-
Ne das sind nur Warnungen, wenn deine App abstürzt musst du mal den Debugger anwerfen, bzw mal das Fehler Log hier reinwerfen, dann sieht man ja woran es hängt.
-
Das sind lediglich Warnungen .
1) Das eine sagt du hast ne Farbe im Theme definiert, aber ebenfalls auch im Control, die von Theme würde dann übermalt werden.
2) Du hast eine Stringresource, welche nicht genutzt wird
3) Dir fehlt im drawable Ordner die höchste Auflösung (xhdpi), da warnt er dich wahrscheinlich weil dein Target Honeycomb oder ICS ist
-
Hallo
lad dir mal im Markt diese App >Android UI Patterns<
herunter. Da haben einige Jungs Ihre Controls gesammelt, mit Verweis zu den Sourcecodes.
Unter Listviews ist der von dir gewünschte ebenfalls dabei.https://play.google.com/store/…9pZGlmeS51aXBhdHRlcm5zIl0.
lg
phil
-
Bitte denkt daran, wenn ein Thema für euch zur Zufriedenheit beantwortet wurde, den Thread zu bewerten und natürlich auch als "Gelöst" zu kennzeichnen bzw zu schliessen.
-
Du hast Variante 3 vergessen: Shared Preferences - sicherlich die einfachste Lösung.
Hier liefert die Android eine einfache Möglichkeit Daten gebunden an die App in einer SQLite Datenbank abzulegen.
Java// Preferences lesen: SharedPreferences pref = Context.getSharedPreferences("MyApplication", MODE_PRIVATE); boolean showHelp = pref.getBoolean("showHelp", true); // Preferences speichern: SharedPreferences.Editor editor = pref.edit(); editor.putBoolean("showHelp", true); editor.commit(); // Wichtig!
Zum Thema Datenbank gibt es hier in der Tutorialsektion ein Kapitel.
-
Hast du eventl schon mal in den Android Tools -> Fix Project Properties gemacht ???
Und dann am besten noch -> Project .> Clean das sollte alle alten Abhänigkeiten raushauen und eine neue APK erzeugen.
Der von dir beschriebene Fehler tritt zum Beispiel auf wenn du auf mehreren Eclipse Instanzen mit unterschiedlichen "Debug Keys" entwickelst, dann klemmt es ab und zu beim ReBuild.
-
Uwe: Kleiner Nachtrag von mir, mit einem Augenzwinkern
(Klugscheissermodus an)
Das Problem eines Datums was in int oder long gespeichert ist, du benötigst immer einen Bezugspunkt und eine Wertedefinition (Millisekunden oder Sekunden, Minuten was auch immer). Wie z.B. 1.1.1970 ab diesem Zeitpunkt zaehlt dann dieser Differenzwert. In einem Context wie Java, Unix,Php ect. wurden Vereinbarungen getroffen mit welcher Basis Datehandlingfunktionen arbeiten (aber auch die können sich mal ändern).
In einer Datenbank bist du aber selbst verantwortlich. Sprich wenn jmd mit der SpracheXYZ diesen Wert in der DB öffnet, hat er einen schönen Longwert, weiß aber nicht wo er den Gegenrechnen soll - deswegen sollte immer ein lesbares Format wie String in einer Datenbank präferiert werden.
Alte Datenbanken welche Datumswerte als int gespeichert haben z.B. kippen nach 2035 zurück ins Jahr 1970.
Einem String ist es vollkommen egal ob da 2167 oder 1945 steht. Wie gesagt ich spreche hier nur für den Datenbankcontext, somit bleiben diese halt lesbar.(Klugscheissemodus aus)
lg der phil
-
Uwe: Häh moment mal ... SQLite hat doch DATETIME als Datentyp und genau wie MySQL gibt es Tonnen von Datekommandos, womit man rechnen kann
Ich sag mal nur NOW +9 days ect.
Klar ist das Gerechne mit Integerwerten einfacher im Programmfluss (da kann man ja wandeln per SImpleDate), aber diese Integerwerte sind unlesbar für einen Menschen und in einer DB kann es ruhig als String stehen und dort sollte man zum Select auch gerne und oft die DATE -Kommandos nutzen.liest du hier:
-
Der Fehler liegt hier
03-08 15:56:31.608: E/AndroidRuntime(862): android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=929 (# cursors opened by this proc=929)
Du hast 929 offene Datenbank zugriffe und beim allokieren von 2MB mehr Speicher scheitert er.
-
Hallo erzeuge dir doch einfach dein eigenes Objekt
class workflow {
int id
Button button
}hier dann jede Menge Init Kram ....
und dann nutzt Du keine Arraylist von Button, sondern von deinem Objekt Arraylist<workflow> , da kannst du ID und Button bündeln wie du magst.
PS: die Index outofbouds bekommst du logischer Weise, da du die 100 Objekte nicht instanziert hast. (sprich angelegt)
-
Ich vermute mal du suchst so etwas in der Art ???
http://www.youtube.com/watch?v=SZTiJmclaRc
Normalerweise packt man die 2 Sachen in seperate Views (Highscore, Game) und flippt dann nur per Animation zwischen beiden her.
Stichwort: Viewflipper
http://android-pro.blogspot.co…w-flipper-in-android.html
Die Touchgeste must du halt selber auswerten -> Stichwort OnTouch
der kphil
Edit: und hier gibt es sogar schon eine fertige Control dafür: