From 802254faa17f64310f16ea208ca003ef9d13c82c Mon Sep 17 00:00:00 2001 From: Scott Main Date: Mon, 10 Jun 2013 13:49:53 -0700 Subject: fix typo and clarify class references in database lesson bug: 9372560 Change-Id: I703c4196a026cb0b1469ee55491ee674868768ca --- .../html/training/basics/data-storage/databases.jd | 66 +++++++++++----------- 1 file 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 61fb7583f2e8..6ea2140d6c0b 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:

-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";
+        ...
+    }
 }
 
-

To prevent someone from accidentally instantiating the contract class, give -it an empty constructor.

- -
-// Prevents the FeedReaderContract class from being instantiated.
-private FeedReaderContract() {}
-
- -

Create a Database Using a SQL Helper

@@ -103,15 +101,15 @@ statements that create and delete a table:

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;

Just like files that you save on the device's @@ -227,18 +225,18 @@ SQLiteDatabase db = mDbHelper.getReadableDatabase(); // Define a projection 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:

 cursor.moveToFirst();
 long itemId = cursor.getLong(
-    cursor.getColumnIndexOrThrow(FeedReaderContract.FeedEntry._ID)
+    cursor.getColumnIndexOrThrow(FeedEntry._ID)
 );
 
@@ -282,7 +280,7 @@ immune to SQL injection.

 // 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(
-- 
cgit v1.2.3-59-g8ed1b