J'ai suivi un tutoriel pour faire Android Widgets App, et j'avais un peu de mal. Le tutoriel m'a conduit à créer ce code:Mise à jour Widget App TextView
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int [] appWidgetIds) {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new MyTime(context, appWidgetManager), 1, 1000);
}
private class MyTime extends TimerTask {
RemoteViews remoteViews;
AppWidgetManager appWidgetManager;
ComponentName thisWidget;
DateFormat format = SimpleDateFormat.getTimeInstance(SimpleDateFormat.MEDIUM, Locale.getDefault());
public MyTime(Context context, AppWidgetManager appWidgetManager) {
this.appWidgetManager = appWidgetManager;
remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
thisWidget = new ComponentName(context, FlipWidget.class);
}
@Override
public void run() {
remoteViews.setTextViewText(R.id.widget_text, "Time: "+format.format(new Date()));
appWidgetManager.updateAppWidget(thisWidget, remoteViews);
}
}
mais il semble que la méthode d'exécution est jamais appelée, comme TextView ne change jamais. Merci pour votre aide, j'aimerais avoir un aperçu sur les Widgets App.
Nick
Très bien, merci pour votre aide. Les horloges doivent être mises à jour toutes les secondes, est-ce que AlarmManager me permettra de faire cette batterie efficacement? – Nick
@Nick: ne pas implémenter une horloge en tant que widget d'application. Les horloges sont une caractéristique d'un écran d'accueil, ou sont une caractéristique d'une autre activité (par exemple, une application de réveil). – CommonsWare
Donc, je ne prolonge pas AppWidgetProvider. Alors, comment fonctionnent les widgets d'écran d'accueil qui fonctionnent, où dois-je commencer maintenant? – Nick