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

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

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

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

20.11.2013, 12:21. Просмотров 546. Ответов 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     нубский: что есть ядро приложения?
Посмотрите здесь:

Что я делаю не так. Совсем нубский вoпрос. - Программирование Android
Везде в руководствах говорится, что обработчик нажатия кнопки должен переопределять метод onClick. У меня данный код не компилируется. Если...

Есть идея для мобильного приложения, что дальше делать? - Программирование Android
у меня есть идея для мобильного приложения! что мне дальше делать? подскажите!

Какие есть карты для встраивания в приложения - Программирование Android
Какие есть карты для встраивания в Android приложения, кроме Яндекс карт , Google карт и OpenStreetMap ?

Есть концепт приложения, где найти компаньонов-помощников? - Программирование Android
Друзья, есть концепт мобильного приложения (под андроид), мысли оформлены в более-менее законченном виде. Хочется видеть проект...

APP не появляется в экране приложений но есть в Настройки/Приложения - Программирование Android
Пробую на реальном телефоне подписанный, неподписанный, релиз, дебаг, неподписанный дебаг/ релиз все равно не появляется. ...

Что использовать для выхода из приложения? - Программирование Android
Подскажите как правильнее ? Имеется кнопка Exit. По нажатию надо завершить приложение. Использовать метод с "finish(); и...

Что изучить для написание такого приложения? - Программирование Android
Здравствуй форум! Специалисты помогите с подбором литературы к изучению Андройд приложений. Суть приложения такова квесты только в...

Получить что-то типа md5() для приложения - Программирование Android
Требуется получить уникальную строку, описывающую само приложение. Т.е. чтобы при каждом изменении кода приложения эта строка изменялась....

Что использовать для реализации клиент-серверного приложения? - Программирование Android
Нужно реализовать клиент-серверное приложение. Принцип работы: Клиент отправляет текстовую информацию на сервер. Сервер обрабатывает и...

С чего начать написание приложения? И что понадобится для его реализации - Программирование Android
Доброго времени суток! Есть задание сделать примитивное андройд-приложение. Вот задание: Реализовать систему ввода и отображения...

Запись звонков через ядро - Программирование Android
Доброго времени суток. Может кто-то знает, как писать аудио поток с линии не через стандартное API? Дело в том, что такая реализация не...

на каком языке написано ядро Андроида? - Программирование 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
99 / 39 / 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     нубский: что есть ядро приложения?
Ответ Создать тему
Опции темы

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