添加部分注释

Pwc
潘文昌 2 years ago
parent 9f14e63f98
commit 0595394731

@ -42,7 +42,7 @@ public class BackupUtils {
private static BackupUtils sInstance;
public static synchronized BackupUtils getInstance(Context context) {
if (sInstance == null) {
if (sInstance == null) {//如果当前备份不存在,则声明一个
sInstance = new BackupUtils(context);
}
return sInstance;
@ -67,7 +67,7 @@ public class BackupUtils {
private BackupUtils(Context context) {
mTextExport = new TextExport(context);
}
}//初始化函数
private static boolean externalStorageAvailable() {
return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState());
@ -140,7 +140,7 @@ public class BackupUtils {
* Export the folder identified by folder id to text
*/
private void exportFolderToText(String folderId, PrintStream ps) {
// Query notes belong to this folder
// Query notes belong to this folder 通过查询parent id是文件夹id的note来选出制定ID文件夹下的Note
Cursor notesCursor = mContext.getContentResolver().query(Notes.CONTENT_NOTE_URI,
NOTE_PROJECTION, NoteColumns.PARENT_ID + "=?", new String[] {
folderId
@ -149,13 +149,13 @@ public class BackupUtils {
if (notesCursor != null) {
if (notesCursor.moveToFirst()) {
do {
// Print note's last modified date
// Print note's last modified date ps里面保存有这份note的日期
ps.println(String.format(getFormat(FORMAT_NOTE_DATE), DateFormat.format(
mContext.getString(R.string.format_datetime_mdhm),
notesCursor.getLong(NOTE_COLUMN_MODIFIED_DATE))));
// Query data belong to this note
String noteId = notesCursor.getString(NOTE_COLUMN_ID);
exportNoteToText(noteId, ps);
exportNoteToText(noteId, ps);//将文件导出到text
} while (notesCursor.moveToNext());
}
notesCursor.close();
@ -171,21 +171,21 @@ public class BackupUtils {
noteId
}, null);
if (dataCursor != null) {
if (dataCursor != null) {//利用光标来扫描内容区别位callnote和note两种
if (dataCursor.moveToFirst()) {
do {
String mimeType = dataCursor.getString(DATA_COLUMN_MIME_TYPE);
if (DataConstants.CALL_NOTE.equals(mimeType)) {
// Print phone number
// Print phone number 打印电话号码
String phoneNumber = dataCursor.getString(DATA_COLUMN_PHONE_NUMBER);
long callDate = dataCursor.getLong(DATA_COLUMN_CALL_DATE);
String location = dataCursor.getString(DATA_COLUMN_CONTENT);
if (!TextUtils.isEmpty(phoneNumber)) {
if (!TextUtils.isEmpty(phoneNumber)) {//判断是否为空字符
ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT),
phoneNumber));
}
// Print call date
// Print call date 打印呼叫日期
ps.println(String.format(getFormat(FORMAT_NOTE_CONTENT), DateFormat
.format(mContext.getString(R.string.format_datetime_mdhm),
callDate)));
@ -217,9 +217,10 @@ public class BackupUtils {
/**
* Note will be exported as text which is user readable
* note
*/
public int exportToText() {
if (!externalStorageAvailable()) {
if (!externalStorageAvailable()) { //总函数调用上面的exportFolder和exportNote
Log.d(TAG, "Media was not mounted");
return STATE_SD_CARD_UNMOUONTED;
}
@ -229,7 +230,7 @@ public class BackupUtils {
Log.e(TAG, "get print stream error");
return STATE_SYSTEM_ERROR;
}
// First export folder and its notes
// First export folder and its notes, 导出文件夹,导出里面包含的便签
Cursor folderCursor = mContext.getContentResolver().query(
Notes.CONTENT_NOTE_URI,
NOTE_PROJECTION,
@ -257,7 +258,7 @@ public class BackupUtils {
folderCursor.close();
}
// Export notes in root's folder
// Export notes in root's folder ,将根目录里面的便签导出
Cursor noteCursor = mContext.getContentResolver().query(
Notes.CONTENT_NOTE_URI,
NOTE_PROJECTION,
@ -297,7 +298,7 @@ public class BackupUtils {
PrintStream ps = null;
try {
FileOutputStream fos = new FileOutputStream(file);
ps = new PrintStream(fos);
ps = new PrintStream(fos);//将ps输出流输出到特定的文件目的就是导出到文件而部署直接输出
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
@ -314,9 +315,9 @@ public class BackupUtils {
*/
private static File generateFileMountedOnSDcard(Context context, int filePathResId, int fileNameFormatResId) {
StringBuilder sb = new StringBuilder();
sb.append(Environment.getExternalStorageDirectory());
sb.append(context.getString(filePathResId));
File filedir = new File(sb.toString());
sb.append(Environment.getExternalStorageDirectory());//外部SD卡的存储路径
sb.append(context.getString(filePathResId));//文件的存储路径
File filedir = new File(sb.toString());//filedir存储路径信息
sb.append(context.getString(
fileNameFormatResId,
DateFormat.format(context.getString(R.string.format_date_ymd),
@ -324,7 +325,7 @@ public class BackupUtils {
File file = new File(sb.toString());
try {
if (!filedir.exists()) {
if (!filedir.exists()) {//文件不存在,则新建文件
filedir.mkdir();
}
if (!file.exists()) {

@ -37,7 +37,7 @@ import java.util.HashSet;
public class DataUtils {
public static final String TAG = "DataUtils";
public static boolean batchDeleteNotes(ContentResolver resolver, HashSet<Long> ids) {
public static boolean batchDeleteNotes(ContentResolver resolver, HashSet<Long> ids) {//直接删除多个笔记
if (ids == null) {
Log.d(TAG, "the ids is null");
return true;
@ -47,9 +47,9 @@ public class DataUtils {
return true;
}
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();
ArrayList<ContentProviderOperation> operationList = new ArrayList<ContentProviderOperation>();//提供一个任务列表
for (long id : ids) {
if(id == Notes.ID_ROOT_FOLDER) {
if(id == Notes.ID_ROOT_FOLDER) {//若为根文件夹,则警告不可删除
Log.e(TAG, "Don't delete system folder root");
continue;
}

Loading…
Cancel
Save