Πώς μπορώ να εμφανίσω την τρέχουσα ημερομηνία και ώρα σε μια εφαρμογή Android;
Εντάξει, δεν είναι και τόσο δύσκολο, καθώς υπάρχουν διάφορες μέθοδοι για να το κάνετε αυτό. Υποθέτω ότι θέλετε να βάλετε την τρέχουσα ημερομηνία και ώρα σε ένα TextView
.
String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
// textView is the TextView view that should display it
textView.setText(currentDateTimeString);
Υπάρχουν περισσότερα να διαβάσετε στην τεκμηρίωση που μπορείτε εύκολα να βρείτε εδώ . Εκεί θα βρείτε περισσότερες πληροφορίες για το πώς να αλλάξετε τη μορφή που χρησιμοποιείται για τη μετατροπή.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread myThread = null;
Runnable runnable = new CountDownRunner();
myThread= new Thread(runnable);
myThread.start();
}
public void doWork() {
runOnUiThread(new Runnable() {
public void run() {
try{
TextView txtCurrentTime= (TextView)findViewById(R.id.lbltime);
Date dt = new Date();
int hours = dt.getHours();
int minutes = dt.getMinutes();
int seconds = dt.getSeconds();
String curTime = hours + ":" + minutes + ":" + seconds;
txtCurrentTime.setText(curTime);
}catch (Exception e) {}
}
});
}
class CountDownRunner implements Runnable{
// @Override
public void run() {
while(!Thread.currentThread().isInterrupted()){
try {
doWork();
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}catch(Exception e){
}
}
}
}
Οι προφανείς επιλογές για την εμφάνιση της ώρας είναι η Προβολή AnalogClock
και η Προβολή DigitalClock
.
Για παράδειγμα, η ακόλουθη διάταξη:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<AnalogClock
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<DigitalClock
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp"/>
</LinearLayout>
Φαίνεται κάπως έτσι: