Хранение в намерениях в базе данных SQLite с Android - PullRequest
2 голосов
/ 19 июля 2011

У меня есть приложение для Android, и я хочу сохранить намерение Android в базе данных как поле большого двоичного объекта.Я знаю основы хранения и извлечения данных типов стандартов TEXT, INTEGER и т. Д. В SQLite, поскольку мое приложение уже все это делает.Я не знаком с хранением и извлечением BLOB-объектов.Я предполагаю, что BLOB-объект - лучший способ, а не хранение в виде строки и разбор обратно и Intent.Может быть, это неверное предположение, хотя.Намерения могут быть именем пакета, URI, могут иметь дополнительные функции и т. Д. Вот почему я хотел бы хранить / извлекать все намерение, а не просто хранить детали.

Ответы [ 2 ]

10 голосов
/ 08 марта 2013

Вы можете просто сохранить намерение в виде строки:

String intentDescription = intent.toUri(0);
//Save the intent string into your database

Позже вы можете восстановить намерение:

String intentDescription = cursor.getString(intentIndex);    
Intent intent = Intent.parseUri(intentDescription, 0);
1 голос
/ 13 октября 2011

Использование интерфейса Parcelable с намерением:

Parcel  parcel;  
myIntent.writeToParcel(parcel);

ContentValues values = new ContentValues();  
values.put(MyField, parcel.createByteArray());  
getContentResolver().insert(MyBaseColumn.MyTable.CONTENT_URI, values);

Обратный процесс, чтобы получить его.

Если вы предпочитаете текст, вы можете использовать json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...