Skip to content

Commit

Permalink
加入ZxyChangeListener 数据改变监听类
Browse files Browse the repository at this point in the history
  • Loading branch information
陈浪 committed May 24, 2020
1 parent 28bb54b commit ea34db8
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 0 deletions.
8 changes: 8 additions & 0 deletions app/src/main/java/com/ellen/dhcsqlite/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import android.util.Log;
import android.widget.TextView;

import com.ellen.dhcsqlitelibrary.table.reflection.ZxyChangeListener;
import com.ellen.dhcsqlitelibrary.table.reflection.ZxyReflectionTable;
import com.ellen.sqlitecreate.createsql.create.createtable.SQLField;
import com.ellen.sqlitecreate.createsql.delete.DeleteTableDataRow;
Expand Down Expand Up @@ -44,6 +45,13 @@ protected void onCreate(Bundle savedInstanceState) {
searchData();
//其他用法
other();

studentTable.setZxyChangeListener(new ZxyChangeListener() {
@Override
public void onDataChange() {
//当数据库增加,删除数据时,也就是数据发生了变化都会回调这里
}
});
}

private void other() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.ellen.dhcsqlitelibrary.table.reflection;

/**
* 数据变化监听
*/
public interface ZxyChangeListener {

/**
* 当数据变化时回调
* saveDataAndDeleteAgo此系列方法会触发两次此方法的回调,后期需要更改
* 希望后期按照增删改查进行架构的改造,让操作单元化,方便api的理解与维护更新
*/
void onDataChange();
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ public abstract class ZxyReflectionTable<T> extends ZxyTable {
private HashMap<SQLField, Field> sqlNameMap;
private Field primarykeyField = null;
private SQLField primarykeySqlField = null;
private ZxyChangeListener zxyChangeListener;

public ZxyReflectionTable(SQLiteDatabase db, Class<? extends T> dataClass) {
super(db);
Expand Down Expand Up @@ -64,6 +65,10 @@ public ZxyReflectionTable(SQLiteDatabase db, Class<? extends T> dataClass, Strin
}
}

public void setZxyChangeListener(ZxyChangeListener zxyChangeListener) {
this.zxyChangeListener = zxyChangeListener;
}

/**
* 通过反射获取类的所有属性
*/
Expand Down Expand Up @@ -264,6 +269,9 @@ public void saveData(T data) {
}
String addDataSql = addSingleRowToTable.createSQL();
exeSQL(addDataSql);
if(zxyChangeListener != null){
zxyChangeListener.onDataChange();
}
}

public String getTableName() {
Expand Down Expand Up @@ -306,6 +314,9 @@ public void saveData(List<T> dataList) {
}
String addDataSql = addManyRowToTable.createSQL();
exeSQL(addDataSql);
if(zxyChangeListener != null){
zxyChangeListener.onDataChange();
}
}

/**
Expand Down Expand Up @@ -343,6 +354,9 @@ public void saveDataAndDeleteAgo(T data) {
public void delete(String whereSQL) {
String deleteSQL = getDeleteTableDataRow().setTableName(tableName).createSQLAutoWhere(whereSQL);
exeSQL(deleteSQL);
if(zxyChangeListener != null){
zxyChangeListener.onDataChange();
}
}

/**
Expand All @@ -351,6 +365,9 @@ public void delete(String whereSQL) {
public void clear() {
String clearTableSQL = getDeleteTableDataRow().setTableName(tableName).createDeleteAllDataSQL();
exeSQL(clearTableSQL);
if(zxyChangeListener != null){
zxyChangeListener.onDataChange();
}
}

/**
Expand Down Expand Up @@ -456,6 +473,9 @@ public void update(T t, String whereSQL) {
}
String updateSql = updateTableDataRow.createSQLAutoWhere(whereSQL);
exeSQL(updateSql);
if(zxyChangeListener != null){
zxyChangeListener.onDataChange();
}
}

/**
Expand Down

0 comments on commit ea34db8

Please sign in to comment.