Следва кодът, използван за отговора на предишен въпрос (връзка по-долу), изменен, за да включва нов метод, а именно restoreTable в DatabaseAssetHandler.java
Методът ще копира всяка таблица, както е предадена, от архивираната база данни (направена при копиране на нова база данни от папката с активи (съгласно предишния отговор)). Той не включва усложненията при проверката дали предадената таблица съществува.
Отваря две копия на SQLiteDatabase, новата база данни и старата архивирана база данни. Извлича всички редове от старата база данни и ги вмъква в таблица със същото име в новата база данни.
Този метод сам по себе си е :-
/**
*
* @param context The context so that the respective package is used
* @param dbname The name of the database (the old will have -backup appended)
* @param table The table from which to copy the data
*/
public static void restoreTable(Context context, String dbname, String table) {
ContentValues cv = new ContentValues();
SQLiteDatabase dbnew = SQLiteDatabase.openDatabase(context.getDatabasePath(dbname).toString(), null,SQLiteDatabase.OPEN_READWRITE);
SQLiteDatabase dbold = SQLiteDatabase.openDatabase(context.getDatabasePath(dbname + backup).toString(),null,SQLiteDatabase.OPEN_READONLY);
Cursor csr = dbold.query(table,null,null,null,null,null,null);
dbnew.beginTransaction();
while (csr.moveToNext()) {
cv.clear();
int offset = 0;
for (String column: csr.getColumnNames()) {
switch (csr.getType(offset++)){
case Cursor.FIELD_TYPE_NULL:
break;
case Cursor.FIELD_TYPE_INTEGER:
cv.put(column,csr.getLong(csr.getColumnIndex(column)));
break;
case Cursor.FIELD_TYPE_FLOAT:
cv.put(column,csr.getFloat(csr.getColumnIndex(column)));
break;
case Cursor.FIELD_TYPE_STRING:
cv.put(column,csr.getString(csr.getColumnIndex(column)));
break;
case Cursor.FIELD_TYPE_BLOB:
cv.put(column,csr.getBlob(csr.getColumnIndex(column)));
}
}
dbnew.insert(DatabaseHelper.TABLE_BOOKMARK,null,cv);
}
dbnew.setTransactionSuccessful();
dbnew.endTransaction();
csr.close();
dbnew.close();
dbold.close();
}
- Този метод трябва да бъде добавен към кода на DatabaseAssetHandler от предишния отговор.
За да се улесни тестването на горното, бяха направени няколко промени в DatabaseHelper.java , това сега е :-
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "dictionary.db";
private static final int DB_VERSION = 2;
public static final String TABLE_DICTIONARY = "dictionary";
public static final String TABLE_BOOKMARK= "bookmark";
public static final String COL_ID = "id";
public static final String COL_WORD = "word";
public static final String COL_DEFINITION = "definition";
public static final String COL_WORID = "wordid"; //<<<<<<<<<< ADDED
public Context mcontext;
public SQLiteDatabase mDatabase;
public DatabaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.mcontext = context;
Log.d("DBVERSION","The Database Version (as hard coded) is " + String.valueOf(DB_VERSION));
int dbversion = DatabaseAssetHandler.getVersionFromDBFile(context,DB_NAME);
Log.d("DBVERSION","The Database Version (as per the database file) is " + String.valueOf(dbversion));
// Copy the Database if no database exists
if (!DatabaseAssetHandler.checkDataBase(context,DB_NAME)) {
DatabaseAssetHandler.copyDataBase(context,DB_NAME,true,DB_VERSION);
} else {
if (DB_VERSION > dbversion && DatabaseAssetHandler.checkDataBase(context, DB_NAME)) {
DatabaseAssetHandler.copyDataBase(context, DB_NAME, true, DB_VERSION);
DatabaseAssetHandler.restoreTable(context,DB_NAME,TABLE_BOOKMARK); //<<<<<<<<<< ADDED for keeping the BOOKMARKS
DatabaseAssetHandler.clearForceBackups(context, DB_NAME); // Clear the backups
}
}
mDatabase = this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
public void openDatabase() throws SQLException {
mDatabase = this.getWritableDatabase();
}
//<<<<<<<<<< ADDED to allow some bookmarks to be added
public long addBookMark(long wordid) {
ContentValues cv = new ContentValues();
cv.put(DatabaseHelper.COL_WORID,wordid);
return mDatabase.insert(DatabaseHelper.TABLE_BOOKMARK,null,cv);
}
// Added to retrieve the database name (could make DB_NAME public)
public String getDBNAME() {
return this.DB_NAME;
}
//ADDED to dump the bookmarks along with the related word and definition
public void logBookmarksWithWord() {
String table_part = TABLE_BOOKMARK +
" JOIN " + TABLE_DICTIONARY +
" ON " + COL_WORID +
" = " + TABLE_DICTIONARY + "." + COL_ID;
String[] columns = new String[]{TABLE_BOOKMARK + "." + COL_ID, COL_WORID, COL_WORD, COL_DEFINITION};
Cursor csr = mDatabase.query(table_part,columns,null,null,null,null,COL_WORD);
DatabaseUtils.dumpCursor(csr);
csr.close();
}
@Override
public synchronized void close() {
if (mDatabase != null)
mDatabase.close();
super.close();
}
}
Бяха използвани същите 2 версии на бази данни съгласно предишния отговор. Обачеизвикващата дейност беше добавен допълнителен код към а) добавяне на някои отметки, когато БД се копира от папката с активи, и към б) винаги извежда отметките в дневника (за да покаже, че са запазени).
Извикващата дейност използва се :-
public class MainActivity extends AppCompatActivity {
DatabaseHelper mDBHlpr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDBHlpr = new DatabaseHelper(this);
Cursor csr = mDBHlpr.getWritableDatabase().query(
DatabaseHelper.TABLE_DICTIONARY,
null,null,null,null,null,null
);
DatabaseUtils.dumpCursor(csr);
//<<<<<<<<<< ADDED CODE
// Add a couple of bookmarks only if database is copied for testing
if (DatabaseUtils.queryNumEntries(mDBHlpr.mDatabase,DatabaseHelper.TABLE_BOOKMARK) < 1) {
mDBHlpr.addBookMark(1);
mDBHlpr.addBookMark(3);
}
// Always dump the bookmarks to the log
mDBHlpr.logBookmarksWithWord();
//<<<<<<<<<< END OF ADDED CODE
csr.close();
}
}
- Обърнете внимание, че е направено предположението, че таблицата с отметки, макар и празна (не е необходимо да бъде), съществува в съществуващата база данни. Ако не съществува, това ще се провали.
Тестване/Резултати
Изпълнете 1
Това изпълнение е за нова инсталация на приложението и DB_VERSION е 1 (така че вече съществуващата база данни (първоначална версия) се копира от папката с активи).
04-22 18:06:17.603 8734-8734/? D/DBVERSION: The Database Version (as hard coded) is 1
04-22 18:06:17.603 8734-8734/? D/DBVERSION: The Database Version (as per the database file) is -666666666
04-22 18:06:17.603 8734-8734/? D/DBPATH: DB Path is /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:06:17.603 8734-8734/? D/COPYDATABASE: Initiated Copy of the database file dictionary.db from the assets folder.
04-22 18:06:17.603 8734-8734/? D/COPYDATABASE: Asset file dictionary.db found so attmepting to copy to /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:06:17.604 8734-8734/? D/COPYDATABASE: Attempting copy of block 1 which has 4096 bytes.
04-22 18:06:17.604 8734-8734/? D/COPYDATABASE: Attempting copy of block 2 which has 4096 bytes.
04-22 18:06:17.604 8734-8734/? D/COPYDATABASE: Attempting copy of block 3 which has 4096 bytes.
04-22 18:06:17.604 8734-8734/? D/COPYDATABASE: Finished copying Database dictionary.db from the assets folder, to /data/user/0/m.example.so55711282dictionary/databases/dictionary.db12288were copied, in 3 blocks of size 4096.
04-22 18:06:17.604 8734-8734/? D/COPYDATABASE: All Streams have been flushed and closed.
04-22 18:06:17.625 8734-8734/? I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:06:17.625 8734-8734/? I/System.out: 0 {
04-22 18:06:17.625 8734-8734/? I/System.out: id=1
04-22 18:06:17.625 8734-8734/? I/System.out: word=Apple
04-22 18:06:17.625 8734-8734/? I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:06:17.625 8734-8734/? I/System.out: }
04-22 18:06:17.625 8734-8734/? I/System.out: 1 {
04-22 18:06:17.625 8734-8734/? I/System.out: id=2
04-22 18:06:17.625 8734-8734/? I/System.out: word=Bucket
04-22 18:06:17.625 8734-8734/? I/System.out: definition=Hand held container with carrying hanlde.
04-22 18:06:17.625 8734-8734/? I/System.out: }
04-22 18:06:17.625 8734-8734/? I/System.out: <<<<<
04-22 18:06:17.631 8734-8734/? D/BOOKMARKDUMP: Dumping the bookmarks table to the log.
04-22 18:06:17.631 8734-8734/? I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:06:17.631 8734-8734/? I/System.out: 0 {
04-22 18:06:17.631 8734-8734/? I/System.out: id=1
04-22 18:06:17.631 8734-8734/? I/System.out: wordid=1
04-22 18:06:17.631 8734-8734/? I/System.out: word=Apple
04-22 18:06:17.631 8734-8734/? I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:06:17.631 8734-8734/? I/System.out: }
04-22 18:06:17.631 8734-8734/? I/System.out: <<<<<
Изпълнете 2
Просто стартирайте отново, без промени, така че не съществува отметка за копиране.
04-22 18:40:56.304 8858-8858/m.example.so55711282dictionary D/DBVERSION: The Database Version (as hard coded) is 1
04-22 18:40:56.304 8858-8858/m.example.so55711282dictionary D/DBVERSION: The Database Version (as per the database file) is 1
04-22 18:40:56.304 8858-8858/m.example.so55711282dictionary D/DBPATH: DB Path is /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: 0 {
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: id=1
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: word=Apple
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: }
04-22 18:40:56.308 8858-8858/m.example.so55711282dictionary I/System.out: 1 {
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: id=2
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: word=Bucket
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: definition=Hand held container with carrying hanlde.
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: }
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: <<<<<
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary D/BOOKMARKDUMP: Dumping the bookmarks table to the log.
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: 0 {
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: id=1
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: wordid=1
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: word=Apple
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: }
04-22 18:40:56.309 8858-8858/m.example.so55711282dictionary I/System.out: <<<<<
Изпълнете 3
Новата версия на базата данни въведе DB_VERSION, променена на 2 (още няколко думи, така че отметката за дума с идентификатор 3 има свързана дума). Новата версия на БД е копирана. Двете отметки са запазени.
04-22 18:44:58.749 8975-8975/? D/DBVERSION: The Database Version (as hard coded) is 2
04-22 18:44:58.749 8975-8975/? D/DBVERSION: The Database Version (as per the database file) is 1
04-22 18:44:58.749 8975-8975/? D/DBPATH: DB Path is /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:44:58.749 8975-8975/? D/DBPATH: DB Path is /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: Initiated Copy of the database file dictionary.db from the assets folder.
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: Asset file dictionary.db found so attmepting to copy to /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: Attempting copy of block 1 which has 4096 bytes.
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: Attempting copy of block 2 which has 4096 bytes.
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: Attempting copy of block 3 which has 4096 bytes.
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: Finished copying Database dictionary.db from the assets folder, to /data/user/0/m.example.so55711282dictionary/databases/dictionary.db12288were copied, in 3 blocks of size 4096.
04-22 18:44:58.750 8975-8975/? D/COPYDATABASE: All Streams have been flushed and closed.
04-22 18:44:58.783 8975-8975/? I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:44:58.784 8975-8975/? I/System.out: 0 {
04-22 18:44:58.784 8975-8975/? I/System.out: id=1
04-22 18:44:58.784 8975-8975/? I/System.out: word=Apple
04-22 18:44:58.784 8975-8975/? I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:44:58.784 8975-8975/? I/System.out: }
04-22 18:44:58.784 8975-8975/? I/System.out: 1 {
04-22 18:44:58.784 8975-8975/? I/System.out: id=2
04-22 18:44:58.784 8975-8975/? I/System.out: word=Bucket
04-22 18:44:58.784 8975-8975/? I/System.out: definition=Hand held container with carrying hanlde.
04-22 18:44:58.784 8975-8975/? I/System.out: }
04-22 18:44:58.784 8975-8975/? I/System.out: 2 {
04-22 18:44:58.784 8975-8975/? I/System.out: id=3
04-22 18:44:58.784 8975-8975/? I/System.out: word=Yelllow
04-22 18:44:58.784 8975-8975/? I/System.out: definition=A colour.
04-22 18:44:58.784 8975-8975/? I/System.out: }
04-22 18:44:58.784 8975-8975/? I/System.out: 3 {
04-22 18:44:58.784 8975-8975/? I/System.out: id=4
04-22 18:44:58.784 8975-8975/? I/System.out: word=Zebra
04-22 18:44:58.784 8975-8975/? I/System.out: definition=A balck and white, horse-like animal.
04-22 18:44:58.784 8975-8975/? I/System.out: }
04-22 18:44:58.784 8975-8975/? I/System.out: <<<<<
04-22 18:44:58.784 8975-8975/? D/BOOKMARKDUMP: Dumping the bookmarks table to the log.
04-22 18:44:58.785 8975-8975/? I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:44:58.785 8975-8975/? I/System.out: 0 {
04-22 18:44:58.785 8975-8975/? I/System.out: id=1
04-22 18:44:58.785 8975-8975/? I/System.out: wordid=1
04-22 18:44:58.785 8975-8975/? I/System.out: word=Apple
04-22 18:44:58.785 8975-8975/? I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:44:58.785 8975-8975/? I/System.out: }
04-22 18:44:58.785 8975-8975/? I/System.out: 1 {
04-22 18:44:58.785 8975-8975/? I/System.out: id=2
04-22 18:44:58.785 8975-8975/? I/System.out: wordid=3
04-22 18:44:58.785 8975-8975/? I/System.out: word=Yelllow
04-22 18:44:58.785 8975-8975/? I/System.out: definition=A colour.
04-22 18:44:58.785 8975-8975/? I/System.out: }
04-22 18:44:58.785 8975-8975/? I/System.out: <<<<<
ИЗПЪЛНЕНИЕ 4
Нищо не се е променило, така че все още не се запазват отметки за копия на DB.
04-22 18:47:19.300 9047-9047/m.example.so55711282dictionary D/DBVERSION: The Database Version (as hard coded) is 2
04-22 18:47:19.300 9047-9047/m.example.so55711282dictionary D/DBVERSION: The Database Version (as per the database file) is 2
04-22 18:47:19.300 9047-9047/m.example.so55711282dictionary D/DBPATH: DB Path is /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:47:19.302 9047-9047/m.example.so55711282dictionary I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:47:19.302 9047-9047/m.example.so55711282dictionary I/System.out: 0 {
04-22 18:47:19.302 9047-9047/m.example.so55711282dictionary I/System.out: id=1
04-22 18:47:19.302 9047-9047/m.example.so55711282dictionary I/System.out: word=Apple
04-22 18:47:19.302 9047-9047/m.example.so55711282dictionary I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: }
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: 1 {
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: id=2
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: word=Bucket
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: definition=Hand held container with carrying hanlde.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: }
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: 2 {
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: id=3
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: word=Yelllow
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: definition=A colour.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: }
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: 3 {
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: id=4
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: word=Zebra
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: definition=A balck and white, horse-like animal.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: }
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: <<<<<
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary D/BOOKMARKDUMP: Dumping the bookmarks table to the log.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: 0 {
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: id=1
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: wordid=1
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: word=Apple
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: }
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: 1 {
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: id=2
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: wordid=3
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: word=Yelllow
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: definition=A colour.
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: }
04-22 18:47:19.303 9047-9047/m.example.so55711282dictionary I/System.out: <<<<<
ИЗПЪЛНЕНИЕ 5
Приложението е деинсталирано. Използвана е нова версия. Добавени са отметки като нова DB, НО версията е най-новата, т.е. 2
04-22 18:50:55.297 9243-9243/m.example.so55711282dictionary D/DBVERSION: The Database Version (as hard coded) is 2
04-22 18:50:55.297 9243-9243/m.example.so55711282dictionary D/DBVERSION: The Database Version (as per the database file) is -666666666
04-22 18:50:55.297 9243-9243/m.example.so55711282dictionary D/DBPATH: DB Path is /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:50:55.297 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: Initiated Copy of the database file dictionary.db from the assets folder.
04-22 18:50:55.297 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: Asset file dictionary.db found so attmepting to copy to /data/user/0/m.example.so55711282dictionary/databases/dictionary.db
04-22 18:50:55.297 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: Attempting copy of block 1 which has 4096 bytes.
04-22 18:50:55.298 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: Attempting copy of block 2 which has 4096 bytes.
04-22 18:50:55.298 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: Attempting copy of block 3 which has 4096 bytes.
04-22 18:50:55.298 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: Finished copying Database dictionary.db from the assets folder, to /data/user/0/m.example.so55711282dictionary/databases/dictionary.db12288were copied, in 3 blocks of size 4096.
04-22 18:50:55.298 9243-9243/m.example.so55711282dictionary D/COPYDATABASE: All Streams have been flushed and closed.
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: 0 {
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: id=1
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: word=Apple
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: }
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: 1 {
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: id=2
04-22 18:50:55.320 9243-9243/m.example.so55711282dictionary I/System.out: word=Bucket
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: definition=Hand held container with carrying hanlde.
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: }
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: 2 {
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: id=3
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: word=Yelllow
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: definition=A colour.
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: }
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: 3 {
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: id=4
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: word=Zebra
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: definition=A balck and white, horse-like animal.
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: }
04-22 18:50:55.321 9243-9243/m.example.so55711282dictionary I/System.out: <<<<<
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary D/BOOKMARKDUMP: Dumping the bookmarks table to the log.
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: >>>>> Dumping cursor [email protected]
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: 0 {
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: id=1
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: wordid=1
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: word=Apple
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: definition=Thing that drops from an Apple Tree.
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: }
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: 1 {
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: id=2
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: wordid=3
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: word=Yelllow
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: definition=A colour.
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: }
04-22 18:50:55.328 9243-9243/m.example.so55711282dictionary I/System.out: <<<<<