Android Open Source - space-digitizing Database Helper






From Project

Back to project page space-digitizing.

License

The source code is released under:

MIT License

If you think the Android project space-digitizing 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.khajenasir.spacedigitizing;
/*  w w w.  j  av  a2s  .c o m*/
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import android.content.ContentValues;
import android.content.Context;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHelper extends SQLiteOpenHelper
{
  private static String DATABASE_NAME="SpaceDigitizingDB.db";
  private static String DATABASE_PATH = "/data/data/com.khajenasir.spacedigitizing/databases/";
  private Context myContext=null;
  SQLiteDatabase db;
  
  
  public DatabaseHelper(Context context) 
  {
    super(context, DATABASE_NAME, null, 1);
    this.myContext = context;
    
      if(!checkDataBase())
      {
        //empty database will be created into the default system path 
            //of your application so we are gonna be able to overwrite that database with our database.
          this.getReadableDatabase();
   
          try 
          { 
          copyDataBase();
          
          //copyPictures();
        } 
          catch (Exception e) 
          {
            e.printStackTrace();
            throw new Error("Error copying database");
          }
      }
  }

  private boolean checkDataBase()
  {
      SQLiteDatabase checkDB = null;
 
      try
      {
        String myPath = DATABASE_PATH + DATABASE_NAME;
        checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
      }
      catch(SQLiteException e)
      {
        e.printStackTrace();
      }
 
      if(checkDB != null)
      {
        checkDB.close();
      }
 
      return (checkDB != null ? true : false);
    }
  
  private void copyDataBase()
  {
    try
    {
      InputStream myInput = myContext.getAssets().open(DATABASE_NAME);
      String outFileName = DATABASE_PATH + DATABASE_NAME;
      OutputStream myOutput = new FileOutputStream(outFileName);
      byte[] buffer = new byte[1024];
      int length;
      while ((length = myInput.read(buffer))>0)
      {
        myOutput.write(buffer, 0, length);
      }

      myOutput.flush();
      myOutput.close();
      myInput.close();
    }
    catch(Exception ex)
    {
      ex.printStackTrace();
    }
    }
  
//  private void copyPictures() 
//  {
//    
//    try
//    {
//      String fullPath = "/data/data/com.sabaware.TourNama/picture";
//            File dir = new File(fullPath);
//            if (!dir.exists())
//                dir.mkdir();
//      AssetManager assetManager = myContext.getAssets();
//      String[] files = assetManager.list("picture");
//      for(String filename : files) 
//      {
//        InputStream in = assetManager.open("picture/" + filename);
//        //make "files" default folder
//          //FileOutputStream out = myContext.openFileOutput(filename, Context.MODE_PRIVATE);
//          OutputStream out = new FileOutputStream(fullPath + "/" + filename);
//          byte[] buffer = new byte[1024];
//          int length;
//          while ((length = in.read(buffer)) != -1)
//          {
//            out.write(buffer, 0, length);
//          }
//    
//          in.close();
//          in = null;
//          out.flush();
//          out.close();
//          out = null;          
//      }
//    }
//    catch(Exception ex)
//    {
//      ex.printStackTrace();
//    }
//  }
   
  @Override
  public void onCreate(SQLiteDatabase db) 
  {
    this.db = db;
  }
  
  @Override
  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
  {}
  
  public void Query(String query)
  {
    db.execSQL(query);
  }
  
  public Cursor SelectTable(String table, String[] select, String where, String order)
  {
    return getReadableDatabase().query(table, select, where, new String[]{}, "", "", order);
  }
  
  public void DeleteRow(String table, String where)
  {
    getWritableDatabase().delete(table, where, new String[]{});
  }
  
  public long InsertRow(String table, String fields[], String values[])
  {     
    ContentValues value = new ContentValues();
    for(int i=0;i<fields.length;i++)
      value.put(fields[i], values[i]);
    return getWritableDatabase().insert(table, null, value);
  }
  
  public void UpdateRow(String table, String fields[], String values[], String where)
  {
    ContentValues value = new ContentValues();
    for(int i=0;i<fields.length;i++)
      value.put(fields[i], values[i]);
    getWritableDatabase().update(table, value, where, new String[]{});
  }  

}




Java Source Code List

com.khajenasir.spacedigitizing.BuildingManager.java
com.khajenasir.spacedigitizing.Building.java
com.khajenasir.spacedigitizing.Category.java
com.khajenasir.spacedigitizing.DatabaseHelper.java
com.khajenasir.spacedigitizing.Floor.java
com.khajenasir.spacedigitizing.GPSPoint.java
com.khajenasir.spacedigitizing.GeoHelper.java
com.khajenasir.spacedigitizing.Navigate_buildingfinder.java
com.khajenasir.spacedigitizing.Navigate_buildinglist.java
com.khajenasir.spacedigitizing.Navigate_floorfinder.java
com.khajenasir.spacedigitizing.Navigate_floorlist.java
com.khajenasir.spacedigitizing.Routing_buildinglist.java
com.khajenasir.spacedigitizing.Routing_buildingselect.java
com.khajenasir.spacedigitizing.Routing_floorlist.java
com.khajenasir.spacedigitizing.deleteBuilding.java
com.khajenasir.spacedigitizing.editBuilding.java
com.khajenasir.spacedigitizing.main.java
com.khajenasir.spacedigitizing.newBuilding2.java
com.khajenasir.spacedigitizing.newBuilding3.java
com.khajenasir.spacedigitizing.newBuilding.java