En bref, comment est-ce que je récupérerais une heure et l'afficherais sur une vue de texte ailleurs? Comme une variante pour arrêter le rodage de la montre qui met automatiquement à jour une vue lorsque la minuterie s'arrête?Comment faire je récupère l'heure actuelle sur un chronomètre?
Si vous connaissez des ressources sur le rodage approprié ou d'autres exemples de android studio time tracking features, veuillez les inclure.
Voici quelques travaux. Code chronomètre java:
package com.example.temp1.stackoverflowquestion;
import android.os.Handler;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
//Timer Text and Button
TextView txtTimer;
Button btn;
//Stop Watch logic
Handler handler;
long StartTime,timeInMilliseconds,TimeBuff,UpdateTime =0L;
int Seconds, Minutes, MilliSeconds;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtTimer = (TextView) findViewById(R.id.Timer_Value);
btn = (Button)findViewById(R.id.btnStart_Stop);
btn.setText("Start");
handler = new Handler() ;
//start/stop timer and change text
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btn.getText().toString() == "Start") {
btn.setText("Stop");
StartTime = SystemClock.uptimeMillis();
handler.postDelayed(runnable, 0);
} else {
btn.setText("Start");
TimeBuff += timeInMilliseconds;
handler.removeCallbacks(runnable);
}
}
});
}
//Stop Watch logic
public Runnable runnable = new Runnable() {
@Override
public void run() {
timeInMilliseconds = SystemClock.uptimeMillis()-StartTime;
UpdateTime = TimeBuff+timeInMilliseconds;
Seconds=(int)(UpdateTime/1000);
Minutes=Seconds/60;
Seconds%=60;
MilliSeconds=(int)(UpdateTime%1000);
txtTimer.setText(""+Minutes+":"
+String.format("%02d",Seconds)+":"
+String.format("%03d",MilliSeconds));
handler.postDelayed(this,0);
}
};
}
Voici son code de mise en page .xml:
<TextView
android:id="@+id/Timer_Value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#000"
android:layout_margin="20dp"
android:text="00:00:00"
android:textSize="50sp"/>
<Button
android:id="@+id/btnStart_Stop"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"/>