王润泽 2 years ago
commit e74122b424

Binary file not shown.

@ -25,24 +25,24 @@ import android.util.Log;
import java.util.HashMap;
public class Contact {
public class Contact {//定义一个Contact类类别标签为Contact包含一个用于存储用户信息的HashMap
private static HashMap<String, String> sContactCache;
private static final String TAG = "Contact";
//定义静态常量,用于查询指定联系人
private static final String CALLER_ID_SELECTION = "PHONE_NUMBERS_EQUAL(" + Phone.NUMBER
+ ",?) AND " + Data.MIMETYPE + "='" + Phone.CONTENT_ITEM_TYPE + "'"
+ " AND " + Data.RAW_CONTACT_ID + " IN "
+ "(SELECT raw_contact_id "
+ " FROM phone_lookup"
+ " WHERE min_match = '+')";
//定义一个静态方法getContact可以通过Contact对象以及电话号码查询联系人。
public static String getContact(Context context, String phoneNumber) {
if(sContactCache == null) {
if(sContactCache == null) {//不存在这个联系人则新建一个存储信息
sContactCache = new HashMap<String, String>();
}
if(sContactCache.containsKey(phoneNumber)) {
return sContactCache.get(phoneNumber);
if(sContactCache.containsKey(phoneNumber)) {//如果已经包含电话号码作为关键字对应的用户
return sContactCache.get(phoneNumber);//直接返回用户的名字get返回名字
}
String selection = CALLER_ID_SELECTION.replace("+",

@ -17,7 +17,7 @@
package net.micode.notes.data;
import android.net.Uri;
public class Notes {
public class Notes {//定义Nodes类初始化参数都赋值成静态量
public static final String AUTHORITY = "micode_notes";
public static final String TAG = "Notes";
public static final int TYPE_NOTE = 0;
@ -54,14 +54,14 @@ public class Notes {
/**
* Uri to query all notes and folders
*/
public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");
public static final Uri CONTENT_NOTE_URI = Uri.parse("content://" + AUTHORITY + "/note");//指定笔记的路径
/**
* Uri to query data
*/
public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");
public static final Uri CONTENT_DATA_URI = Uri.parse("content://" + AUTHORITY + "/data");//用于指定数据的路径,类似上面
public interface NoteColumns {
public interface NoteColumns {//定义笔记集ID、父集ID、创建日期修改日期等等列名称以及类型做初始化
/**
* The unique ID for a row
* <P> Type: INTEGER (long) </P>
@ -167,7 +167,7 @@ public class Notes {
public static final String VERSION = "version";
}
public interface DataColumns {
public interface DataColumns {//定义接口给每行数据ID类型所属笔记集ID内容数据等等做定义
/**
* The unique ID for a row
* <P> Type: INTEGER (long) </P>
@ -241,20 +241,20 @@ public class Notes {
public static final String DATA5 = "data5";
}
public static final class TextNote implements DataColumns {
public static final class TextNote implements DataColumns {//实现DataColumn接口为数据库查询操作提供数据列名称
/**
* Mode to indicate the text in check list mode or not
* <P> Type: Integer 1:check list mode 0: normal mode </P>
*/
public static final String MODE = DATA1;
public static final int MODE_CHECK_LIST = 1;
public static final int MODE_CHECK_LIST = 1;//表示当前文本是否还处于检查列清单的模式
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/text_note";
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/text_note";
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/text_note");//指定路径
}
public static final class CallNote implements DataColumns {

@ -27,7 +27,7 @@ import net.micode.notes.data.Notes.DataConstants;
import net.micode.notes.data.Notes.NoteColumns;
public class NotesDatabaseHelper extends SQLiteOpenHelper {
public class NotesDatabaseHelper extends SQLiteOpenHelper { //定义数据库相关的名称以及标签
private static final String DB_NAME = "note.db";
private static final int DB_VERSION = 4;
@ -42,7 +42,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
private static NotesDatabaseHelper mInstance;
private static final String CREATE_NOTE_TABLE_SQL =
private static final String CREATE_NOTE_TABLE_SQL =//规范定义数据库存储信息的格式以及组成部分
"CREATE TABLE " + TABLE.NOTE + "(" +
NoteColumns.ID + " INTEGER PRIMARY KEY," +
NoteColumns.PARENT_ID + " INTEGER NOT NULL DEFAULT 0," +
@ -85,7 +85,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/**
* Increase folder's note count when move note to the folder
*/
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =//设置触发器在笔记集更新的时候增加数量1
"CREATE TRIGGER increase_folder_count_on_update "+
" AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE +
" BEGIN " +
@ -97,7 +97,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/**
* Decrease folder's note count when move note from folder
*/
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =//类似的设置触发器在笔记集更新的时候减少数量1
"CREATE TRIGGER decrease_folder_count_on_update " +
" AFTER UPDATE OF " + NoteColumns.PARENT_ID + " ON " + TABLE.NOTE +
" BEGIN " +
@ -110,7 +110,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/**
* Increase folder's note count when insert new note to the folder
*/
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER =
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER =//设置触发器在笔记集创建的时候增加数量1
"CREATE TRIGGER increase_folder_count_on_insert " +
" AFTER INSERT ON " + TABLE.NOTE +
" BEGIN " +
@ -122,7 +122,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/**
* Decrease folder's note count when delete note from the folder
*/
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER =
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER =//设置触发器,在笔记集删除文件的时候-1
"CREATE TRIGGER decrease_folder_count_on_delete " +
" AFTER DELETE ON " + TABLE.NOTE +
" BEGIN " +
@ -135,7 +135,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
/**
* Update note's content when insert data with type {@link DataConstants#NOTE}
*/
private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER =
private static final String DATA_UPDATE_NOTE_CONTENT_ON_INSERT_TRIGGER =//设置触发器用于在笔记中数据更改时进行相应ID字段等的更新
"CREATE TRIGGER update_note_content_on_insert " +
" AFTER INSERT ON " + TABLE.DATA +
" WHEN new." + DataColumns.MIME_TYPE + "='" + DataConstants.NOTE + "'" +
@ -210,14 +210,14 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
super(context, DB_NAME, null, DB_VERSION);
}
public void createNoteTable(SQLiteDatabase db) {
public void createNoteTable(SQLiteDatabase db) {//创建并管理日志信息表
db.execSQL(CREATE_NOTE_TABLE_SQL);
reCreateNoteTableTriggers(db);
createSystemFolder(db);
Log.d(TAG, "note table has been created");
}
private void reCreateNoteTableTriggers(SQLiteDatabase db) {
private void reCreateNoteTableTriggers(SQLiteDatabase db) {//重置触发器
db.execSQL("DROP TRIGGER IF EXISTS increase_folder_count_on_update");
db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_update");
db.execSQL("DROP TRIGGER IF EXISTS decrease_folder_count_on_delete");
@ -301,7 +301,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//用于检查并进行数据库版本的更新,保障版本控制
boolean reCreateTriggers = false;
boolean skipV2 = false;

@ -35,7 +35,7 @@ import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.data.NotesDatabaseHelper.TABLE;
public class NotesProvider extends ContentProvider {
public class NotesProvider extends ContentProvider {//定义URL以及匹配规则
private static final UriMatcher mMatcher;
private NotesDatabaseHelper mHelper;
@ -86,12 +86,12 @@ public class NotesProvider extends ContentProvider {
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,//执行数据库查询操作
String sortOrder) {
Cursor c = null;
SQLiteDatabase db = mHelper.getReadableDatabase();
String id = null;
switch (mMatcher.match(uri)) {
switch (mMatcher.match(uri)) {//匹配数据库查询关键字
case URI_NOTE:
c = db.query(TABLE.NOTE, projection, selection, selectionArgs, null, null,
sortOrder);
@ -148,7 +148,7 @@ public class NotesProvider extends ContentProvider {
}
@Override
public Uri insert(Uri uri, ContentValues values) {
public Uri insert(Uri uri, ContentValues values) {//insert向数据库中插入一条数据信息值
SQLiteDatabase db = mHelper.getWritableDatabase();
long dataId = 0, noteId = 0, insertedId = 0;
switch (mMatcher.match(uri)) {
@ -182,7 +182,8 @@ public class NotesProvider extends ContentProvider {
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
public int delete(Uri uri, String selection, String[] selectionArgs) {//实现删除操作
/*这两个参数通常在一起使用以定义一个特定的删除操作。selection 定义了哪些数据应该被删除,而 selectionArgs 为 selection 中的占位符提供了具体的值。*/
int count = 0;
String id = null;
SQLiteDatabase db = mHelper.getWritableDatabase();
@ -228,7 +229,7 @@ public class NotesProvider extends ContentProvider {
}
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {//更新
int count = 0;
String id = null;
SQLiteDatabase db = mHelper.getWritableDatabase();

@ -50,7 +50,7 @@ public class MetaData extends Task {
}
@Override
public void setContentByRemoteJSON(JSONObject js) {
public void setContentByRemoteJSON(JSONObject js) {//用远程的json
super.setContentByRemoteJSON(js);
if (getNotes() != null) {
try {
@ -64,7 +64,7 @@ public class MetaData extends Task {
}
@Override
public void setContentByLocalJSON(JSONObject js) {
public void setContentByLocalJSON(JSONObject js) {//这几个函数都是通过一部分已知的项推算其他未知的
// this function should not be called
throw new IllegalAccessError("MetaData:setContentByLocalJSON should not be called");
}

@ -64,9 +64,9 @@ public abstract class Node {
public abstract JSONObject getLocalJSONFromContent();
public abstract int getSyncAction(Cursor c);
public abstract int getSyncAction(Cursor c);//根据当前指针刷新缓冲区
public void setGid(String gid) {
public void setGid(String gid) {//定义各项简单查询操作的返回值
this.mGid = gid;
}
@ -82,7 +82,7 @@ public abstract class Node {
this.mDeleted = deleted;
}
public String getGid() {
public String getGid() {//this保证指向的还是当前的对象
return this.mGid;
}

@ -16,7 +16,7 @@
package net.micode.notes.gtask.exception;
public class ActionFailureException extends RuntimeException {
public class ActionFailureException extends RuntimeException {//异常处理程序,定义了全部可能参数下抛出错误
private static final long serialVersionUID = 4425249765923293627L;
public ActionFailureException() {

@ -14,7 +14,7 @@
* limitations under the License.
*/
package net.micode.notes.gtask.exception;
package net.micode.notes.gtask.exception;//调用完成异常处理
public class NetworkFailureException extends Exception {
private static final long serialVersionUID = 2107610287180234136L;

Loading…
Cancel
Save