Android Open Source - footprint Database Helper






From Project

Back to project page footprint.

License

The source code is released under:

MIT License

If you think the Android project footprint 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.sabaware.footprint;
/* w ww  .  j a  va 2  s .com*/
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="Footprint.db";
  private static String DATABASE_PATH = "/data/data/com.sabaware.Footprint/databases/";
  private Context myContext=null;
  SQLiteDatabase db;
  
  
  public DatabaseHelper(Context context) 
  {
    super(context, DATABASE_NAME, null, 1);
    this.myContext = context;
    
    copyPictures();
    
//      if(!checkDataBase())
//      {
//          this.getReadableDatabase();
//   
//          try 
//          { 
//          copyDataBase();
//          
//          
//        } 
//          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 filename = "Footprint_Tehran.zip";
      String fullPath = "/sdcard/osmdroid";
      if(!(new File(fullPath + "/" + filename)).exists())
      {
              File dir = new File(fullPath);
              if (!dir.exists())
                  dir.mkdir();
        AssetManager assetManager = myContext.getAssets();
  
        InputStream in = assetManager.open(filename);
          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.sabaware.footprint.DatabaseHelper.java
com.sabaware.footprint.MainActivity.java
com.sabaware.footprint.MyItemizedOverlay.java