Если вы используете startActivityForResult()
, то нет необходимости прослушивать вызов onResume()
. У него есть метод обратного вызова, в котором вы можете написать код прокрутки в зависимости от вашего состояния.
Например:
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1); //here 1 is the request code
В вашем SecondActivity установите данные, которые вы хотите вернуть обратно в FirstActivity. Если вы не хотите возвращаться назад, не устанавливайте ничего.
Например: в SecondActivity:
Intent returnIntent = new Intent();
setResult(Activity.RESULT_OK,returnIntent);
finish();
Теперь в своем классе FirstActivity напишите следующий код для метода onActivityResult ().
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == Activity.RESULT_OK){
//case 2
//Write your code
}
}
}
Используйте таблицу UserData Sharepoint-стиля, которая имеет ряд строковых столбцов, ряд международных столбцов, и т.д. и столбца Type.
Затем у Вас есть список таблицы типов, которая указывает схему для каждого типа - его свойства и определенные столбцы, на которые они отображаются в таблице UserData.
С вещами как Azure и другое устройство хранения данных сервисного вычисления Вы не должны даже определять таблицу. Каждый хранить объект в основном словарь.
Я думаю, что необходимо пойти с моделью данных как-
Таблица product
Таблица свойства
Справочная таблица значения свойства
И затем имейте динамическое представление на основе этого. Вы могли использовать PropertyValueTypeId coloumn для идентификации типа, с помощью конвенции, как (0-строк, 1 целое число, с 2 плаваниями, с 3 изображениями и т.д.) - Но в конечном счете можно сохранить все невведенное только. Вы могли также использовать этот столбец для выбора шаблона управления для рендеринга соответствующего свойства пользователю.
Можно использовать справочную таблицу Значения для хранения поисков для определенного свойства (так, чтобы пользователь мог выбрать ее из списка),
Помещенный такое количество общей ожидаемой структуры в традиционной нормализованной модели 3NF, затем увеличьтесь со столбцами XML как соответствующие.
Я не вижу MEF (или никакой другой ORM) способность сделать все это прозрачно.
Суммирование позволяет взгляду на опции на рассмотрении для хранения информации о продукте: 1) некоторый xml формат в базе данных
2) подобный сообщению выше о наличии x количество типа определил столбцы (sharepoint подход)
3) через универсальную таблицу с именем и определениями типа, сохраненными в справочной таблице и значениях во вторичной таблице с идентификатором столбцов, propertyid, значение (подобный № 2 однако этот подход предоставил бы неограниченную информацию о свойстве
4) некоторый гибрид вышеупомянутой опции, где таблица product имела бы x общие столбцы (для устройства хранения данных свойств распространенными со всеми продуктами) с y определяемыми пользователем столбцами (это могло быть m целого типа и n типов varchar). Это может брать лучший из № 2 и normalzied структуры, как будто Вы знали все свойства всех продуктов. Вы получили бы лучшую производительность sql для свойств, что Вы используете большинство (вероятно, те, которые распространены через все продукты) при тихом разрешении пользовательских столбцов для определенных свойств с каждым продуктом.
Есть ли другие опции? По-моему, я рассмотрел бы 4 выше как лучший гибрид комбинаций.
Я думаю, что необходимо избежать Внутреннего Эффекта Платформы и на самом деле создать таблицы для специализированных объектов. Вы будете писать определенный код для управления ими итак, почему бы не надлежащие таблицы поддержки также?
Это сделает Ваше развертывание немного тяжелее - заглядывают блоку и запускают скрипт - но это, вероятно, сохранит Вас много боли в конечном счете.
Jeff,
мы в настоящее время используем поле XML в таблице продуктов для обработки всех определенных для продукта данных. Таким образом, наша таблица продуктов имеет несколько общих полей, которые все продукты совместно используют, XML, который содержит то, в чем конкретный продукт нуждается дополнительно, и несколько вычисленных полей, которые захватывают в XML и появляются некоторые часто запрашиваемые поля как "виртуальные" поля на таблице продуктов (например, "Стиль" был бы установлен на то, что текущий продукт определяет, или ПУСТОЙ УКАЗАТЕЛЬ, если продукт не имеет Свойства стиля).
До сих пор мы были довольно гибки с тем подходом - если Вы создаете некоторые достойные схемы XSD для своего XML, можно даже создать прокси-классы C# для этих полей.
Работы приятно для нас - присоединение к лучшему из и из реляционных и из миров XML.
Marc