私はAndroid Appウィジェットを作成するためのチュートリアルに従っていましたが、少し問題がありました。チュートリアルでは、このコードを作成するために私を導い: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);
}
}
をTextViewには変化しないようrunメソッドは、呼び出されていないされてないようです。あなたの助けてくれてありがとう、私はApp Widgetsを手に入れたいと思う。
ニック
よろしくお願いします。時計は毎秒更新する必要がありますが、AlarmManagerはこのバッテリーを効率的に使用できますか? – Nick
@Nick:時計をアプリウィジェットとして実装しないでください。時計はホーム画面の機能であり、他のアクティビティ(アラーム時計アプリなど)の機能です。 – CommonsWare
私はAppWidgetProviderを拡張しません。それでは、時計であるホームスクリーンのウィジェットはどうやって始めるのですか? – Nick