Also generell ist es empfehlenswert jeden Datensatz eindeutig indentifizieren zu können. Alles andere ist i.d.R. schlechtes Datenbankdesign und führt zu Problemen, wie deinen jetzt. Mach doch einfach ne laufende Nummer zu jedem Datensatz, über die du ihn eindeutig ansprechen kannst. Dann löscht du immer den richtigen [lmgtfy]Primary Key[/lmgtfy]
Beiträge von Thrakbad
-
-
Also generell schneller machen kann mans nur durch aufspielen von Custom Roms und evtl. Übertakten. Beides ist allerdings für nen Anfänger eher nicht zu empfehlen, weil man sich damit das Telefon kaputt macht, nachdem man die Garantie verloren hat.
Das Vodafone Branding stinkt in der Regel, ich habe einige Telefone in der Hand gehabt, die dadurch deutlich langsamer laufen, als ohne. Ich würd mal nachfragen, wieso auf nem T-Mobile Gerät, nen VF Branding drauf ist, und ob das nicht auch ohne geht. In deinem Fall liegts aber auch daran, dass das Galaxy i5800 etwas besser ist, als das Magic. Kann auch sein, dass auf deinem noch Android 1.6 läuft, dann kann mans sowieso schlecht vergleichen. -
-
Ah klar...manchmal sieht man den Wald vor lauter Bäumen nicht. Genau daran liegt das natürlich, nach dem ersten Schleifendurchlauf ist newQuestion logischerweise 0, weil so schnell kannste gar nicht klicken und dann isser raus. Da is jetz natürlich der Ansatz etwas ausgehebelt
Ich würde das ganze so ungefähr machen:Java
Alles anzeigenclass ...{ // Cursor c hier irgendwo als member public void onCreate(..) { btnCorrect.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Toast toast = Toast.makeText(getApplicationContext(), "Richtig", Toast.LENGTH_SHORT); toast.show(); nextQuestion(); }}); } private void nextQuestion() { // c initialisieren und prüfen usw if(c.moveToNext()) { String Question = c.getString(columnQuestion); String Answer = c.getString(columnAnswer); txtQuestion.setText(Question); txtAnswer.setText(Answer); } else { // was auch immer passieren soll, wenn die Fragen Alle sind } }}
EDIT: voll blöd, irgendwie mag er meine Leerzeilen in dem Code nicht richtig übernehmen
-
Schau dir mal Phonegap an, damit müsste sowas eigentlich gehen.
-
newquestion is ne member-Variable? Check mal, ob er die richtig auf 1 setzt, wie du dir das gedacht hast.
-
Lustige Sache, hab ich grade bei Androidpolice gelesen: Lookout Mobile Security Helps Track A Stolen DInc. Oh, And Recover The Car It Was In. And Arrest The Armed Robber
Wer sowas noch nicht auf seinem Androiden hat: ich würde das jedem empfehlen. Gibt irgendwie ein sicheres Gefühl und zieht auch nicht merklich an der Batterie oder so. Ich hab Lookout zum Virenscan und TheftAware für tracking usw. drauf.
-
Also das @Override muss da nicht hin, das is irgendnen Kram, den ich vor Android auch noch nicht gesehen habe. Ich hab auch schon Apps geschrieben, wo ich das weg gelassen hab und die ham trotzdem funktioniert. Dass die funktion Überschrieben wird, weiß er ja schon daran, wenn sie die gleiche Signatur hat, wie die aus der Basisklasse.
-
-
-
1) ja, normalerweise sollte das nur bei OnCreate stehen, nicht im OnClick
2) verstehe das Problem nicht ganz, was sagt der Compiler denn bei der Zeile?
3) Du machst das am besten als Membervariable in der Klasse, das geht so:
Wenns allerdings schon daran hapert, solltest du vielleicht überlegen, erstmal ein paar Java Tutorials zu machen, das ist nämlich wirklich grundlegendes Wissen. -
achso? Hast du nicht geschrieben, dass mit 3.5 auf dem anderen Rechner alles geht? sind auf dem Mac auch die Google Libraries für Maps usw. drauf? Scheinbar findet er die ja nicht.
-
Also es ist bekannt, dass es mit Eclipse 3.6 noch Fehler gibt. Deshalb hat Google empfohlen, dass man weiterhin mit 3.5 arbeitet.
-
Du musst beim laufenden Emulator unter Settings -> Locale & Text (oder so ähnlich) das japanische Keyboard ausschalten. So als würdest dus auf dem Telefon umschalten wollen
-
Also ich hab übrigens ein güstiges Gerät, das ich niemand empfehlen würde: lasst die Finger vom Vodafone 845, das ist absolut unbenutzbar. Ich muss mich auf der Arbeit manchmal damit rum schlagen leider
-
Ja. Generell würd ich übrigens empfehlen, bei Datenbanken einen SQLiteOpenHelper zu verwenden. Hier is grob erklärt, wie man den benutzt, ist total einfach. Damit muss man nicht immer selber schaun, ob die DB schon existiert oder nicht, man kann super einfach und schön übersichtlich die initialen Werte setzen, und wenn man Updates für seine App raus bringt, dann kann man da einfach die onUpdate Funktion benutzen und die DB wird beim ersten Lauf nach dem Update automatisch wie angegeben modifiziert.
-
Ich würd die ganzen Values auf jeden Fall in ne Datenbank schreiben. dann kannst du auch besser danach suchen usw. Macht bei so großen Datensätzen auf jeden Fall Sinn.
-
Hmm, mit Array Adapter hab ich noch nie was gemacht, sorry.
-
Entweder dein Emulator ist deutlich schneller als meiner, oder dein Galaxy is kaputt
Ich hoffe mal das erste is der Fall, weil ich merk immer nen deutlichen Unterschied. -
Sollte keine Rolle spielen eigentlich. Ich setze immer zuerst die Daten und rufs dann auf