Last active
          December 20, 2015 09:40 
        
      - 
      
- 
        Save Geek4IT/6109822 to your computer and use it in GitHub Desktop. 
     Copying, opening and accessing your database in your Android application.
Step1:Put cities.db in your directory ->assets
Step2: CityDBHelper myDbHelper = new CityDBHelper (); myDbHelper = new CityDBHelper (this); try { myDbHelper.createDataBase(); } catch (IOException ioe) { throw new Error("Unable to create database"); } try { myDbHelper.openD…
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | public class CityDBHelper extends SQLiteOpenHelper { | |
| private static int DB_VERSION = 1; | |
| private static String DB_PATH = Environment.getDataDirectory() | |
| .getPath()+"/data/com.geek4it.demo/databases/"; | |
| private static String DB_NAME = "cities"; | |
| private SQLiteDatabase myDataBase; | |
| private final Context myContext; | |
| public CityDBHelper(Context context) { | |
| super(context, DB_NAME, null, DB_VERSION); | |
| this.myContext = context; | |
| } | |
| public void createDataBase() throws IOException { | |
| boolean dbExist = checkDataBase(); | |
| Log.i("Geek4IT", "createDataBase...dbExist:" + dbExist); | |
| if (!dbExist) { | |
| this.getReadableDatabase(); | |
| try { | |
| copyDataBase(); | |
| } catch (IOException e) { | |
| throw new Error("Error copying database"); | |
| } | |
| } | |
| } | |
| private boolean checkDataBase() { | |
| SQLiteDatabase checkDB = null; | |
| try { | |
| String myPath = DB_PATH + DB_NAME; | |
| checkDB = SQLiteDatabase.openDatabase(myPath, null, | |
| SQLiteDatabase.OPEN_READONLY); | |
| } catch (SQLiteException e) { | |
| } | |
| if (checkDB != null) { | |
| checkDB.close(); | |
| } | |
| return checkDB != null ? true : false; | |
| } | |
| private void copyDataBase() throws IOException { | |
| InputStream myInput = myContext.getAssets().open(DB_NAME); | |
| String outFileName = DB_PATH + DB_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(); | |
| } | |
| public void openDataBase() throws SQLException { | |
| String myPath = DB_PATH + DB_NAME; | |
| myDataBase = SQLiteDatabase.openDatabase(myPath, null, | |
| SQLiteDatabase.OPEN_READONLY); | |
| } | |
| @Override | |
| public synchronized void close() { | |
| if (myDataBase != null) | |
| myDataBase.close(); | |
| super.close(); | |
| } | |
| @Override | |
| public void onCreate(SQLiteDatabase db) { | |
| } | |
| @Override | |
| public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { | |
| } | |
| } | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment