Back to project page footprint.
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.
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[]{}); } }