Android Open Source - Smartlab Database Adapter






From Project

Back to project page Smartlab.

License

The source code is released under:

Apache License

If you think the Android project Smartlab listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.example.sqlitetestapp.data;
// w w  w  .  jav  a2 s . c o  m
import java.util.ArrayList;
import java.util.Date;

import com.example.sqlitetestapp.data.model.Person;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseAdapter {

  private MySQLiteOpenHelper openHelper;

  public DatabaseAdapter(Context context) {
    openHelper = new MySQLiteOpenHelper(context, "sqlite_test_app.db",
        null, 1);
  }

  public ArrayList<Person> getAllPersons() {
    ArrayList<Person> persons = null;

    SQLiteDatabase database = null;
    Cursor c = null;
    try {
      database = openHelper.getReadableDatabase();

      c = database.query("person", new String[] { "id", "name", "family",
          "birthdate" }, null, null, null, null, null);

      if (c.getCount() > 0) {
        persons = new ArrayList<Person>();

        while (c.moveToNext()) {
          Person person = new Person();

          Integer pId = c.getInt(c.getColumnIndex("id"));
          person.setId(pId);

          String name = c.getString(c.getColumnIndex("name"));
          person.setName(name);

          String family = c.getString(c.getColumnIndex("family"));
          person.setFamily(family);

          long birthdate = c.getLong(c.getColumnIndex("birthdate"));
          Date bDate = new Date(birthdate);
          person.setBirthdate(bDate);

          persons.add(person);
        }
      }

    } catch (Exception ex) {
      // TODO
    } finally {
      if (c != null && !c.isClosed()) {
        c.close();
      }
      if (database != null) {
        database.close();
      }
    }

    return persons;
  }

  public Person getPersonById(Integer id) {
    Person person = null;

    SQLiteDatabase database = null;
    Cursor c = null;
    try {
      database = openHelper.getReadableDatabase();

      c = database.query("person", new String[] { "id", "name", "family",
          "birthdate" }, "id=?",
          new String[] { Integer.toString(id) }, null, null, null);

      if (c.moveToNext()) {
        person = new Person();

        Integer pId = c.getInt(c.getColumnIndex("id"));
        person.setId(pId);

        String name = c.getString(c.getColumnIndex("name"));
        person.setName(name);

        String family = c.getString(c.getColumnIndex("family"));
        person.setFamily(family);

        long birthdate = c.getLong(c.getColumnIndex("birthdate"));
        Date bDate = new Date(birthdate);
        person.setBirthdate(bDate);
      }

    } catch (Exception ex) {
      // TODO
    } finally {
      if (c != null && !c.isClosed()) {
        c.close();
      }
      if (database != null) {
        database.close();
      }
    }

    return person;
  }

  public ArrayList<Person> getPersonsYoungerThan(long age) {
    ArrayList<Person> persons = null;

    SQLiteDatabase database = null;
    Cursor c = null;
    try {
      database = openHelper.getReadableDatabase();

      c = database.query("person", new String[] { "id", "name", "family",
          "birthdate" }, "birthdate > ?", new String[] {Long.toString(age)}, null, null, "name");

      if (c.getCount() > 0) {
        persons = new ArrayList<Person>();

        while (c.moveToNext()) {
          Person person = new Person();

          Integer pId = c.getInt(c.getColumnIndex("id"));
          person.setId(pId);

          String name = c.getString(c.getColumnIndex("name"));
          person.setName(name);

          String family = c.getString(c.getColumnIndex("family"));
          person.setFamily(family);

          long birthdate = c.getLong(c.getColumnIndex("birthdate"));
          Date bDate = new Date(birthdate);
          person.setBirthdate(bDate);

          persons.add(person);
        }
      }

    } catch (Exception ex) {
      // TODO
    } finally {
      if (c != null && !c.isClosed()) {
        c.close();
      }
      if (database != null) {
        database.close();
      }
    }

    return persons;
  }

  public int deletePerson(Integer id) {
    SQLiteDatabase database = null;
    int count = -1;
    
    try {
      database = openHelper.getWritableDatabase();
      count = database.delete("person", "id=?", new String[] {Integer.toString(id)});
    } catch (Exception ex) {
      // TODO
    } finally {
      database.close();
    }

    return count;
  }

  public int updatePerson(Person person) {
    SQLiteDatabase database = null;
    int count = -1;
    
    try {
      database = openHelper.getWritableDatabase();

      ContentValues cv = new ContentValues();
      cv.put("name", person.getName());
      cv.put("family", person.getFamily());
      cv.put("birthdate", person.getBirthdate().getTime());

      count = database.update("person", cv, "id=?", new String[] {Integer.toString(person.getId())});
    } catch (Exception ex) {
      // TODO
    } finally {
      database.close();
    }

    return count;
  }

  public Integer savePerson(Person person) {
    SQLiteDatabase database = null;
    int id = -1;

    try {
      database = openHelper.getWritableDatabase();

      ContentValues cv = new ContentValues();
      cv.put("name", person.getName());
      cv.put("family", person.getFamily());
      cv.put("birthdate", person.getBirthdate().getTime());

      id = (int) database.insert("person", null, cv);
    } catch (Exception ex) {
      // TODO
    } finally {
      database.close();
    }

    return id;
  }

  class MySQLiteOpenHelper extends SQLiteOpenHelper {

    public MySQLiteOpenHelper(Context context, String name,
        CursorFactory factory, int version) {
      super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
      String query = "create table person (id integer primary key, name text, family text, birthdate integer)";
      db.execSQL(query);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    }

  }

}




