Android Open Source - hts-cycle Data Base Helper

From Project

Back to project page hts-cycle.


The source code is released under:

GNU General Public License

If you think the Android project hts-cycle 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 it.uniroma2.musicsharep2p;
//w  w  2 s  .co m

import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;

public class DataBaseHelper extends SQLiteOpenHelper{

  //Classe delegata al controllo del database
  private static String DB_PATH = "/data/data/it.uniroma2.musicsharep2p/databases/";

  private static String DB_NAME = "Db.sqlite";

  private SQLiteDatabase myDataBase;

  private final Context myContext;

   * Costruttore
   * Prende e registra il contesto dato per accedere agli assets e alle risorse
   * @param context
  public DataBaseHelper(Context context) {

    super(context, DB_NAME, null, 1);
    this.myContext = context;

   * Crea un database vuoto e lo riempie con il database prelevato dagli assets
   * */
  public void createDataBase() throws IOException{

    boolean dbExist = checkDataBase();

      //Il database gi esiste, non fa niente

      //Crea il database

      try {


      } catch (IOException e) {

        throw new Error("Error copying database");



   * Controlla l'esistenza del Db
   * @return true se esiste, altrimenti false
  private boolean checkDataBase(){

    SQLiteDatabase checkDB = null;

      String myPath = DB_PATH + DB_NAME;
      checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);

    }catch(SQLiteException e){

      //database does't exist yet.


    if(checkDB != null){



    return checkDB != null ? true : false;

   * Copia il database da assets alla cartella di sistema
   * */
  private void copyDataBase() throws IOException{

    //Apre il database dagli assets come inputstream
    InputStream myInput = myContext.getAssets().open(DB_NAME);

    // Prende il path al database che creato
    String outFileName = DB_PATH + DB_NAME;

    //Lo apre come outputstream
    OutputStream myOutput = new FileOutputStream(outFileName);

    //scrittura di bytes da inputstream a output stream
    byte[] buffer = new byte[1024];
    int length;
    while ((length =>0){
      myOutput.write(buffer, 0, length);

    //Chiude gli stream


  public void openDataBase() throws SQLException{

    //Apre il Db
    String myPath = DB_PATH + DB_NAME;
    myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);


  public synchronized void close() {

    if(myDataBase != null)



  public void onCreate(SQLiteDatabase db) {


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



Java Source Code List