Rev 12 |
Go to most recent revision |
View as "text/plain" |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
1
/**
*
*/
package de.pointedears.converter.db;
import java.util.HashMap;
import java.util.Map.Entry;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import de.pointedears.converter.app.CurrenciesActivity;
/**
* @author pelinux
*
*/
public class CurrenciesDatabase
extends SQLiteOpenHelper
{
private static final String DATABASE_NAME =
"currency.db"; //$NON-NLS-1$
private static final int DATABASE_VERSION =
1;
public static final String TABLE =
"currency"; //$NON-NLS-1$
public static final String COLUMN_CURRENCY1 =
"currency1"; //$NON-NLS-1$
public static final String COLUMN_CURRENCY2 =
"currency2"; //$NON-NLS-1$
public static final String COLUMN_FACTOR =
"factor"; //$NON-NLS-1$
private final CurrenciesActivity context
;
/**
* @param context
* The Activity in which this wrapper is used
*/
public CurrenciesDatabase
(CurrenciesActivity context
)
{
super(context, CurrenciesDatabase.
DATABASE_NAME,
null,
CurrenciesDatabase.
DATABASE_VERSION);
this.
context = context
;
}
/*
* (non-Javadoc)
*
* @see
* android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite
* .SQLiteDatabase)
*/
@
SuppressWarnings("nls")
@
Override
public void onCreate
(SQLiteDatabase db
)
{
db.
execSQL("CREATE TABLE IF NOT EXISTS " + CurrenciesDatabase.
TABLE
+
"(" + CurrenciesDatabase.
COLUMN_CURRENCY1 +
" TEXT, "
+ CurrenciesDatabase.
COLUMN_CURRENCY2 +
" TEXT, "
+ CurrenciesDatabase.
COLUMN_FACTOR
+
" NUMERIC)");
HashMap<String,
HashMap<String,
Double>> currencyConversions =
this.
context.
getCurrencyConversions();
for (String key : currencyConversions.
keySet())
{
for (Entry
<String,
Double> factorEntry : currencyConversions.
get(key
)
.
entrySet())
{
ContentValues values =
new ContentValues
();
values.
put(CurrenciesDatabase.
COLUMN_CURRENCY1, key
);
values.
put(CurrenciesDatabase.
COLUMN_CURRENCY2, factorEntry.
getKey());
values.
put(CurrenciesDatabase.
COLUMN_FACTOR, factorEntry.
getValue());
db.
insert(CurrenciesDatabase.
TABLE, CurrenciesDatabase.
COLUMN_FACTOR,
values
);
}
}
}
/*
* (non-Javadoc)
*
* @see
* android.database.sqlite.SQLiteOpenHelper#onUpgrade(android.database.sqlite
* .SQLiteDatabase, int, int)
*/
@
SuppressWarnings("nls")
@
Override
public void onUpgrade
(SQLiteDatabase db,
int oldVersion,
int newVersion
)
{
/* NOTE: Should migrate database instead */
db.
execSQL("DROP TABLE IF EXISTS " + CurrenciesDatabase.
TABLE);
this.
onCreate(db
);
}
}