Dann versuche das erstmal.
Beiträge von nono124
-
-
Hi hast du eine signed apk erstellt?
-
hi, versuche mal das .
Frage aus welcher Methode, Thread, Callback ... heraus willst du das aufrufen? Hast du auch den richtigen Context?
Werden den auch die systemeinstellungen zurückgegeben teste mit debugger.Code
Alles anzeigenAudioManager mode = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); if(istBeepErlaubt == true) { if (mode.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) { } else { if (mode.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) { final MediaPlayer mp = MediaPlayer.create(this, R.raw.beep); mp.setVolume(100, 100); mp.prepare(); mp.start(); } }
-
schön woran lag es den?
-
Hallo ändere die Zeile 5
if (am.getRingerMode() == am.RINGER_MODE_VIBRATE){
in
if (am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {Du willst ja einen vergleich mit einer Kostanten machen.
dein if ist immer false somit wird der else zweig ausgeführt.die Zeile 11 must du auch änderen
-
Hi hast du die zweite Activity auch im Manifest bekannt gemacht?
-
also wenn du eine Progresbar und irgent etwas im Hindergrund laden möchtest kommst du um Threads nicht herum.
Das Layout wird geladen es wird nur erst angezeigt wenn die App läuft.
Schreibe estmal etwas sinnvolles und nicht nur diese test App um den Lifecycle zu testen.
Eine Progresbar hat normalerweise immer einen teil der in einen Thread im hindergund läuft und von zeit zu zeit die anzeige der Progress in UI Thread acktualisiert. Dazu ist ein Asynctask gut geeignet habe ich schon geschrieben.
Wie du eine Usereingabe simulierst habe ich dir auch gezeigt.
Hier ein Beispiel für Progressbar mit asynctask
https://www.concretepage.com/a…example-with-progress-barZitatoder aber ich lasse den kompletten Code in einem separaten Thread ausführen, wobei ich dabei dann vermutlich auf andere Probleme stoßen werde
Was meist du damit welche Probleme? Denke du hast das Thema Threads noch nicht verstanden.
-
Wieso benutzt diesen path? Wenn du beim Erstellen der DB keinen path an gibst wir die DB im App Speicher Bereich erstellt und auch beim deinstalliere mit gelöscht.
-
hi nein das ist nicht die id vom textview.
Mithilfe von extra kannst du dem Intent Parameter mitgeben. Diese werden in (key wert )Paaren übergeben der key(id) dient dazu wenn mehrere Parameter übergeben werden sie auseinander zuhalten.
Der key in putextra und bei getintent muss der gleiche sein. Was du übergibst einen int, String,Float,Id ... ist dir überlassen .
In der textview der mainactivity ist ein String und du willst ihn wieder in einer Textview in der zweiten activity anzeigen. Allso übergebe einen String .
Die id für die textview der zweiten activity holst du dir wie immer mit findviewbyid .Wenn es rot unterstrichen ist hast du wohl die Klasse noch nicht importiert. Drücke mal alt + enter um dem Import zu machen. Ansonsten zeige mal wie du das mit putextra gemacht hast.
Das putextra gehört bei dir in die openActivity2(); Methode denn dort erstellst du den intent.
Den String holst du dir in der zweiten activity in der oncreat.https://individuapp.com/softwareentwicklung/android-kurs/die-klassen-activity-und-int
-
hi es wäre hilfreich wen du und etwas von deinen Code zeigen würdest.
Das layout wird meistens erst aufgebaut wenn die app läuft .also nach oncrate und onstart.Mit welchen thraed hast du es versucht? Würde asyctask empfehlen.
Die Anzeige des layout wird meist erst aktualisiert und angezeigt wenn die APP richtig läuft also die Kontrolle an Android zurückgeht ,und du in einen listner wartest.
Dazu könntest du einen Buttonklick simulieren.
Und dort den Code ausführen. Du könntest dir einen unsichtbaren Button erstellen und ihn auslösen.private Button btn;
btn = (Button)findViewById(R.id.button);
btn.performClick();Dann bist du im in clicklistner und kannst deinen Code starten. Wenn du nicht mit threads arbeiten möchtest.
-
wo speicherst du den die db?
-
hi im allgemeinen wird nur das Verzeichnis im app Speicher /data/data/packet Name... Gelöscht nicht das Verzeichnis auf der sdkarte oder intenspeicher Karte.
-
kannich dir nicht sagen habe das noch nicht probiert. Dann schaue dir doch mal deine Liste an. Entweder im Debugger oder gib sie auf der Konsole oder in Datei aus.
Kannst ja mal eine einfache Liste erstellen und sie schütteln lassen und anschauen was passiert. Wenn da keine dopplungen entstehen ist der Fehler wo anders.
Kann auch sein das du nur eindimensionale Felder schütteln kannst. Wenn dem so ist kannst du das geschüttelte Feld nur als Index Tabelle benutzen. -
ok viel Spaß
Lg Jörg -
so nun solltest du auch die statische Version ohne SQL lösen können.
-
Hast du schon mit DB gearbeitet?
http://www.programmierenlernen…qlite-datenbank-tutorial/
Für die Zufalls Berechnung könnte das helfen.
https://www.gutefrage.net/frag…ie-sich-nicht-wiederholen
http://www.amdtown.com/2P5WBGYN/Mit dem ersten link kannst du deine Liste durch schütteln lassen. So das sie jedes mal anders ist,und du einfach der Reihe nach durch gehen kannst.
Das ist Das was ich mit unsortierter Liste meinte.In der Fragen Klasse nach Zeile 75
Collections.shuffle(fragen);
-
mit flag meine ich eine normale variable int boolean .
Welche Infos?
Würde dir empfehlen dich erstmal mit etwas SQL und db zu beschäftigen. -
Mit einer SQL ist es recht einfach du speicherst zu den fragen im gleichen Datensatz ein flag mit . Indem du speicherst ob die frage benutzt wurde. Bei dem auslesen abfragen der db lässt du dir nur fragen geben die noch nicht benutzt wurden. Setz natürlich voraus das du das flag nach benutzen der frage auch setzt.
Dazu solltest du dir etwas SQL Kenntnisse wenn nicht vorhanden aneignen. -
mal ei e andere Frage wie lang soll eigentlich deine Liste Anzahl der Fragen mal werden wird doch nicht bei den 7 bleiben?
-
es gibt immer viele Wege die zum Erfolg führen. Habe dir zwei gezeigt.
Eine Zufall Berechnung die dir keine doppelten Zahlen erstellt gibt es nicht.
Dazu musst du dir was überlegen.
1. Alle erzeugten Zahlen zb in einem Array speichern und prüfen ob die Zahl schon vorhanden wenn ja neu Zahl anfordern und wieder prüfen. Bis eine Zahl kommt die noch nicht im Array ist.
2. Wenn die Liste mit den Fragen nicht immer in der gleichen Reihenfolge ist kannst du mit deinem Code einfach weiter machen. Dazu musst du aber das erstellen der Liste in der Faragen Klasse ändern.
3. Du könntest schon gestellte Fragen aus der Liste löschen. Wenn die Liste lehr ist ist das spiel zu Ende.
Beim erstellen der Zufallszahl musst du beachten das die Liste immer kleiner wird und somit auch der Bereich für die Zufallszahlen begrenzt werden muss.