android - 应用小部件从数据库获取内容 - 更新问题

标签 android database android-widget android-appwidget

我正在制作一个允许用户创建和删除空间的应用程序。空间示例:办公室、 session 室、商店等。用户在该位置时会设置一个空间。例如,如果他在办公室,他会将空间设置为办公室。

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

我在让小部件显示这些空间时遇到了一些困难。问题是小部件仅在 30 分钟后更新,当您将其更改为每秒更新时,您会遇到电池问题。

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

有谁知道如何处理这个问题或有什么好的建议。 或者知道实际上以这种方式工作的任何好的教程。

我是 android 和 java 的新手。

最佳答案

是的,dave.c 给出的链接在很大程度上是正确的,但如果使用由集合支持的小部件,在我的例子中是数据库,则稍作修改即可获得预期结果:

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);
    }
}

关于android - 应用小部件从数据库获取内容 - 更新问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5355022/

相关文章:

java - 如何以编程方式为日期间隔图表生成文本标签数组

database - 如何使用 ASP.NET Core 将图像保存到数据库?

mysql - 在另一列中使用组功能的最有效方法

android - 处理 EditText 中可绘制对象的点击事件

android - 如何获取指定位置的URI?

android - Holoeverywhere : how to programmatically remove at runtime the action bar from an activity

android - Google Maps API v2 Android Studio map 未加载

android - Activity 识别 Api 在某些设备上不工作

Android GridView 将某些项目设置为不可点击

php - FuelPhp 关系查询作为单一结果