DbAdapter.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. package me.yoqi.mobile.db;
  2. import android.content.ContentValues;
  3. import android.content.Context;
  4. import android.database.Cursor;
  5. import android.database.sqlite.SQLiteDatabase;
  6. import android.database.sqlite.SQLiteOpenHelper;
  7. import android.util.Log;
  8. import me.yoqi.mobile.info.Call_Forbid_Info;
  9. import me.yoqi.mobile.info.Call_Record_Info;
  10. import me.yoqi.mobile.info.Message_Forbid_Info;
  11. import me.yoqi.mobile.info.Message_Rubbish_Info;
  12. public class DbAdapter {
  13. private static final String TAG = "DbAdapter";
  14. private DatabaseHelper mDatabaseHelper;
  15. private SQLiteDatabase mSQLiteDatabase;
  16. private Context mContext;
  17. private static final String DB = "db.db";
  18. private static final int DB_VERSION = 1;
  19. // 5个表:短信黑名单表,短信垃圾箱表,来电黑名单表,来电拦截记录表
  20. public static final String MESSAGE_FORBID_TABLE_NAME = "message_forbid_table";
  21. public final static String MESSAGE_RUBBISH_TABLE_NAME = "message_rubbish_table";
  22. public final static String CALL_FORBID_TABLE_NAME = "call_forbid_table";
  23. public final static String CALL_RECORD_TABLE_NAME = "call_record_table";
  24. // 公用id字段
  25. public static final String TABLE_ID = "_id";
  26. // 短信黑名单表字段:来电号码
  27. public final static String MESSAGE_FORBID_PHONE = "message_forbid_phone";
  28. // 短信垃圾箱表字段:垃圾短信号码,收件时间,短信内容
  29. public static final String MESSAGE_RUBBISH_PHONE = "message_rubbish_phone";
  30. public static final String MESSAGE_RUBBISH_TIME = "message_rubbish_time";
  31. public final static String MESSAGE_RUBBISH_CONTENT = "message_rubbish_content";
  32. // 来电黑名单表字段:黑名单号码
  33. public static final String CALL_FORBID_PHONE = "call_forbid_phone";
  34. // 来电拦截记录表字段:黑名单号码:来电时间,来电归属地
  35. public static final String CALL_RECORD_PHONE = "call_record_phone";
  36. public static final String CALL_RECORD_TIME = "call_record_time";
  37. public static final String CALL_RECORD_AREA = "call_record_area";
  38. public DbAdapter(Context mCtx){
  39. Log.d(TAG, "mCtxmTab");
  40. mContext=mCtx;
  41. }
  42. public void close(){
  43. Log.d(TAG, "close");
  44. mDatabaseHelper.close();
  45. }
  46. public DbAdapter open(){
  47. Log.d(TAG, "open");
  48. mDatabaseHelper=new DatabaseHelper(mContext);
  49. mSQLiteDatabase=mDatabaseHelper.getWritableDatabase();
  50. return this;
  51. }
  52. public Cursor getAll(String table){
  53. Log.d(TAG, "getAll");
  54. return mSQLiteDatabase.rawQuery("select * from "+table, null);
  55. }
  56. public Cursor getPhone(String phone,int i){
  57. Cursor mReturn = null;
  58. switch(i){
  59. case 1:
  60. mReturn= mSQLiteDatabase.rawQuery("select * from "+MESSAGE_RUBBISH_TABLE_NAME+" where "+MESSAGE_RUBBISH_PHONE+"="+"\'"+phone+"\'", null);
  61. break;
  62. case 2:
  63. mReturn= mSQLiteDatabase.rawQuery("select * from "+MESSAGE_FORBID_TABLE_NAME+" where "+MESSAGE_FORBID_PHONE+"="+"\'"+phone+"\'", null);
  64. break;
  65. case 3:
  66. mReturn =mSQLiteDatabase.rawQuery("select * from "+CALL_RECORD_TABLE_NAME+" where "+CALL_RECORD_PHONE+"="+"\'"+phone+"\'", null);
  67. break;
  68. case 4:
  69. mReturn= mSQLiteDatabase.rawQuery("select * from "+CALL_FORBID_TABLE_NAME+" where "+CALL_FORBID_PHONE+"="+"\'"+phone+"\'", null);
  70. break;
  71. }
  72. return mReturn;
  73. }
  74. public Cursor getTime(String tableName,String columnName,String recordTime){
  75. return mSQLiteDatabase.rawQuery("select * from "+tableName+" where "+columnName+" = "+"\'"+recordTime+"\'", null);
  76. }
  77. public Cursor getId(long id,String tableName){
  78. return mSQLiteDatabase.rawQuery("select * from "+tableName+" where "+TABLE_ID+" = "+ id, null);
  79. }
  80. public Long getAdd(Message_Rubbish_Info mInfo){
  81. ContentValues mValues=new ContentValues();
  82. mValues.put(MESSAGE_RUBBISH_CONTENT,mInfo.getMessage_rubbish_content() );
  83. mValues.put(MESSAGE_RUBBISH_PHONE, mInfo.getMessage_rubbish_phone());
  84. mValues.put(MESSAGE_RUBBISH_TIME, mInfo.getMessage_rubbish_time());
  85. long rowId=mSQLiteDatabase.insert(MESSAGE_RUBBISH_TABLE_NAME, null,mValues);
  86. return rowId;
  87. }
  88. public Long getAdd(Message_Forbid_Info mInfo){
  89. ContentValues mValues=new ContentValues();
  90. mValues.put(MESSAGE_FORBID_PHONE,mInfo.getMessage_forbid_phone() );
  91. long rowId=mSQLiteDatabase.insert(MESSAGE_FORBID_TABLE_NAME, null,mValues);
  92. return rowId;
  93. }
  94. public Long getAdd(Call_Forbid_Info mInfo){
  95. ContentValues mValues=new ContentValues();
  96. mValues.put(CALL_FORBID_PHONE,mInfo.getCall_forbid_phone() );
  97. long rowId=mSQLiteDatabase.insert(CALL_FORBID_TABLE_NAME, null,mValues);
  98. return rowId;
  99. }
  100. public Long getAdd(Call_Record_Info mInfo){
  101. ContentValues mValues=new ContentValues();
  102. mValues.put(CALL_RECORD_AREA,mInfo.getCall_record_area() );
  103. mValues.put(CALL_RECORD_PHONE, mInfo.getCall_record_phone());
  104. mValues.put(CALL_RECORD_TIME, mInfo.getCall_record_time());
  105. long rowId=mSQLiteDatabase.insert(CALL_RECORD_TABLE_NAME, null,mValues);
  106. return rowId;
  107. }
  108. public boolean getDel(long rowId,String table){
  109. return mSQLiteDatabase.delete(table, TABLE_ID+"="+rowId, null) > 0;
  110. }
  111. public boolean getDel(String table, String column, String phone){
  112. return mSQLiteDatabase.delete(table, column+"=?", new String[]{phone}) > 0;
  113. }
  114. public void deleteTable(String tableName){
  115. mSQLiteDatabase.execSQL("delete from "+tableName);
  116. }
  117. private static class DatabaseHelper extends SQLiteOpenHelper{
  118. StringBuilder mStringBuilder_1;
  119. StringBuilder mStringBuilder_2;
  120. StringBuilder mStringBuilder_3;
  121. StringBuilder mStringBuilder_4;
  122. public DatabaseHelper(Context context) {
  123. super(context, DB, null, DB_VERSION);
  124. }
  125. public void initCreateSQL(){
  126. mStringBuilder_1=new StringBuilder();
  127. mStringBuilder_1.delete(0, mStringBuilder_1.length());
  128. Log.d(TAG, "initCreateSQL");
  129. mStringBuilder_1.append("create table ");
  130. mStringBuilder_1.append(MESSAGE_RUBBISH_TABLE_NAME );
  131. mStringBuilder_1.append("(");
  132. mStringBuilder_1.append(TABLE_ID );
  133. mStringBuilder_1.append(" integer primary key AUTOINCREMENT,");
  134. mStringBuilder_1.append(MESSAGE_RUBBISH_PHONE);
  135. mStringBuilder_1.append(" text ,");
  136. mStringBuilder_1.append(MESSAGE_RUBBISH_TIME);
  137. mStringBuilder_1.append(" text ,");
  138. mStringBuilder_1.append(MESSAGE_RUBBISH_CONTENT);
  139. mStringBuilder_1.append(" text ");
  140. mStringBuilder_1.append(" );");
  141. Log.d(TAG, "MESSAGE_RUBBISH_TABLE_NAME");
  142. mStringBuilder_2=new StringBuilder();
  143. mStringBuilder_2.append("create table ");
  144. mStringBuilder_2.append(MESSAGE_FORBID_TABLE_NAME );
  145. mStringBuilder_2.append("( ");
  146. mStringBuilder_2.append(TABLE_ID);
  147. mStringBuilder_2.append(" integer primary key AUTOINCREMENT,");
  148. mStringBuilder_2.append(MESSAGE_FORBID_PHONE);
  149. mStringBuilder_2.append(" text");
  150. mStringBuilder_2.append(" );");
  151. Log.d(TAG, "MESSAGE_FORBID_TABLE_NAME");
  152. mStringBuilder_3=new StringBuilder();
  153. mStringBuilder_3.append("create table ");
  154. mStringBuilder_3.append(CALL_RECORD_TABLE_NAME );
  155. mStringBuilder_3.append("( ");
  156. mStringBuilder_3.append(TABLE_ID );
  157. mStringBuilder_3.append(" integer primary key AUTOINCREMENT,");
  158. mStringBuilder_3.append(CALL_RECORD_PHONE);
  159. mStringBuilder_3.append(" text,");
  160. mStringBuilder_3.append(CALL_RECORD_TIME);
  161. mStringBuilder_3.append(" text,");
  162. mStringBuilder_3.append(CALL_RECORD_AREA);
  163. mStringBuilder_3.append(" text ");
  164. mStringBuilder_3.append(" );");
  165. Log.d(TAG, "CALL_RECORD_TABLE_NAME");
  166. mStringBuilder_4=new StringBuilder();
  167. mStringBuilder_4.append("create table ");
  168. mStringBuilder_4.append(CALL_FORBID_TABLE_NAME );
  169. mStringBuilder_4.append("( ");
  170. mStringBuilder_4.append(TABLE_ID );
  171. mStringBuilder_4.append(" integer primary key AUTOINCREMENT,");
  172. mStringBuilder_4.append(CALL_FORBID_PHONE);
  173. mStringBuilder_4.append(" text");
  174. mStringBuilder_4.append(" );");
  175. Log.d(TAG, "CALL_FORBID_TABLE_NAME");
  176. }
  177. @Override
  178. public void onCreate(SQLiteDatabase db) {
  179. Log.d(TAG, "onCreate");
  180. Log.d(TAG, "mStringBuilder");
  181. initCreateSQL();
  182. db.execSQL(mStringBuilder_1.toString());
  183. Log.d(TAG, mStringBuilder_1.toString());
  184. db.execSQL(mStringBuilder_2.toString());
  185. Log.d(TAG, mStringBuilder_2.toString());
  186. db.execSQL(mStringBuilder_3.toString());
  187. Log.d(TAG, mStringBuilder_3.toString());
  188. db.execSQL(mStringBuilder_4.toString());
  189. Log.d(TAG, mStringBuilder_4.toString());
  190. }
  191. @Override
  192. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  193. db.execSQL("drop table if exists"+MESSAGE_RUBBISH_TABLE_NAME, null);
  194. Log.d(TAG, "onUpgrade");
  195. }
  196. }
  197. }