Beiträge von nono124

    Hallo erstmal willkommen im Forum.



    >leider funktioniert der Aufruf der Klasse (Tage_Berechnung) nicht.


    Kann es auch nicht
    Du erstellst nur eine Instaz der Klassee zb. in Zeile 49
    Tage_Berechnung instance_1 = new Tage_Berechnung(MainActivity.this);



    Du erstellst ein Objekt mit dem falschen gar nicht vorhandenen Kostruktor der Klasse.
    Somit kann auch nicht die Methode „berechnung_111“ aufrufen werden.



    Dein Kostrucktor
    public Tage_Berechnung (Activity _activity, int a)
    dein Auf ruf
    new Tage_Berechnung(MainActivity.this);


    System.out.println macht in Android auch nicht viel sinn. Benutze lieber ein Log dafür.



    Aber das Konzept was du verfolgst finde ich nicht so sinnvoll wenn du willst das immer jeden Tag das bild um 00.00 Uhr getauscht wird. Solltest du erst mal Prüfen welcher tag ist das richtige Bild laden. Dann kannst du einen Timer setze um bei 00:00 Uhr das Bild neu anzuzeigen.
    Denn wenn du die App beendest wir der Timer beendet. Es wird also nicht wie du vielleicht meinst im Hindergrund getauscht. Sondern nur wen die app läuft . wenn du die App wieder startest ist wieder das Bild zu sehen was im layout ist.

    versuche es mal so

    Hallo


    Du startest den Timer in dem Konstruktor der Klasse TimerTask der läuft aber noch im Ui Thread. Die onRun läuft im eigenen Thread.
    Der Timer läuft wohl zu lange und erzeugt dadurch eine ANR.
    Welche Fehlermeldung ist denn im Log?


    Und lasse die Main Methode weg die bauchst du nicht. Wird bei einer Dektop anwendung benutzt nicht bei Android.



    Hallo einfache Java Konsolen Anwendungen kannst du auch in der Android Studio IDE ausführen .
    Wenn du eine Methode main() benutzt wird dir links ein grüner Play Pfeil eingeblendet den du zum Run benutzen kannst.
    kannst und soltest dann auch nicht von Activity erben.
    Natürlich gehen da nur Textausgaben keine Grafikfunktionen. Zb. „System.out.print“
    Dir wird dann eine Console eingeblendet für die ein ausgabe.
    Oben neben dem Grünen Start Dreieck solte dan Main stehen nund nicht mehr APP.


    Klassen wie Swing gibt es da auch nicht.


    Ansonsten halt eben IntelliJ IDEA. Sieht fast gleich aus wie das Studio. Denn das Studio basiert auch IntelliJ.
    https://www.uni-trier.de/index.php?id=22787

    Hallo


    Zu Frage 1 ich würde sagen das da ein Broadcast Receiver besser geeignet ist.
    Das System versendet BroadcastIntenst die du mit einem Receiver abfangen kannst.
    Die Action “ACTION_AIRPLANE_MODE_CHANGED” könnte da nützlich sein.
    https://developer.android.com/guide/components/broadcasts
    https://www.big-app.de/broadcast-receiver-in-android/



    Frage 2 ist eigentlich mit frage 1 beantwortet. Direkt abfangen glaube nur über eine Callback Methode. Aber du bekommst ja eine Änderung der Airplane und somit des Netzwerks mit, über den Receiver und kannst dann selber prüfen.



    Frage 3 der Code ist bestimmt aus einen Beispiel für eine Desktop Anwendung nicht für Android denn in Android gibt es keine Main() Methode.
    Der Timer läuft im Main Thread .



    Frage 4
    Du bist in einer anderen Klasse die von Thread erbt und nicht von Activity.
    Du hast hier keinen Kontext der Activity .
    Den müsstest du den Konstruktor mitgeben Instanzieren der Klasse.
    Aber wie so willst du eine Notification in einem eigenen Thread machen?



    Hier noch ein Link zu einem PDF
    wo dir auch der Broadcast Receiver erklärt wird.


    https://www.google.com/url?sa=…Vaw2AyQzU4KCAtBvdAksDs80S

    Hallo also ich habe es mal getestet.
    Bei mir dreht die Progress ohne irgend ein zutuen. Natürlich nur die Runde die horizontale nicht.
    Farbe einstellen kannst du im XML direkt oder über den Style . habe es auch unter API 19 getestet soll bis 15 gehen. Da sind die Farnen und die Animation anders.
    Habe auch mal getestet eine Bar unsichtbar und durch Botton klick sichtbar zu machen geht auch ohne Probleme .
    Welche erste Progress meist du ?


    dann wirst du wohl damit leben müssen. Das unter Api 21 entwickeln willst hast du bis jetzt noch nicht gesagt..


    Kannst ja mal versuchen ein eigenes Progessbar Drawable zu erstellen und das in java oder XMl einbiden.
    Habe ich noch nicht gemacht kann da auch nicht helfen.

    Hallo so wird das nicht gehen denn das Drawable was du holst ist nur ein einfaches in dem Moment gültiges Bild . Kein Animiertes Drawable wie es die Progressbar braucht.
    Versuche lieber
    setProgressBackgroundTintList(ColorStateList tint)

    Es war mir klar das du es selber bist.


    Ok dann versuche ich es mal.


    Also eigentlich ist das mit der for schleife , bestimmt nur ein Beispiel um einen thread eine Aufgabe zu geben.


    normalerweise solltest du in deinem zeitaufwendigen Code selber etwas finden was du als Status Anzeige verwenden kannst. zb bei einem Download die Menge der runtergeladen Daten. Um daraus den Fortschrittes Balken anzuzeigen.


    Die for Schleife brauchst du nicht ist mit sicherheit aus dem Beispiel das du zur Grundlage genommen hast.

    also ich würde sagen das du gar nicht zur Zeile 36 kommst und somit deinen Task startest.
    Die Abfrage nach der Permission ist bestimmt negativ.
    Ansonsten läuft eigentlich der Thread. Die Progressbar hast du bestimmt immer sichtbar im Layout.
    Wenn dem so ist musst du sie auch wieder unsichtbar machen .
    Ich blende das immer als Dialog ein und beende den Dialog in der onPostExecute .



    Was ist eigentlich das


    Code
    FFT_Finish.absolut();
    Read_In.target();
    Finish.compute(16000, 90880, FFT_Finish.output);


    Wenn das deine eigentliche berechnung ist gehört die in die on doInBackground .
    Die onPreExecute() läuft im UI Thread




    Zitat

    Das was hier in der Methode protected void onPreExecute() ausgefuehrt, laesst die App einfrieren

    Kein wunder die läuft im UI Thread der Thread ist die doInBackgound.


    https://www.big-app.de/asyncta…lastung-des-main-threads/