Slideshow

Saturday, October 27, 2012

using own existing sqlite database

1.  Create  database using any SQLite brwoser
2.  put the database file in assets folder
3. create the class which extends SQLiteOpenHelper class  as below and put database copying code in constructor

-----------------------------------------------------
package com.DBDemo;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.content.Context;
import android.content.res.AssetManager;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class DataHelper extends SQLiteOpenHelper {
    public static final String DBName="LawDB";
    Context ctx;
   
public DataHelper(Context context, String name, CursorFactory factory,
            int version) {
   
        super(context, name, factory, version);
        ctx=context;
       
            try {
               
                String s=ctx.getApplicationInfo().dataDir+"/databases";
                File dbDir=new File(s);
                if(!dbDir.exists())
                {
                    dbDir.mkdir();
                }
                if(dbDir.exists())
                {
                    File dbFile=new  File(dbDir, DBName);
                    if(!dbFile.exists())
                    {
                        AssetManager asm=ctx.getAssets();
                        InputStream is=asm.open(DBName);
                        OutputStream os=new FileOutputStream(dbDir.getPath()+"/"+DBName);
                        while(true)
                        {
                            int i=is.read();
                            if(i!=-1)
                                os.write(i);
                            else
                                break;
                        }
                    is.close();
                    os.close();
                    }
                }
               
                Toast.makeText(ctx, s,5).show();
               
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        // TODO Auto-generated constructor stub
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
       
       
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
       
    }

}
-------------------------------------------------------------------------------------------




0 comments:

Post a Comment