完成了data包注释

pull/6/head
SheYu 11 months ago
parent 5b7fdd6cf8
commit 14c06ccf3e

@ -27,7 +27,7 @@ import java.util.HashMap;
/**
* @Package: net.micode.notes.data
* @ClassName: Contact
* @Description: java
* @Description:
* @Author: WUSHUXIAN
* @CreateDate: 2023/12/20 23:26
* @Version: 1.0
@ -42,8 +42,17 @@ public class Contact {
+ "(SELECT raw_contact_id "
+ " FROM phone_lookup"
+ " WHERE min_match = '+')";
/**
* @method getContact
* @description:
* @date: 2023/12/21 19:18
* @author: WuShuxian
* @param: context
* @param: phoneNumber
* @return: String
*/
public static String getContact(Context context, String phoneNumber) {
//
if(sContactCache == null) {
sContactCache = new HashMap<String, String>();
}

@ -17,6 +17,14 @@
package net.micode.notes.data;
import android.net.Uri;
/**
* @Package: net.micode.notes.data
* @ClassName: Notes
* @Description:
* @Author: WuShuxian
* @CreateDate: 2023/12/21 19:32
* @Version: 1.0
*/
public class Notes {
public static final String AUTHORITY = "micode_notes";
public static final String TAG = "Notes";

@ -16,22 +16,31 @@
package net.micode.notes.data;
import android.content.ContentValues;
import android.content.ContentValues;//就是用于保存一些数据string boolean ...)信息,这些信息可以被数据库操作时使用。
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase;//主要提供了对应于添加、删除、更新、查询的操作方法: insert()、delete()、update()和query()。配合content.values
import android.database.sqlite.SQLiteOpenHelper;//用来管理数据的创建和版本更新
import android.util.Log;
import net.micode.notes.data.Notes.DataColumns;
import net.micode.notes.data.Notes.DataConstants;
import net.micode.notes.data.Notes.NoteColumns;
/**
* @Package: net.micode.notes.data
* @ClassName: NotesDatabaseHelper
* @Description: 便
* @Author: WuShuxian
* @CreateDate: 2023/12/21 19:46
* @Version: 1.0
*/
public class NotesDatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "note.db";
private static final int DB_VERSION = 4;
/**
*
*/
public interface TABLE {
public static final String NOTE = "note";
@ -41,7 +50,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
private static final String TAG = "NotesDatabaseHelper";
private static NotesDatabaseHelper mInstance;
/**
* 便
*/
private static final String CREATE_NOTE_TABLE_SQL =
"CREATE TABLE " + TABLE.NOTE + "(" +
NoteColumns.ID + " INTEGER PRIMARY KEY," +
@ -62,7 +73,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
NoteColumns.GTASK_ID + " TEXT NOT NULL DEFAULT ''," +
NoteColumns.VERSION + " INTEGER NOT NULL DEFAULT 0" +
")";
/**
* 便
*/
private static final String CREATE_DATA_TABLE_SQL =
"CREATE TABLE " + TABLE.DATA + "(" +
DataColumns.ID + " INTEGER PRIMARY KEY," +
@ -83,7 +96,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
TABLE.DATA + "(" + DataColumns.NOTE_ID + ");";
/**
* Increase folder's note count when move note to the folder
* 便
*/
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
"CREATE TRIGGER increase_folder_count_on_update "+
@ -95,7 +108,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" END";
/**
* Decrease folder's note count when move note from folder
* 便
*/
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_UPDATE_TRIGGER =
"CREATE TRIGGER decrease_folder_count_on_update " +
@ -108,7 +121,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" END";
/**
* Increase folder's note count when insert new note to the folder
* 便
*/
private static final String NOTE_INCREASE_FOLDER_COUNT_ON_INSERT_TRIGGER =
"CREATE TRIGGER increase_folder_count_on_insert " +
@ -120,7 +133,7 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
" END";
/**
* Decrease folder's note count when delete note from the folder
* 便
*/
private static final String NOTE_DECREASE_FOLDER_COUNT_ON_DELETE_TRIGGER =
"CREATE TRIGGER decrease_folder_count_on_delete " +
@ -234,36 +247,35 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
db.execSQL(FOLDER_DELETE_NOTES_ON_DELETE_TRIGGER);
db.execSQL(FOLDER_MOVE_NOTES_ON_TRASH_TRIGGER);
}
/**
* @method createSystemFolder
* @description:
* @date: 2023/12/21 20:19
* @author: WuShuxian
* @param: db
* @return: void
*/
private void createSystemFolder(SQLiteDatabase db) {
ContentValues values = new ContentValues();
/**
* call record foler for call notes
*/
//通话记录文件夹
values.put(NoteColumns.ID, Notes.ID_CALL_RECORD_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values);
/**
* root folder which is default folder
*/
//缺省根目录
values.clear();
values.put(NoteColumns.ID, Notes.ID_ROOT_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values);
/**
* temporary folder which is used for moving note
*/
//临时文件夹
values.clear();
values.put(NoteColumns.ID, Notes.ID_TEMPARAY_FOLDER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values);
/**
* create trash folder
*/
//回收站文件夹
values.clear();
values.put(NoteColumns.ID, Notes.ID_TRASH_FOLER);
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
@ -296,27 +308,34 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
createNoteTable(db);
createDataTable(db);
createNoteTable(db);//属性数据库
createDataTable(db);//内容数据库
}
/**
* @method onUpgrade
* @description: 便使
* @date: 2023/12/21 20:42
* @author: WuShuxian
* @param:
* @return:
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
boolean reCreateTriggers = false;
boolean skipV2 = false;
//V1->V2
if (oldVersion == 1) {
upgradeToV2(db);
skipV2 = true; // this upgrade including the upgrade from v2 to v3
oldVersion++;
}
//V2->V3
if (oldVersion == 2 && !skipV2) {
upgradeToV3(db);
reCreateTriggers = true;
oldVersion++;
}
//V3->V4
if (oldVersion == 3) {
upgradeToV4(db);
oldVersion++;
@ -332,14 +351,18 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
+ "fails");
}
}
/**
* V2
*/
private void upgradeToV2(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE.NOTE);
db.execSQL("DROP TABLE IF EXISTS " + TABLE.DATA);
createNoteTable(db);
createDataTable(db);
}
/**
* V3
*/
private void upgradeToV3(SQLiteDatabase db) {
// drop unused triggers
db.execSQL("DROP TRIGGER IF EXISTS update_note_modified_date_on_insert");
@ -354,7 +377,9 @@ public class NotesDatabaseHelper extends SQLiteOpenHelper {
values.put(NoteColumns.TYPE, Notes.TYPE_SYSTEM);
db.insert(TABLE.NOTE, null, values);
}
/**
* V4
*/
private void upgradeToV4(SQLiteDatabase db) {
db.execSQL("ALTER TABLE " + TABLE.NOTE + " ADD COLUMN " + NoteColumns.VERSION
+ " INTEGER NOT NULL DEFAULT 0");

@ -34,8 +34,18 @@ import net.micode.notes.data.Notes.DataColumns;
import net.micode.notes.data.Notes.NoteColumns;
import net.micode.notes.data.NotesDatabaseHelper.TABLE;
/**
* @Package: net.micode.notes.data
* @ClassName: NotesProvider
* @Description:
* @Author: WuShuxian
* @CreateDate: 2023/12/21 20:50
* @Version: 1.0
*/
public class NotesProvider extends ContentProvider {
/**
* UriMatcherUri
*/
private static final UriMatcher mMatcher;
private NotesDatabaseHelper mHelper;
@ -62,6 +72,7 @@ public class NotesProvider extends ContentProvider {
}
/**
*
* x'0A' represents the '\n' character in sqlite. For title and content in the search result,
* we will trim '\n' and white space in order to show more information.
*/
@ -84,12 +95,19 @@ public class NotesProvider extends ContentProvider {
mHelper = NotesDatabaseHelper.getInstance(getContext());
return true;
}
/**
* @Package: net.micode.notes.data
* @ClassName: NotesProvider
* @Description: Uri
* @Author: WuShuxian
* @CreateDate: 2023/12/21 21:06
* @Version: 1.0
*/
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
String sortOrder) {
Cursor c = null;
SQLiteDatabase db = mHelper.getReadableDatabase();
SQLiteDatabase db = mHelper.getReadableDatabase();//读数据库
String id = null;
switch (mMatcher.match(uri)) {
case URI_NOTE:
@ -131,7 +149,7 @@ public class NotesProvider extends ContentProvider {
}
try {
searchString = String.format("%%%s%%", searchString);
searchString = String.format("%%%s%%", searchString);//在新建便签并输入内容保存后会跳到这里,暂时不知道为什么
c = db.rawQuery(NOTES_SNIPPET_SEARCH_QUERY,
new String[] { searchString });
} catch (IllegalStateException ex) {
@ -147,6 +165,14 @@ public class NotesProvider extends ContentProvider {
return c;
}
/**
* @method insert
* @description: Uri便
* @date: 2023/12/21 21:16
* @author: WuShuxian
* @param:
* @return:
*/
@Override
public Uri insert(Uri uri, ContentValues values) {
SQLiteDatabase db = mHelper.getWritableDatabase();
@ -180,7 +206,14 @@ public class NotesProvider extends ContentProvider {
return ContentUris.withAppendedId(uri, insertedId);
}
/**
* @method delete
* @description: Uri便
* @date: 2023/12/21 21:17
* @author: WuShuxian
* @param:
* @return:
*/
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
int count = 0;
@ -193,7 +226,7 @@ public class NotesProvider extends ContentProvider {
count = db.delete(TABLE.NOTE, selection, selectionArgs);
break;
case URI_NOTE_ITEM:
id = uri.getPathSegments().get(1);
id = uri.getPathSegments().get(1);//修改便签内容时会触发,原因不明
/**
* ID that smaller than 0 is system folder which is not allowed to
* trash
@ -226,7 +259,14 @@ public class NotesProvider extends ContentProvider {
}
return count;
}
/**
* @method update
* @description: Uri便delete
* @date: 2023/12/21 21:19
* @author: WuShuxian
* @param:
* @return:
*/
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
int count = 0;

Loading…
Cancel
Save