/* * 版权声明:MiCode开源社区(www.micode.net) * * 本代码遵循Apache 2.0开源协议 * 详细授权信息请访问:http://www.apache.org/licenses/LICENSE-2.0 */ // 定义代码所在的包,用于组织代码模块化 package net.micode.notes.widget; // 导入小部件和应用程序相关的类 import android.appwidget.AppWidgetManager; import android.content.Context; import net.micode.notes.R; // 导入应用资源文件 R,访问布局和其他资源 import net.micode.notes.data.Notes; // 导入笔记相关的常量和数据类 import net.micode.notes.tool.ResourceParser; // 导入工具类,用于解析小部件资源 /** * 4x大小的便签小部件提供者类,继承自 NoteWidgetProvider。 * 专门用于处理 4x 大小的便签小部件的更新和相关操作。 */ public class NoteWidgetProvider_4x extends NoteWidgetProvider { /** * 当系统请求更新小部件时,会调用此方法。 * 该方法通过调用父类的 `update` 方法来处理小部件的更新逻辑。 * * @param context 上下文环境,提供应用程序的全局信息和操作能力。 * @param appWidgetManager 小部件管理器,用于管理当前应用中所有的小部件。 * @param appWidgetIds 需要更新的小部件 ID 数组,包含多个小部件的唯一标识符。 */ @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // 调用父类的 update 方法,完成通用的更新逻辑 super.update(context, appWidgetManager, appWidgetIds); } /** * 获取小部件的布局资源 ID。 * 布局资源定义了小部件的界面结构,例如显示的文本和背景图片等。 * * @return 返回 4x 小部件的布局资源 ID,对应 `res/layout/widget_4x.xml` 文件。 */ @Override protected int getLayoutId() { return R.layout.widget_4x; // 指定用于 4x 小部件的布局资源 } /** * 根据背景 ID 获取对应的背景资源 ID。 * 小部件可以有不同的背景样式,例如不同的颜色或主题,通过背景 ID 来选择。 * * @param bgId 背景的索引 ID,表示不同的背景样式。 * @return 返回与背景 ID 对应的背景资源 ID,用于设置小部件的背景。 */ @Override protected int getBgResourceId(int bgId) { // 使用 ResourceParser 工具类,根据背景 ID 获取 4x 小部件的背景资源 ID return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId); } /** * 获取当前小部件的类型标识。 * 该方法返回一个整型常量,用于标识当前小部件的类型。 * 在应用中可以通过该标识区分不同的小部件类型,例如 4x 和 2x 小部件。 * * @return 返回小部件类型的整型标识,表示这是一个 4x 大小的小部件。 */ @Override protected int getWidgetType() { return Notes.TYPE_WIDGET_4X; // 返回 4x 小部件类型的常量 } }