Beiträge von nobodySpecial

    Hi Jakob97,
    Was du brauchst ist ein KeyListener

    Java
    editText.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                    // do your magic
                    return false;
                }
            });

    Möchtest du, dass die zuletzt erhaltende Daten immer an oberster Stelle stehen?
    Dann könntest dafür eine Hilfsvariable nutzen

    Java
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            helperString = strReceived
            helperString.append(textStatus)
            textStatus = helperString;
        }
    });

    Gibt sicherlich noch performantere Lösungmöglichkeiten dafür.
    Gruß nobody

    Hi Ginso,


    dein Vorhaben solltest du nochmal überdenken.
    Wenn das System Ressourcen benötigt, kill es automatisch Apps die im Hintergrund liegen und das ist auch gut so.
    Die Prio geht nach der Dauer im Idle Zustand, aber auch den Verbrauch im Speicher. Von daher ist es gut in seiner eigenen App ein ordentliche
    Archtitektur bzgl des Ressourcen Managments, als auch der Sicherung & Wiederherstellung des aktuellen Zustands der App zu haben.
    Ob du mittels Root das interne Prozessmanagment manipulieren kannst, weiß ich nicht und ich kann es mir auch nur sehr schwer
    vorstellen, dass dies geht, aber ziemlich sicher ist das es ohne Root nicht gehen.

    Die Fehlermeldung lässt darauf schließen das du in deiner 2. Activity einen parametrisieren Konstruktor definiert hast.
    Du brauchst aber, wenn noch einen leeren Konstruktor. Wobei anzumerken gilt, das es keine gute Idee überhaupt einen eignen Konstruktoren in einer Activity
    zu verwenden.


    Wenn du Daten zwischen Activities austauschen willst, solltest du deinen Intent, verwenden der deine Activites aufruft.


    Du solltest dir mal das Android Training zu Activities und vorallem deren Life-Cycle ansehen.
    https://developer.android.com/…vity-lifecycle/index.html

    Hi Hendrix


    das Problem ist das du immer neue Bitmap erzeugst und die alten währenddessen noch vorhanden sind.
    Der recycle Aufruf eines Bitmaps markiert für den GC das, das Bitmap sozusagen tot ist. Das funktioniert aber nur wenn es keine Referenz mehr
    auf dieses Bitmap gibt.
    Ich denke einfach das du pro neue TrapView die du über dein Handler erzeugst und zu deinem View Container immer neu hinzufügst, das auch jedes mal zwei
    Bitmaps erzeugt werden. Wenn es sich bei deinem Container um eine ScrollView handelt, existieren deine erzeugten Bitmaps im Speicher noch, selbst wenn sie auf dem Display
    grade nicht sichtbar sind.


    Du solltest dir mal die RecyclerView & StaggeredGridLayoutManager von Google anschauen.


    https://developer.android.com/…/widget/RecyclerView.html


    https://developer.android.com/…redGridLayoutManager.html


    Dahinter verbirgt sich das Konzept erzeugte Views innerhalb eines scrollbaren Bereichs wieder zuverwenden, wenn sie aus dem sichtbaren Bereich verschwinden.
    Dies sorgt auch dafür das dein Content flüssiger scrollt.


    Ich hoffe das hilft dir etwas weiter

    Hi,
    Arbeiten tue ich auch auf Linux und kenne auch das Problem mit OpenJDK von damals, bin da auch auf das Orcale Java SDK gewechselt.
    Ich denke Google setzt noch nach wie vor auf Orcale für das Android SDK, hab allerdings vor einiger Zeit mal gelesen das sich Google eventuell
    von Orcales Java SDK trennen möchte. Ich denke nicht das sich viel geändert hat, aber du kannst ja mal für eines deiner Projekte das OpenJDK ausprobieren.
    Viel kaputt machen kannst du nicht und die meisten Funktion dürften auch mit dem OpenJDK funktionieren.


    cheers

    Wie bereits ChampS gesagt hat du müsstest das ganze thread-safe machen.
    Das erreichst unter anderem, wenn du deine Operationen in eine Methode auslagerst

    Java
    private synchronized void sendFile(String path){
        // do your stuff 
    }

    Ich würde allerdings empfehlen das ganze in einem Object von AsyncTask Typ umzusetzen.


    Du könntest mal deine Code Loggen welcher Thread sich grade wo befindet.

    Java
    Thread.currentThread().getId();
    Thread.currentThread().getName();


    Ob die Threads nacheinander laufen oder "simultan" hängt von der Implementierung ab.
    In deinem Fall ist das schwer zusagen, da ich nicht weiß was hinter AsynchUtil steht.
    Und die Socket Eigenschaften wären auch noch interessant zu wissen.


    Willst du mehrerer Asynchrone Threads "simultan" laufen lassen solltest du einen Blick auf den ThreadPoolExecutor werfen.
    https://developer.android.com/…t/ThreadPoolExecutor.html

    i hope i describe this right...
    deep linking is a concept about how to start and navigate through an application to a specific content from the outside.
    For example the user scan an QR-Code or get a push message from a server, which links through a specifc content in your application.


    And now to the origin question,


    You should take a look for the TaskStackBuilder
    https://developer.android.com/…app/TaskStackBuilder.html


    Wich Intent Flags do you use for your Activity?
    You try should try these
    Intent.FLAG_ACTIVITY_MULTIPLE_TASK
    Intent.FLAG_ACTIVITY_NEW_TASK
    Intent.FLAG_ACTIVITY_NEW_DOCUMENT This will start the activity as a new task which gets put in the history stack.
    You don't need all of them, the last one is interesting for some specfic use-cases.


    I hope i could help a bit.
    greetz