1. Make the SQLite database file.
If you don't have a sqlite manager I recommend you to download the opensource SQLite Database Browser available for Win/Linux/Mac. Make database file.
2. Use this database in your Android application.
Now put your database file in the "assets" folder of your project and create a Database Helper class by extending the SQLiteOpenHelper class
public class Databasehelper extends SQLiteOpenHelper
{
private SQLiteDatabase myDataBase;
private final Context myContext;
private static final String DATABASE_NAME = "db.sqlite";
public final static String DATABASE_PATH ="/data/data/com.shir60bhushan/databases/";
public static final int DATABASE_VERSION = 1;
//public static final int DATABASE_VERSION_old = 1;
//Constructor
public Databasehelper(Context context)
{
super(context, DATABASE_NAME, null, DATABASE_VERSION);
this.myContext = context;
}
//Create a empty database on the system
public void createDatabase() throws IOException
{
boolean dbExist = checkDataBase();
if(dbExist)
{
Log.v("DB Exists", "db exists");
// By calling this method here onUpgrade will be called on a
// writeable database, but only if the version number has been
// bumped
//onUpgrade(myDataBase, DATABASE_VERSION_old, DATABASE_VERSION);
}
boolean dbExist1 = checkDataBase();
if(!dbExist1)
{
this.getReadableDatabase();
try
{
this.close();
copyDataBase();
}
catch (IOException e)
{
throw new Error("Error copying database");
}
}
}
//Check database already exist or not
private boolean checkDataBase()
{
boolean checkDB = false;
try
{
String myPath = DATABASE_PATH + DATABASE_NAME;
File dbfile = new File(myPath);
checkDB = dbfile.exists();
}
catch(SQLiteException e)
{
}
return checkDB;
}
//Copies your database from your local assets-folder to the just created empty database in the system folder
private void copyDataBase() throws IOException
{
String outFileName = DATABASE_PATH + DATABASE_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
InputStream myInput = myContext.getAssets().open(DATABASE_NAME);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer)) > 0)
{
myOutput.write(buffer, 0, length);
}
myInput.close();
myOutput.flush();
myOutput.close();
}
//delete database
public void db_delete()
{
File file = new File(DATABASE_PATH + DATABASE_NAME);
if(file.exists())
{
file.delete();
System.out.println("delete database file.");
}
}
//Open database
public void openDatabase() throws SQLException
{
String myPath = DATABASE_PATH + DATABASE_NAME;
myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
}
public synchronized void closeDataBase()throws SQLException
{
if(myDataBase != null)
myDataBase.close();
super.close();
}
public void onCreate(SQLiteDatabase db)
{
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
if (newVersion > oldVersion)
{
Log.v("Database Upgrade", "Database version higher than old.");
db_delete();
}
}
//add your public methods for insert, get, delete and update data in database.
}
Now you can create a new instance of this DataBaseHelper class and call the createDataBase() and openDataBase() methods. Remember to change the "YOUR_PACKAGE" to your application package namespace (i.e: com.examplename.myapp) in the DB_PATH string.
DataBaseHelper myDbHelper = new DataBaseHelper();
myDbHelper = new DataBaseHelper(this);
try {
myDbHelper.createDataBase();
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
try {
myDbHelper.openDataBase();
}catch(SQLException sqle){
throw sqle;
}
5 comments :
Tyya's dad won't overload anything high-minded at the roll up - no ice cream, no sweets, no cookies. But when the saleslady puts a assay sticker on Tyya's nose, Daddy is completely overdone to suborn something virtuous
http://www.webhunter.pl/?p=1
http://manufakturapodniebienia.pl/ciezka-praca
http://hankused.pl/page/5
http://kotly-co.com/tag/ciepla-woda
http://cwkip.zgora.pl/zielonogorskie-centrum-sportowo-rekreacyjne
http://kuchnia24h.net.pl/tag/kuchnia
Tyya's dad won't come by anything fit at the cumulate - no ice cream, no confectionery, no cookies. But when the saleslady puts a valuation sticker on Tyya's nose, Daddy is decisively stiff to subvert something goodness
http://www.webhunter.pl/?p=1
http://pub-arrival.pl/podstawowe-smaki-rozrozniane-przez-czlowieka
http://crustycajun.com/uprawy-cajun.php
http://jaworskilukasz.pl/tag/sam
http://magi.com.pl/pilka-nozna/tadeusz-krysinski-%E2%80%93-zawodnik-druzyny-karpaty-krosno
http://swiatecznie.info.pl/?cat=1&paged=2
how to create a new instance
getting error to open file
its not being copy
file not found exception
Loved reading thhis thank you
Post a Comment