Android Open Source - foodroid Database Helper






From Project

Back to project page foodroid.

License

The source code is released under:

GNU General Public License

If you think the Android project foodroid 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.wmc.ReservationClient;
/* www.j  av a2  s  .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="RestaurantDB.db";
  private static String DATABASE_PATH = "/data/data/com.wmc.ReservationClient/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.wmc.ReservationClient/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.adp.ADPWsSample.java
com.adp.BalanceResult.java
com.adp.ChangePasswordResponse.java
com.adp.ChangePassword.java
com.adp.GetBalanceResponse.java
com.adp.GetBalance.java
com.adp.GetStatusResponse.java
com.adp.GetStatus.java
com.adp.IncomingMessage.java
com.adp.JaxRpcMessagingServiceServiceLocator.java
com.adp.JaxRpcMessagingServiceService.java
com.adp.JaxRpcMessagingService.java
com.adp.MessageObject.java
com.adp.MessagingServiceSoapBindingStub.java
com.adp.MultiAddressMessageObject.java
com.adp.OutgoingMessage.java
com.adp.ReceiveResponse.java
com.adp.ReceiveResult.java
com.adp.Receive.java
com.adp.ReportResponse.java
com.adp.ReportResult.java
com.adp.Report.java
com.adp.Result.java
com.adp.SendMultipleResponse.java
com.adp.SendMultiple.java
com.adp.SendResponse.java
com.adp.SendResult.java
com.adp.Send.java
com.adp.StatusReportResponse.java
com.adp.StatusReportResult.java
com.adp.StatusReportType0.java
com.adp.StatusReport.java
com.sba.util.DateFields.java
com.sba.util.PersianCalendar.java
com.wmc.Registration.BranchlistResource.java
com.wmc.Registration.CommentListBean.java
com.wmc.Registration.CommentResource.java
com.wmc.Registration.CommentlistResource.java
com.wmc.Registration.FoodListResource.java
com.wmc.Registration.LoginResource.java
com.wmc.Registration.OrderBean.java
com.wmc.Registration.OrderListBean.java
com.wmc.Registration.OrderResource.java
com.wmc.Registration.RegisterResource.java
com.wmc.Registration.ReserveListBean.java
com.wmc.Registration.Settings.java
com.wmc.ReservationClient.Account.java
com.wmc.ReservationClient.BranchList.java
com.wmc.ReservationClient.BranchPage.java
com.wmc.ReservationClient.Branch.java
com.wmc.ReservationClient.Comment.java
com.wmc.ReservationClient.DatabaseHelper.java
com.wmc.ReservationClient.Favorite.java
com.wmc.ReservationClient.FoodList.java
com.wmc.ReservationClient.FoodPage.java
com.wmc.ReservationClient.Food.java
com.wmc.ReservationClient.Login.java
com.wmc.ReservationClient.Main.java
com.wmc.ReservationClient.OrderList.java
com.wmc.ReservationClient.Order.java
com.wmc.ReservationClient.Search.java
com.wmc.ReservationClient.SmsMessageReceiver.java
com.wmc.ReservationClient.Table.java
com.wmc.ReservationClient.Update.java
com.wmc.ReservationClient.Utility.java
smsserver.CommentSMS.java
smsserver.LoginSMS.java
smsserver.OrderSMS.java
smsserver.Settings.java
smsserver.SmsServer.java