14.01.2013 Views

Android™ Application Development - Bahar Ali Khan

Android™ Application Development - Bahar Ali Khan

Android™ Application Development - Bahar Ali Khan

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 6: Data Storage, Retrieval, and Sharing<br />

3. Create the database that will be used to store the earthquakes. Within the EathquakeProvider<br />

class, create a new SQLiteDatabase instance, and expose public variables that describe the<br />

column names and indexes. Include an extension of SQLiteOpenHelper to manage database<br />

creation and version control.<br />

// The underlying database<br />

private SQLiteDatabase earthquakeDB;<br />

private static final String TAG = “EarthquakeProvider”;<br />

private static final String DATABASE_NAME = “earthquakes.db”;<br />

private static final int DATABASE_VERSION = 1;<br />

private static final String EARTHQUAKE_TABLE = “earthquakes”;<br />

// Column Names<br />

public static final String KEY_ID = “_id”;<br />

public static final String KEY_DATE = “date”;<br />

public static final String KEY_DETAILS = “details”;<br />

public static final String KEY_LOCATION_LAT = “latitude”;<br />

public static final String KEY_LOCATION_LNG = “longitude”;<br />

public static final String KEY_MAGNITUDE = “magnitude”;<br />

public static final String KEY_LINK = “link”;<br />

// Column indexes<br />

public static final int DATE_COLUMN = 1;<br />

public static final int DETAILS_COLUMN = 2;<br />

public static final int LONGITUDE_COLUMN = 3;<br />

public static final int LATITUDE_COLUMN = 4;<br />

public static final int MAGNITUDE_COLUMN = 5;<br />

public static final int LINK_COLUMN = 6;<br />

// Helper class for opening, creating, and managing<br />

// database version control<br />

private static class earthquakeDatabaseHelper extends SQLiteOpenHelper {<br />

private static final String DATABASE_CREATE =<br />

“create table “ + EARTHQUAKE_TABLE + “ (“<br />

+ KEY_ID + “ integer primary key autoincrement, “<br />

+ KEY_DATE + “ INTEGER, “<br />

+ KEY_DETAILS + “ TEXT, “<br />

+ KEY_LOCATION_LAT + “ FLOAT, “<br />

+ KEY_LOCATION_LNG + “ FLOAT, “<br />

+ KEY_MAGNITUDE + “ FLOAT, “<br />

+ KEY_LINK + “ TEXT);”;<br />

public earthquakeDatabaseHelper(Context context, String name,<br />

CursorFactory factory, int version) {<br />

super(context, name, factory, version);<br />

}<br />

@Override<br />

public void onCreate(SQLiteDatabase db) {<br />

db.execSQL(DATABASE_CREATE);<br />

}<br />

@Override<br />

public void onUpgrade(SQLiteDatabase db, int oldVersion,<br />

199

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!