邹兴云注释

pull/10/head
邹兴云 2 years ago
parent 3d803bc080
commit 4dd18f2d5c

@ -37,13 +37,15 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
NoteColumns.ID,
NoteColumns.BG_COLOR_ID,
NoteColumns.SNIPPET
};
};/* NoteWidgetProvider AppWidgetProvider
public static final int COLUMN_ID = 0;
public static final int COLUMN_BG_COLOR_ID = 1;
public static final int COLUMN_SNIPPET = 2;
PROJECTION ID ID */
private static final String TAG = "NoteWidgetProvider";
public static final int COLUMN_ID = 0;// 笔记 ID 列在 PROJECTION 数组中的索引
public static final int COLUMN_BG_COLOR_ID = 1;// 笔记背景颜色 ID 列在 PROJECTION 数组中的索引
public static final int COLUMN_SNIPPET = 2;// 笔记摘录内容列在 PROJECTION 数组中的索引
private static final String TAG = "NoteWidgetProvider";// 日志输出标识符
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
@ -55,19 +57,28 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
NoteColumns.WIDGET_ID + "=?",
new String[] { String.valueOf(appWidgetIds[i])});
}
}
}/* NoteWidgetProvider onDeleted() AppWidgetProvider
ContentValues values NoteColumns.WIDGET_ID AppWidgetManager.INVALID_APPWIDGET_ID
private Cursor getNoteWidgetInfo(Context context, int widgetId) {
return context.getContentResolver().query(Notes.CONTENT_NOTE_URI,
appWidgetIds NoteColumns.WIDGET_ID AppWidgetManager.INVALID_APPWIDGET_ID便
使 getContentResolver() ContentResolver update() NoteColumns.WIDGET_ID + "=?" NoteColumns.WIDGET_ID ID values NoteColumns.WIDGET_ID AppWidgetManager.INVALID_APPWIDGET_ID*/
private Cursor getNoteWidgetInfo(Context context, int widgetId) {// 使用 getContentResolver() 方法获取 ContentResolver 对象,通过该对象进行对笔记数据库的查询操作
return context.getContentResolver().query(Notes.CONTENT_NOTE_URI, // 使用 query() 方法查询笔记数据库,返回一个 Cursor 对象
return context.getContentResolver().query(// 查询的 URI笔记数据库中笔记的内容保存在该 URI 下
PROJECTION,
Notes.CONTENT_NOTE_URI,
PROJECTION,
NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?",
new String[] { String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER) },
null);
NoteColumns.WIDGET_ID + "=? AND " + NoteColumns.PARENT_ID + "<>?",// 查询的列,即笔记 ID、笔记背景颜色 ID 和笔记摘录内容
new String[] { String.valueOf(widgetId), String.valueOf(Notes.ID_TRASH_FOLER) },//查询的条件,即笔记关联的小部件 ID 以及笔记的父 ID 不为回收站的笔记
null);// 排序方式,这里为 null 表示不排序
}
protected void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
update(context, appWidgetManager, appWidgetIds, false);
}
}/*这是 NoteWidgetProvider 抽象类中的一个受保护的方法 update(),它接受一个 Context 对象、一个 AppWidgetManager 对象和一个整型数组 appWidgetIds 作为参数,并在方法中调用了另一个同名方法。*/
private void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds,
boolean privacyMode) {
@ -122,11 +133,21 @@ public abstract class NoteWidgetProvider extends AppWidgetProvider {
appWidgetManager.updateAppWidget(appWidgetIds[i], rv);
}
}
}
}/* `NoteWidgetProvider` `update()` `Context` `AppWidgetManager` `appWidgetIds` `privacyMode`
`appWidgetIds` ID `AppWidgetManager.INVALID_APPWIDGET_ID`
- ID
- `NoteEditActivity` ID
- `getNoteWidgetInfo()` ID
- ID `RemoteViews` ID `PendingIntent`
- `AppWidgetManager` `updateAppWidget()`
`privacyMode` `true` "隐私模式" `NotesListActivity` `NoteEditActivity`*/
protected abstract int getBgResourceId(int bgId);
protected abstract int getBgResourceId(int bgId);//用于获取小部件的背景资源 ID。
protected abstract int getLayoutId();
protected abstract int getLayoutId();//用于获取小部件的布局资源 ID。
protected abstract int getWidgetType();
protected abstract int getWidgetType();//用于获取小部件的类型。
}

@ -24,24 +24,24 @@ import net.micode.notes.data.Notes;
import net.micode.notes.tool.ResourceParser;
public class NoteWidgetProvider_2x extends NoteWidgetProvider {
public class NoteWidgetProvider_2x extends NoteWidgetProvider {//创建一个继承自 NoteWidgetProvider 的子类 NoteWidgetProvider_2x
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.update(context, appWidgetManager, appWidgetIds);
}
}/*重写父类的 onUpdate() 方法,并在其中调用父类的 update() 方法,以更新小部件的显示内容和点击事件。*/
@Override
protected int getLayoutId() {
return R.layout.widget_2x;
}
}/*重写父类的 getLayoutId() 方法,返回用于小部件的布局资源 ID。这里返回 R.layout.widget_2x表示使用 widget_2x.xml 文件作为布局资源。*/
@Override
protected int getBgResourceId(int bgId) {
return ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId);
}
}/*重写父类的 getBgResourceId() 方法,返回用于小部件的背景资源 ID。这里调用了 ResourceParser.WidgetBgResources.getWidget2xBgResource(bgId) 方法,该方法根据传入的背景 ID 返回相应的背景资源 ID。*/
@Override
protected int getWidgetType() {
return Notes.TYPE_WIDGET_2X;
}
}/*重写父类的 getWidgetType() 方法,返回小部件的类型。这里返回 Notes.TYPE_WIDGET_2X表示这是一个 2x 大小的小部件。*/
}

@ -24,23 +24,22 @@ import net.micode.notes.data.Notes;
import net.micode.notes.tool.ResourceParser;
public class NoteWidgetProvider_4x extends NoteWidgetProvider {
public class NoteWidgetProvider_4x extends NoteWidgetProvider {//创建一个继承自 NoteWidgetProvider 的子类 NoteWidgetProvider_4x。
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.update(context, appWidgetManager, appWidgetIds);
}
}/*重写父类的 onUpdate() 方法,并在其中调用父类的 update() 方法,以更新小部件的显示内容和点击事件。*/
protected int getLayoutId() {
return R.layout.widget_4x;
}
}/*重写父类的 getLayoutId() 方法,返回用于小部件的布局资源 ID。这里返回 R.layout.widget_4x表示使用 widget_4x.xml 文件作为布局资源。*/
@Override
protected int getBgResourceId(int bgId) {
return ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId);
}
}/*重写父类的 getBgResourceId() 方法,返回用于小部件的背景资源 ID。这里调用了 ResourceParser.WidgetBgResources.getWidget4xBgResource(bgId) 方法,该方法根据传入的背景 ID 返回相应的背景资源 ID。*/
@Override
protected int getWidgetType() {
return Notes.TYPE_WIDGET_4X;
}
}
}/*重写父类的 getWidgetType() 方法,返回小部件的类型。这里返回 Notes.TYPE_WIDGET_4X表示这是一个 4x 大小的小部件。*/

Loading…
Cancel
Save