Advertisement
rachmadi

DBHelper

Feb 26th, 2016
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.78 KB | None | 0 0
  1. package info.lina.netstatlog;
  2.  
  3. import android.content.ContentValues;
  4. import android.content.Context;
  5. import android.database.Cursor;
  6. import android.database.sqlite.SQLiteDatabase;
  7. import android.database.sqlite.SQLiteOpenHelper;
  8.  
  9. import java.util.ArrayList;
  10.  
  11. /**
  12.  * Created by user on 13/02/2016.
  13.  */
  14. public class DBHelper extends SQLiteOpenHelper {
  15.  
  16.     public static final String DATABASE_NAME = "DbSMS.db";
  17.     public static final String SMS_TABLE_NAME = "sms";
  18.     public static final String SMS_COLUMN_DATE = "date";
  19.     public static final String SMS_COLUMN_SENDER = "address";
  20.     public static final String SMS_COLUMN_CONTENT = "body";
  21.     public static final String SMS_CONTENT_INETUP = "inet up";
  22.     public static final String SMS_CONTENT_INETDOWN = "inet down";
  23.     public static final String SMS_CONTENT_UPSUP = "ups up";
  24.     public static final String SMS_CONTENT_UPSDOWN = "ups down";
  25.     public static final String SMS_CONTENT_POWERUP = "power up";
  26.     public static final String SMS_CONTENT_POWERDOWN = "power down";
  27.  
  28.     private static final String TABLE_LOG = "log";
  29.     private static final String TABLE_SMS = "sms";
  30.     private static final String TABLE_UPS = "ups";
  31.     private static final String TABLE_INET = "inet";
  32.     private static final String TABLE_PWR = "power";
  33.     private static final String KEY_ID = "id";
  34.     private static final String KEY_SENDER = "sender";
  35.     private static final String KEY_CONTENT = "content";
  36.     private static final String KEY_DATE = "date";
  37.     private static final String KEY_CREATED_AT = "created_at";
  38.  
  39.     public DBHelper(Context context) {
  40.         super(context, DATABASE_NAME, null, 1);
  41.     }
  42.  
  43.     @Override
  44.     public void onCreate(SQLiteDatabase db) {
  45.         // TODO Auto-generated method stub
  46.         System.out.println("Creating table...");
  47.         // creating required tables
  48.         db.execSQL(CREATE_TABLE_SMS);
  49.         db.execSQL(CREATE_TABLE_UPS);
  50.         db.execSQL(CREATE_TABLE_INET);
  51.         db.execSQL(CREATE_TABLE_PWR);
  52.     }
  53.  
  54.     private static final String CREATE_TABLE_SMS = "CREATE TABLE "
  55.             + TABLE_SMS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_DATE
  56.             + " INTEGER," + KEY_SENDER + " TEXT," + KEY_CONTENT + " TEXT," + KEY_CREATED_AT
  57.             + " DATETIME" + ")";
  58.  
  59.     private static final String CREATE_TABLE_UPS = "CREATE TABLE "
  60.             + TABLE_UPS + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_DATE
  61.             + " INTEGER," + KEY_SENDER + " TEXT," + KEY_CONTENT + " TEXT," + KEY_CREATED_AT
  62.             + " DATETIME" + ")";
  63.  
  64.     private static final String CREATE_TABLE_INET = "CREATE TABLE "
  65.             + TABLE_INET + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_DATE
  66.             + " INTEGER," + KEY_SENDER + " TEXT," + KEY_CONTENT + " TEXT," + KEY_CREATED_AT
  67.             + " DATETIME" + ")";
  68.  
  69.     private static final String CREATE_TABLE_PWR = "CREATE TABLE "
  70.             + TABLE_PWR + "(" + KEY_ID + " INTEGER PRIMARY KEY," + KEY_DATE
  71.             + " INTEGER," + KEY_SENDER + " TEXT," + KEY_CONTENT + " TEXT," + KEY_CREATED_AT
  72.             + " DATETIME" + ")";
  73.  
  74.     @Override
  75.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  76.         db.execSQL("DROP TABLE IF EXISTS " + TABLE_SMS);
  77.         db.execSQL("DROP TABLE IF EXISTS " + TABLE_UPS);
  78.         db.execSQL("DROP TABLE IF EXISTS " + TABLE_INET);
  79.         db.execSQL("DROP TABLE IF EXISTS " + TABLE_PWR);
  80.         onCreate(db);
  81.     }
  82.  
  83.     public boolean insertSms(String date, String sender, String content) {
  84.         System.out.println("Inserting table...");
  85.  
  86.         boolean status = isExist(date, content, TABLE_SMS);
  87.         if (!status) {
  88.             SQLiteDatabase db = this.getWritableDatabase();
  89.             ContentValues contentValues = new ContentValues();
  90.             contentValues.put("date", date);
  91.             contentValues.put("sender", sender);
  92.             contentValues.put("content", content);
  93.             db.insert(TABLE_SMS, null, contentValues);
  94.             System.out.println("Insert sms: " + date + ", " + sender + ", " + content);
  95.         }
  96.         return true;
  97.     }
  98.  
  99.     public boolean insertUps(String date, String sender, String content) {
  100.         System.out.println("Inserting table...");
  101.  
  102.         boolean status = isExist(date, content, TABLE_UPS);
  103.         if (!status) {
  104.             SQLiteDatabase db = this.getWritableDatabase();
  105.             ContentValues contentValues = new ContentValues();
  106.             contentValues.put("date", date);
  107.             contentValues.put("sender", sender);
  108.             contentValues.put("content", content);
  109.             db.insert(TABLE_UPS, null, contentValues);
  110.             System.out.println("Insert ups: " + date + ", " + sender + ", " + content);
  111.         }
  112.         return true;
  113.     }
  114.  
  115.     public boolean insertInet(String date, String sender, String content) {
  116.         System.out.println("Inserting table...");
  117.  
  118.         boolean status = isExist(date, content, TABLE_INET);
  119.         if (!status) {
  120.             SQLiteDatabase db = this.getWritableDatabase();
  121.             ContentValues contentValues = new ContentValues();
  122.             contentValues.put("date", date);
  123.             contentValues.put("sender", sender);
  124.             contentValues.put("content", content);
  125.             db.insert(TABLE_INET, null, contentValues);
  126.             System.out.println("Insert inet: " + date + ", " + sender + ", " + content);
  127.         }
  128.         return true;
  129.     }
  130.  
  131.     public boolean insertPwr(String date, String sender, String content) {
  132.         System.out.println("Inserting table...");
  133.  
  134.         boolean status = isExist(date, content, TABLE_PWR);
  135.         if (!status) {
  136.             SQLiteDatabase db = this.getWritableDatabase();
  137.             ContentValues contentValues = new ContentValues();
  138.             contentValues.put("date", date);
  139.             contentValues.put("sender", sender);
  140.             contentValues.put("content", content);
  141.             db.insert(TABLE_PWR, null, contentValues);
  142.             System.out.println("Insert pwr: " + date + ", " + sender + ", " + content);
  143.         }
  144.         return true;
  145.     }
  146.  
  147.     public boolean isExist(String date, String content, String table) {
  148.         boolean status = false;
  149.         SQLiteDatabase db = this.getReadableDatabase();
  150.         Cursor res = db.rawQuery("select * from '" + table + "' where date='" + date
  151.                 + "' and content='" + content + "'", null);
  152.         res.moveToFirst();
  153.  
  154.         while (res.isAfterLast() == false) {
  155.             String cdate = res.getString(res.getColumnIndex(SMS_COLUMN_DATE));
  156.             res.moveToNext();
  157.             if (cdate != null) {
  158.                 status = true;
  159.             }
  160.         }
  161.         System.out.println("isExist: " + status);
  162.         return status;
  163.     }
  164.  
  165.     public ArrayList<String> getAll(String date) {
  166.         ArrayList<String> array_list = new ArrayList<String>();
  167.         SQLiteDatabase db = this.getReadableDatabase();
  168.         Cursor res = db.rawQuery("select * from sms where date='" + date + "'", null);
  169.         res.moveToFirst();
  170.  
  171.         while (res.isAfterLast() == false) {
  172.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  173.             res.moveToNext();
  174.         }
  175.  
  176.         return array_list;
  177.     }
  178.  
  179.     public ArrayList<String> getInetUp(String content) {
  180.         ArrayList<String> array_list = new ArrayList<String>();
  181.         SQLiteDatabase db = this.getReadableDatabase();
  182.         Cursor res = db.rawQuery("select * from sms where content='" + content + "'", null);
  183.         res.moveToFirst();
  184.  
  185.         while (res.isAfterLast() == false) {
  186.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  187.             res.moveToNext();
  188.         }
  189.  
  190.         return array_list;
  191.     }
  192.  
  193.     public ArrayList<String> getInetDown(String content) {
  194.         ArrayList<String> array_list = new ArrayList<String>();
  195.         SQLiteDatabase db = this.getReadableDatabase();
  196.         Cursor res = db.rawQuery("select * from sms where content=" + content + "", null);
  197.         res.moveToFirst();
  198.  
  199.         while (res.isAfterLast() == false) {
  200.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  201.             res.moveToNext();
  202.         }
  203.  
  204.         return array_list;
  205.     }
  206.  
  207.     public ArrayList<String> getPowerUp(String content) {
  208.         ArrayList<String> array_list = new ArrayList<String>();
  209.         SQLiteDatabase db = this.getReadableDatabase();
  210.         Cursor res = db.rawQuery("select * from sms where content=" + content + "", null);
  211.         res.moveToFirst();
  212.  
  213.         while (res.isAfterLast() == false) {
  214.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  215.             res.moveToNext();
  216.         }
  217.  
  218.         return array_list;
  219.     }
  220.  
  221.     public ArrayList<String> getPowerDown(String content) {
  222.         ArrayList<String> array_list = new ArrayList<String>();
  223.         SQLiteDatabase db = this.getReadableDatabase();
  224.         Cursor res = db.rawQuery("select * from sms where content=" + content + "", null);
  225.         res.moveToFirst();
  226.  
  227.         while (res.isAfterLast() == false) {
  228.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  229.             res.moveToNext();
  230.         }
  231.  
  232.         return array_list;
  233.     }
  234.  
  235.     public ArrayList<String> getUpsUp(String content) {
  236.         ArrayList<String> array_list = new ArrayList<String>();
  237.         SQLiteDatabase db = this.getReadableDatabase();
  238.         Cursor res = db.rawQuery("select * from sms where content=" + content + "", null);
  239.         res.moveToFirst();
  240.  
  241.         while (res.isAfterLast() == false) {
  242.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  243.             res.moveToNext();
  244.         }
  245.  
  246.         return array_list;
  247.     }
  248.  
  249.     public ArrayList<String> getUpsDown(String content) {
  250.         ArrayList<String> array_list = new ArrayList<String>();
  251.         SQLiteDatabase db = this.getReadableDatabase();
  252.         Cursor res = db.rawQuery("select * from sms where content=" + content + "", null);
  253.         res.moveToFirst();
  254.  
  255.         while (res.isAfterLast() == false) {
  256.             array_list.add(res.getString(res.getColumnIndex(SMS_COLUMN_DATE)));
  257.             res.moveToNext();
  258.         }
  259.  
  260.         return array_list;
  261.     }
  262.  
  263.     public ArrayList<String> getLog() {
  264.         ArrayList<String> array_list = new ArrayList<String>();
  265.         SQLiteDatabase db = this.getReadableDatabase();
  266.         Cursor res = db.rawQuery("select * from sms", null);
  267.         res.moveToFirst();
  268.  
  269.         while (res.isAfterLast() == false) {
  270.             String content = res.getString(res.getColumnIndex(KEY_CONTENT)) + " : " +
  271.                     res.getString(res.getColumnIndex(SMS_COLUMN_DATE));
  272.             array_list.add(content);
  273.             res.moveToNext();
  274.         }
  275.         return array_list;
  276.     }
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement