2011-03-18 58 views
1

我正在制作一个允许用户创建和删除空格的应用程序。空间示例:办公室,会议室,商店等。用户将在他位于该位置时设置空间。例如,如果他在办公室,他将设置空间到办公室。从数据库获取内容的应用程序小部件 - 更新问题

空格存储在数据库中。 我有一个主屏幕小部件,这个小部件需要显示设置的空间。示例需要现在显示办公室。

我有一些困难让小部件显示这些空间。问题在于,小部件只会在30分钟后更新,并且每次更改时都会更新,而不是每次都需要更换电池问题。

我只希望在设置空间时更新小部件。

有没有人知道如何处理这个问题或有一些很好的建议。 或者知道任何实际上以这种方式工作的优秀教程。

我是新来的android和java。

回答

0

如果你想以编程方式更新一个小部件,您可以使用this answer

0

是的,dave.c给出的链接在很大程度上是正确的,但如果是使用由collection支持的微件,该方法在我的情况的数据库,一个轻微的修改给出了预期的结果:

private void updateAllWidgets() { 
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(getContext().getApplicationContext()); 
    int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(getContext().getApplicationContext(), ListWidgetProvider.class)); 
    if (appWidgetIds.length > 0) { 
     // Tell the widgets that the list items should be invalidated and refreshed! 
     // Will call onDatasetChanged in ListWidgetService, doing a new requery 
     appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.notes_list); 
    } 
} 
2

你可以使用这个库:Android SQLiteAssetHelper

版本的Android辅助类管理数据库创建和使用应用程序的原始资产文件进行版本管理。

它帮了我:)