Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Martovskij
98 / 38 / 7
Регистрация: 30.01.2011
Сообщений: 129
Завершенные тесты: 4
#1

нубский: что есть ядро приложения? - Android

20.11.2013, 12:21. Просмотров 540. Ответов 4
Метки нет (Все метки)

В ходе изучения метод. материала по android, а именно после прочтения, что каждый activity живет своей жизнью и может быть стерт из памяти при перемещении на другое activity у меня случился разрыв шаблона)), не могу понять, как правильно составить дизайн архитектуры приложения да и возникло несколько попутных вопросов.
1. допустим перешли на новое активити, и система инициировала удаление старого активити, тогда куда деть его контент(поля объектов, строки и т.п.)? должно же быть какое-то единое место (с вашего позволения сказать, кэш), чтобы при возвращении к старому активити можно было восстановить данные?
2. Где правильно открывать сокеты, файлы и т.п.? из активити или делать посредством сервиса? как вводить/выводить данные из файлов и сокетов? опять с помощью сервиса? или прямо в активити?
3. И как правильно организовать взаимодействие? приложение должно базироватся на сервисе, или где можно без него обойтись - нужно обходится(понимаю,конечно, что зависит от задачи, но если в среднем по больнице)


Вообще, программирую под десктоп и как правило делаю ядро, которое инициирует и запускает все ресурсы (инициализация форм, создание очередей, открытие и работа с сокетами) и при необходимости, модули общаются друг с другом через это самое ядро. Так ли это выглядит на андроиде? Или подход совсем другой?

Вообщем, "Интуитивно я догадываюсь, но хотелось бы уточнить" (с) Уездный Город

Добавлено через 2 часа 17 минут
И еще, правильно ли я понимаю, что Intent - эсть реализация паттерна "Команда"?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 12:21     нубский: что есть ядро приложения?
Посмотрите здесь:

Есть концепт приложения, где найти компаньонов-помощников? Android
Android Что я делаю не так. Совсем нубский вoпрос.
Android Что использовать для реализации клиент-серверного приложения?
Получить что-то типа md5() для приложения Android
Android Есть идея для мобильного приложения, что дальше делать?
Android Что использовать для выхода из приложения?
С чего начать написание приложения? И что понадобится для его реализации Android
Android Запись звонков через ядро
Android APP не появляется в экране приложений но есть в Настройки/Приложения
Android Что изучить для написание такого приложения?
Android Какие есть карты для встраивания в приложения

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
20.11.2013, 13:04     нубский: что есть ядро приложения? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Martovskij, если кратко: ядра приложения нет. Вот нет и всё. Философия самой системы построена на том, что каждый отдельный отдельно взятый Activity является отдельным приложением, которое можно вызывать независимо от других. Единственное, что их связывает - общий объект Application.
1. Здесь важно понимать весь жизненный цикл Activity, объект Bundle, который сохраняется даже есть Activity удалено и хранит необходимые данные, и события onSaveInstanceState() и onRestoreInstanceState(), в которых и происходит сохранение/загрузка данных.
2. Сокеты открываются в отдельных потоках, которые никак не зависят от Activity. С файлами - по ситуации, если записать/считать пару строк, то можно и в Activity, если писать/читать постоянно - лучше сервис, который запускает отдельный поток на каждую итерацию записи.. Главное - не забывайте закрывать файлы (в методах объектов finalize и Activity onDestroy).
3. В среднем по больнице - сервис такой же компонент приложения, как и Activity. И в большинстве своём, приложения не базируются на сервисе (пример исключения - аудио проигрыватель, основную работу делает сервис, через Activity пользователь меняет треки).
4. На андроиде подход иной. Работать может только одно Activity, несколько сервисов, которые могут общаться между собой посредством Broadcast'ов или Intent'ов.
5. Не думаю, что Intent можно считать реализацией паттерна "Команда". Intent'ом вы фактически запускаете новое приложение с установленным набором данных, а не просто вызываете метод некого объекта.
Martovskij
98 / 38 / 7
Регистрация: 30.01.2011
Сообщений: 129
Завершенные тесты: 4
20.11.2013, 14:15  [ТС]     нубский: что есть ядро приложения? #3
Спасибо. Наступило просветление))
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.11.2013, 00:21     нубский: что есть ядро приложения? #4
Цитата Сообщение от Wenceslaus Посмотреть сообщение
Intent'ом вы фактически запускаете новое приложение с установленным набором данных, а не просто вызываете метод некого объекта.
ну, для броткаcтов тоже ведь интенты используются.
Wenceslaus
Android Developer
130 / 130 / 4
Регистрация: 05.07.2013
Сообщений: 205
26.11.2013, 13:21     нубский: что есть ядро приложения? #5
V0v1k, да, за них я не подумал. Должен сказать, что сама система Broadcast'ов мне больше напоминает реализацию паттерна "Команда" (но всё равно, в очень широком смысле), чем Intent в плане запуска Activity. Но если так считать, то обязательно стоит упомянуть про его более яркую реализацию: Runnable.
И всё же я останусь при своём мнении: чистой реализации паттерна "Команда" в Андроиде нет.
Yandex
Объявления
26.11.2013, 13:21     нубский: что есть ядро приложения?
Ответ Создать тему
Опции темы

Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru