Когда я начинаю активность из виджета, я хочу, чтобы кнопка «Назад» переходила на главный экран, но вместо этого она переходит к основному действию приложения. Поигравшись, я обнаружил, что если я каким-то образом закрою основное действие приложения, этой проблемы не возникнет. Странно.
Я нашел решение здесь , в котором говорилось, что нужно вызывать finish (); в моей основной деятельности onPause (). Очевидно, это неправильное решение, например, изменение ориентации экрана вызывает onPause (), поэтому активность будет прекращаться всякий раз, когда телефон поворачивается.
Вот как я начинаю свою деятельность:
@Override
public void onReceive(Context context, Intent intent) {
[...]
//new Emergency().emDialog(context).show();
Intent myIntent = new Intent(context, EmergencyActivity.class);
// FLAG_ACTIVITY_NEW_TASK is needed because we're not in an activity
// already, without it we crash.
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
Вы можете увидеть остальную часть кода на http://code.google.com/p/emergencybutton/source/browse
edit: Я пробовал запустить действие по-другому, но оно все равно работает некорректно: BOOL БИТ (1) ENUM (0,1) CHAR (0) NULL Следует отметить все основные механизмы баз данных, поддерживаемые PHP, но ...
Я видел несколько возможных подходов (в некоторых механизмах баз данных некоторые из них являются синонимами):
Следует отметить все основные движки баз данных, поддерживаемые PHP, но для справки это будет даже лучше, если будут отмечены и другие движки.
Я прошу проект, который лучше всего оптимизирован для чтения . например, ВЫБОР с полем флага в условии WHERE или GROUP BY по флагу. Производительность гораздо важнее, чем пространство для хранения (кроме случаев, когда размер влияет на производительность).
И еще несколько деталей:
При создании таблицы я не могу знать, будет ли она разреженной (если большинство флагов включены или выключены), но я могу ИЗМЕНИТЬ таблицы позже, поэтому, если есть что-то, что я могу оптимизировать, если я знаю это, это следует отметить.
Также, если это имеет значение, если есть только один флаг (или несколько) на строку, по сравнению с множеством (или большим количеством) флагов, это следует отметить.
Кстати, я где-то в SO читал следующее:
Использование логического значения может сделать то же самое, что и используя tinyint, однако он имеет преимущество семантической передачи каковы ваши намерения, и это
Что ж, в моем случае это ничего не стоит, потому что каждая таблица представлена классом в моем приложении, и все явно определено в классе и хорошо документировано.