diff options
author | Scott Main <smain@google.com> | 2013-06-10 16:17:45 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-06-10 16:17:45 -0700 |
commit | d731c902408b0a86deb8fce04b8391bec756f498 (patch) | |
tree | 13565c3b02bfd01000afc0ec89aeda0b87ac0cd7 /docs | |
parent | a7ba45ec7cbaaa1dbfcd6601bb42abd5ea39547f (diff) | |
parent | f0380a267c8ae9c351d5799752fe5fdb9b210800 (diff) | |
download | frameworks_base-d731c902408b0a86deb8fce04b8391bec756f498.zip frameworks_base-d731c902408b0a86deb8fce04b8391bec756f498.tar.gz frameworks_base-d731c902408b0a86deb8fce04b8391bec756f498.tar.bz2 |
am f0380a26: am 343f581d: Merge "fix typo and clarify class references in database lesson bug: 9372560" into jb-mr1.1-ub-dev
* commit 'f0380a267c8ae9c351d5799752fe5fdb9b210800':
fix typo and clarify class references in database lesson bug: 9372560
Diffstat (limited to 'docs')
-rw-r--r-- | docs/html/training/basics/data-storage/databases.jd | 66 |
1 files changed, 32 insertions, 34 deletions
diff --git a/docs/html/training/basics/data-storage/databases.jd b/docs/html/training/basics/data-storage/databases.jd index 61fb758..6ea2140 100644 --- a/docs/html/training/basics/data-storage/databases.jd +++ b/docs/html/training/basics/data-storage/databases.jd @@ -73,25 +73,23 @@ single table:</p> <pre> -public static abstract class FeedEntry implements BaseColumns { - public static final String TABLE_NAME = "entry"; - public static final String COLUMN_NAME_ENTRY_ID = "entryid"; - public static final String COLUMN_NAME_TITLE = "title"; - public static final String COLUMN_NAME_SUBTITLE = "subtitle"; - ... +public final class FeedReaderContract { + // To prevent someone from accidentally instantiating the contract class, + // give it an empty constructor. + public FeedReaderContract() {} + + /* Inner class that defines the table contents */ + public static abstract class FeedEntry implements BaseColumns { + public static final String TABLE_NAME = "entry"; + public static final String COLUMN_NAME_ENTRY_ID = "entryid"; + public static final String COLUMN_NAME_TITLE = "title"; + public static final String COLUMN_NAME_SUBTITLE = "subtitle"; + ... + } } </pre> -<p>To prevent someone from accidentally instantiating the contract class, give -it an empty constructor. </p> - -<pre> -// Prevents the FeedReaderContract class from being instantiated. -private FeedReaderContract() {} -</pre> - - <h2 id="DbHelper">Create a Database Using a SQL Helper</h2> @@ -103,15 +101,15 @@ statements that create and delete a table:</P> private static final String TEXT_TYPE = " TEXT"; private static final String COMMA_SEP = ","; private static final String SQL_CREATE_ENTRIES = - "CREATE TABLE " + FeedReaderContract.FeedEntry.TABLE_NAME + " (" + - FeedReaderContract.FeedEntry._ID + " INTEGER PRIMARY KEY," + - FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + TEXT_TYPE + COMMA_SEP + - FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE + TEXT_TYPE + COMMA_SEP + + "CREATE TABLE " + FeedEntry.TABLE_NAME + " (" + + FeedEntry._ID + " INTEGER PRIMARY KEY," + + FeedEntry.COLUMN_NAME_ENTRY_ID + TEXT_TYPE + COMMA_SEP + + FeedEntry.COLUMN_NAME_TITLE + TEXT_TYPE + COMMA_SEP + ... // Any other options for the CREATE command " )"; private static final String SQL_DELETE_ENTRIES = - "DROP TABLE IF EXISTS " + TABLE_NAME_ENTRIES; + "DROP TABLE IF EXISTS " + FeedEntry.TABLE_NAME; </pre> <p>Just like files that you save on the device's <a @@ -191,15 +189,15 @@ SQLiteDatabase db = mDbHelper.getWritableDatabase(); // Create a new map of values, where column names are the keys ContentValues values = new ContentValues(); -values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID, id); -values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title); -values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_CONTENT, content); +values.put(FeedEntry.COLUMN_NAME_ENTRY_ID, id); +values.put(FeedEntry.COLUMN_NAME_TITLE, title); +values.put(FeedEntry.COLUMN_NAME_CONTENT, content); // Insert the new row, returning the primary key value of the new row long newRowId; newRowId = db.insert( - FeedReaderContract.FeedEntry.TABLE_NAME, - FeedReaderContract.FeedEntry.COLUMN_NAME_NULLABLE, + FeedEntry.TABLE_NAME, + FeedEntry.COLUMN_NAME_NULLABLE, values); </pre> @@ -227,18 +225,18 @@ SQLiteDatabase db = mDbHelper.getReadableDatabase(); // Define a <em>projection</em> that specifies which columns from the database // you will actually use after this query. String[] projection = { - FeedReaderContract.FeedEntry._ID, - FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, - FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED, + FeedEntry._ID, + FeedEntry.COLUMN_NAME_TITLE, + FeedEntry.COLUMN_NAME_UPDATED, ... }; // How you want the results sorted in the resulting Cursor String sortOrder = - FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED + " DESC"; + FeedEntry.COLUMN_NAME_UPDATED + " DESC"; Cursor c = db.query( - FeedReaderContract.FeedEntry.TABLE_NAME, // The table to query + FeedEntry.TABLE_NAME, // The table to query projection, // The columns to return selection, // The columns for the WHERE clause selectionArgs, // The values for the WHERE clause @@ -262,7 +260,7 @@ For example:</p> <pre> cursor.moveToFirst(); long itemId = cursor.getLong( - cursor.getColumnIndexOrThrow(FeedReaderContract.FeedEntry._ID) + cursor.getColumnIndexOrThrow(FeedEntry._ID) ); </pre> @@ -282,7 +280,7 @@ immune to SQL injection.</p> <pre> // Define 'where' part of query. -String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?"; +String selection = FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?"; // Specify arguments in placeholder order. String[] selectionArgs = { String.valueOf(rowId) }; // Issue SQL statement. @@ -305,10 +303,10 @@ SQLiteDatabase db = mDbHelper.getReadableDatabase(); // New value for one column ContentValues values = new ContentValues(); -values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title); +values.put(FeedEntry.COLUMN_NAME_TITLE, title); // Which row to update, based on the ID -String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?"; +String selection = FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?"; String[] selectionArgs = { String.valueOf(rowId) }; int count = db.update( |