Java Source Code List

com.example.activitylifecycletest.MainActivity.java
com.example.activitylifecycletest.SecondActivity.java
com.example.analyticstest.MainActivity.java
com.example.androidgraphic.MainActivity.java
com.example.animationexample.MainActivity.java
com.example.animationexample.SecondActivity.java
com.example.compassview.CompassView.java
com.example.compassview.MainActivity.java
com.example.databasetest.BookListActivity.java
com.example.databasetest.MainActivity.java
com.example.databasetest.data.Book.java
com.example.databasetest.data.DatabaseAdapter.java
com.example.fragmentexample.BookDetailsFragment.java
com.example.fragmentexample.BookListFragment.java
com.example.fragmentexample.MainActivity.java
com.example.fragmentexample.data.BookListAdapter.java
com.example.fragmentexample.data.Book.java
com.example.fragmentexample.data.DatabaseAdapter.java
com.example.listviewexample.MainActivity.java
com.example.listviewexample.data.BookListAdapter.java
com.example.listviewexample.data.Book.java
com.example.listviewexample.data.DatabaseAdapter.java
com.example.persiandatepicker.MainActivity.java
com.example.persiandatepicker.PersianDatePicker.java
com.example.preferencesexample.MainActivity.java
com.example.sqlitetestapp.MainActivity.java
com.example.sqlitetestapp.PersonListActivity.java
com.example.sqlitetestapp.data.DatabaseAdapter.java
com.example.sqlitetestapp.data.PersonListAdapter.java
com.example.sqlitetestapp.data.model.Person.java
com.example.viewpagerexample.MainActivity.java
ir.smartlab.android.broadcast.MainActivity.java
ir.smartlab.android.broadcast.WifiStateChangeReceiver.java
ir.smartlab.android.downloadasynctask.MainActivity.java
ir.smartlab.android.helloworld.MainActivity.java
ir.smartlab.audiorecord.MainActivity.java
ir.smartlab.audiotest.MainActivity.java
ir.smartlab.camera.MainActivity.java
ir.smartlab.captureimage.MainActivity.java
ir.smartlab.customaudiorecorder.MainActivity.java
ir.smartlab.java.ch04.firstcup.FisrtCup.java
ir.smartlab.java.ch05.circlesample.Circle.java
ir.smartlab.java.ch05.circlesample.Main.java
ir.smartlab.java.ch06.simplecalculator.SimpleCalculator.java
ir.smartlab.java.ch06.variablescope.VariableScopeTest.java
ir.smartlab.java.persiancalendar.Main.java
ir.smartlab.musicplayer.MainActivity.java
ir.smartlab.musicplayerservice.MainActivity.java
ir.smartlab.musicplayerservice.PlayerService.java
ir.smartlab.personlist.MainActivity.java
ir.smartlab.personlist.PersonListActivity.java
ir.smartlab.personlist.data.DatabaseAdapter.java
ir.smartlab.personlist.data.PersonListAdapter.java
ir.smartlab.personlist.data.Person.java