я в настоящее время есть виджет, который использует два setTextViewText
:Update Widget Периодически Каждый второй
общественный класс ЭЛЕКТРОННЫЕ ЧАСЫ расширяет AppWidgetProvider {
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
int N = appWidgetIds.length;
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.digitalclock);
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
Intent clockIntent = new Intent(context, DeskClock.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, clockIntent, 0);
views.setOnClickPendingIntent(R.id.rl, pendingIntent);
java.util.Date noteTS = Calendar.getInstance().getTime();
String time = "kk:mm";
String date = "dd MMMMM yyyy";
views.setTextViewText(R.id.tvTime, DateFormat.format(time, noteTS));
views.setTextViewText(R.id.tvDate, DateFormat.format(date, noteTS));
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
Мой вопрос, как я могу использовать это, чтобы установить два TextView
каждую секунду так что время обновления вместо 30 минут, что позволяет appwidgetprovider
? Я слышал об использовании AlarmManager
, используя service
, handler
.... Проблема в том, что это не ясно, или дать примеры того, как я буду заниматься этим.
Так что, если кто-нибудь имеет ясный путь для достижения этой цели я очень ценю это благодаря
Вы действительно не должны обновлять виджет приложения каждую секунду. Каждое обновление виджета приложения относительно дорого, и каждый раз каждый раз это означает, что ваш процесс будет постоянно находиться в памяти. Для повышения эффективности часы лучше всего реализуются как функции самого домашнего экрана. – CommonsWare