jap, deine Werte liegen alle zwischen 0 und 1, aber ohne expliziten cast auf float wird zuerst das int ergebnis genommen und dann in float umgewandelt. Und das int ergebnis ist 0, weil da einfach auf ne ganze Zahl abgeschnitten wird
Beiträge von Thrakbad
-
-
Aslo ich hab keine Erklärung dafür, aber als Anmerkung: normalerweise is das so, dass die Funktion immer in dem Thread ausgeführt wird, von dem sie auch aufgerufen wird. Welche Klasse davon betroffen ist, spielt eigentlich keine Rolle. Allerdings kann es unabhängig davon zu Blockern kommen, weil ja die Resourcen synchronisiert werden müssen und dann muss ein Thread eben warten.
-
ne, ich hab eben UK-Englisch eingestellt...also passt schon, dass Alles auf Englisch is. Nur der String für Taschenlampe scheint zu fehlen.
-
ne lustige Idee, ich hab 54% Überlebenschance...das ganze Proggi is auf Englisch bei mir, nur der button "Taschenlampe" nicht, just so you know
-
Also ich mache in meinen Threads mit Schleifen immer ein while(isRunning) und dann eine Funktion, die isRunning von außen setzt, so kann man die Schleife beenden und der Thread läuft aus und wird dann automatisch beendet, nachdem er fertig ist.
-
Ahja stimmt, das getApplicationContext() ist ja buggy
-
Seltsam, der kommt wirklich nicht bis zur onCreateDialog Methode...also das hab ich so auch noch nicht gesehn, sorry.
-
Im DDMS Logcat kommt sicher irgendne Fehlermeldung...zumindest nen Stacktrace von irgendner exception. Schau mal, was da steht.
-
1) Activity öffnet Dialog und setzt OnClicklistener für dessen "ok" button
2) Dialog bekommt Eingabe -> Klick auf "ok" triggered OnClickListener
3) OnClickListener holt Werte ausm dialog und gibt sie an Activity weiter
4) Activity ändert die Anzeige entsprechendWenn du deine Activity selber OnClickListener implementieren lässt, isses am einfachsten.
-
Also das Bild kommt in den assets ordner. Da kannst du auch ne beliebige Ordnerstruktur drin haben. Geladen wird das dann z.B. so (wurzel von dem angegebenen Pfad ist der assets ordner):
JavaAssetManager mngr = context.getAssets(); InputStream ins = mngr.open("graphics/icons/shield.png"); Bitmap bmp = BitmapFactory.decodeStream(ins);
Mit OpenGL wird dann folgendermaßen eine Textur erstellt, die Parameter für WRAP/REPEAT und die Filter kannste natürlich beliebig ändernJava
Alles anzeigentextureIds = new int[1]; gl.glGenTextures(1, textureIds, 0); int id = textureIds[0]; gl.glBindTexture(GL10.GL_TEXTURE_2D, id); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_REPEAT); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_REPEAT); GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bmp, 0); // falls nicht mehr gebraucht kann das bitmap jetzt wieder freigegeben werden bmp.recycle();
-
Also meiner Erfahrung nach skalieren RelativeLayouts am besten. Die ganze Skalierbarkeit ist bei Android durchaus möglich, allerdings muss man sehr viel mit den Layouts rum tricksen und unterschiedliche Typen ineinander schachteln, um das zu erreichen.
-
Klar gibts das...ich würde in meinem android Layout einfach 9 Imageviews machen, die clickable sind und dann entsprechend das Bild für "leer", "x" oder "o" enthalten. Ist kinderleicht, dauert ungefähr ne halbe Stunde. Du kannst dazu eigentlich alle möglichen Layouts verwenden, ich würde nen TableLayout nehmen. Geht aber auch mit geschachtelten LinearLayouts oder RelativeLayouts.
-
Letzte Frage: Werden die ganzen Funktionen die bei onResume stehen in einer Schleife ausgeführt? Sonst wäre das Problem ja klar, er prüft eben nur einmal den RingMode.
Ne werden se nicht. Das wird nur einmal audgeführt, wenn die Activity pausiert war und wieder gestartet wird (aber auch beim ersten start). Siehe das Diagramm hier . Wenn du ne Schleife haben willst, solltest du dir in deiner Activity einen Thread starten, der diese typische while(isRunning)... Architektur hat. Das ist aber in deinem Fall absolute Resourcenverschwendung, weil dein simples Proggi ja eindeutig event-basiert arbeitet. Mach die fitPicture() Aufrufe einfach ans Ende jedes Clicklisteners für den Button und dann sollte es gehen.
-
Vieles davon gibts ja auch in C#...Threading ist tatsächlich sehr wichtig, allerdings würde ich das dann vom Android Blickwinkel aus lernen. Da gibts nämlich einige Sachen, die dir Threading extrem vereinfachen (AsyncTasks, runOnUIThread()...)
-
Ich würd sagen so richtig massive Java-Kenntnisse brauchste gar nicht, um mit Android anzufangen. Wenns dir nur um mobile Entwicklung geht, dann wirste in nem Java Tutorial wahrsch. auch viele unnötige Sachen lernen, wie Swing oder sowas.
-
Hmm, da es static ist, dürfte der GC ja nicht zuschlagen, wenn deine Activity verlassen wird...ich würde an deiner Stelle in StartActivity static Methoden getSQLiteDB() und getEinkaufsDB() machen, die dann checken, ob die Variablen null sind und sie evtl. initialisieren. Wenn du dann die Variablen über diese Methoden setzt, ist sichergestellt, dass sie immer initialisiert sind.
-
Student, nebenher Arbeit als Werkstudent im mobilen Bereich, außerdem als Hobby und auch manchmal für die Arbeit Entwickler aufm Desktop
-
MAch dir einfach mal nen neuen virtual device und schau, obs mit dem geht
-
Threads sind halt etwas komplizierter als AsyncTasks. Letztere sind nur nen vereinfachter Wrapper für Threads.
Zur richtigen Frage: ehrlich gesagt keine Ahnung so richtig. Ich hab bis jetzt noch nie so mit Threads kommuniziert. -
getX/getY geben nicht die Pixel zurück, sondern die Stelle, an der das Event aufgetreten ist. Je nach Präzision des Touchscreens (kann man über getXPrecision/getYPrecision rauskriegen) können das dann halt auch mal keine runden Pixel sein. Für die meisten Anwendungen ist das zwar vernachlässigbar, aber is halt numal so spezifiziert.
Floats sind als Faustregel im Moment auf den meisten devices ungefähr halb so schnell wie Integer. Allerdings gibt es bei jeder normalen App deutlich bessere Stellen, wo man performance optimieren kann. Über die TouchEvents würd ich mir keine Sorgen machen