Je fais une application qui dépend d'un utilisateur appuyant sur une touche et des événements basés sur le temps. Les méthodes fonctionneront dans deux circonstances:Comment exécutez-vous une des deux méthodes en continu quand elles s'exécutent indéfiniment et une basée sur un événement de pression de touche?
1: Si l'utilisateur appuie sur une touche, l'application imprime foo.
2: Si 3 secondes s'écoulent, l'application imprime la barre.
Le premier scénario s'exécute indépendamment de la seconde, mais le second dépend du premier. Le temporisateur de 3 secondes doit être réinitialisé chaque fois que le keypress event
est appelé. Après l'exécution de l'une de ces deux méthodes, l'application doit retourner à l'état où l'application attend l'un de ces deux événements.
code pourrait ressembler à ce qui suit
@override
public void onPress(int i){
System.out.print("foo");
}
public void printBar(){
if(timeElapsed > 3){
System.out.print("bar");
}
}
Donc sur l'événement de presse devrait se produire normalement lorsque la touche est pressée, mais barre d'impression ne doit fonctionner 3 secondes après l'exécution la plus récente de la plus récente keyPress. Chaque exécution de keypress devrait réinitialiser le timer printBar. Merci pour votre aide et laissez-moi savoir si je peux fournir de meilleures informations. Permettez-moi de vous donner une idée générale de la façon de procéder.
Multithreading avec un verrou. – horatius
Vous étiquetez cette question avec [tag: android], mais vous écoutez les événements de la touche. Cela n'a aucun sens pour moi. Les téléphones Android n'ont pas de clés, non? – Sweeper
Je crée mon propre clavier, donc la touche fait référence à une touche du clavier. Je n'ai pas inclus ce clavier dans la description parce que je pensais que la question généralisée atteignait encore ce que je demandais – Danny2036