나는 아날로그 시계를 표시하는 위젯을 가지고 있습니다. 내가 원하는 것은 사용자가 위젯을 클릭 할 때 위젯이 데이터베이스에 쓸 시간입니다. 이미 databaseHelper 클래스가 있으며 현재 날짜와 시간을 보여주는 화면을 표시하고 데이터베이스에 시간을 기록하는 Activity가 있습니다. 사용자가 위젯을 클릭 할 때 데이터베이스에 로깅
나는 여기에 튜토리얼을 따라 : Analog Clock Tutorial이 함께 결국 :public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action))
{
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
this.mIntent = new Intent(context, AskTheTime.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, mIntent, 0);
views.setOnClickPendingIntent(R.id.Widget, pendingIntent);
AppWidgetManager.getInstance(context).updateAppWidget(intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS), views);
}
}
AskTheTime 클래스는()에서 onCreate에서 데이터베이스 작업 및 로그를 확장합니다. 그러나 이는 위젯이 시작되었을 때만 표시된다는 것을 의미합니다. 클릭 한 시점이 아닙니다. (필자는 pendingIntent를 시작했기 때문에 이것이라고 생각합니다.) 데이터베이스를 다른 메서드로 작성해야하는지, 아니면 Intents를 사용하여 위젯에서 이런 일을해야하는지 잘 모르겠습니다. 어떤 포인터가 좋을 것입니다! 의도에 대한 여러 가지 자습서를 살펴 보았지만 그 중 아무 것도 나에게 분명하지 않은 것처럼 보입니다.