Новый проект.

Ответить
Озорная Свинья
Сообщения: 59
Зарегистрирован: 02 фев 2013, 00:03

Новый проект.

Сообщение Озорная Свинья » 20 фев 2013, 18:08

Проектирую новое приложение, которое впоследствии станет мировым лидером среди ПО для Андроида.
На этапе проектирования возникаю вопросы, в приложении будет использоваться Splash-активити индикатор подключения, который в свою очереьд должен запустить сервис с подключением к серверу.
Я так понял что этот Splash-активити, должен быть описан в манифесте, как: "android.intent.category.LAUNCHER", а главный активити, как: "android.intent.category.DEFAULT" или же это всё не обязательно?
Стоит ли создавать отдельные файлы с дополнительными классами или же постараться этого избежать? Какие способы взаимодействия между ними, тоесть видна ли public переменная или метод одного класса из другого?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Новый проект.

Сообщение rezak90 » 20 фев 2013, 18:56

которое впоследствии станет мировым лидером среди ПО для Андроида.
:)
Стоит ли создавать отдельные файлы с дополнительными классами или же постараться этого избежать?
А что лучше всё в один файл? Соблюдайте красоту.
R.id.team
Политика на форуме запрещена

Озорная Свинья
Сообщения: 59
Зарегистрирован: 02 фев 2013, 00:03

Re: Новый проект.

Сообщение Озорная Свинья » 20 фев 2013, 19:04

Да я что-то не увидел красоты во взаимодействии между классами в Java, То что предлагает Андроид СДК, вообще мне кажется какими то дикими методами, хотя хз, мож я что то не допонял((

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Новый проект.

Сообщение rezak90 » 20 фев 2013, 19:13

Значит Вы не доконца понимает принципы ООП раз не видите взаимодействия между калссами.
R.id.team
Политика на форуме запрещена

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Новый проект.

Сообщение neoksi » 20 фев 2013, 19:14

Озорная Свинья писал(а):Да я что-то не увидел красоты во взаимодействии между классами в Java, То что предлагает Андроид СДК, вообще мне кажется какими то дикими методами, хотя хз, мож я что то не допонял((
Это приходит со временем, вначале голову ломаешь, но потом, как поймешь и научишься абстрагироваться, то все становится прекрасно.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Новый проект.

Сообщение Foenix » 20 фев 2013, 21:42

rezak90 писал(а):Значит Вы не доконца понимает принципы ООП раз не видите взаимодействия между калссами.
Озорная Свинья писал(а):Проектирую новое приложение, которое впоследствии станет мировым лидером среди ПО для Андроида.
На этапе проектирования возникаю вопросы, в приложении будет использоваться Splash-активити индикатор подключения, который в свою очереьд должен запустить сервис с подключением к серверу.
Круто, уселась, жду продолжения.
rezak90 писал(а):Значит Вы не доконца понимает принципы ООП раз не видите взаимодействия между калссами.
А там интуитивно все :mrgreen:
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Новый проект.

Сообщение rezak90 » 20 фев 2013, 22:21

интуитивно становится тогда когда на руках уже десятки тысяч программных дорожек :D
R.id.team
Политика на форуме запрещена

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Новый проект.

Сообщение Foenix » 20 фев 2013, 22:32

rezak90 писал(а):интуитивно становится тогда когда на руках уже десятки тысяч программных дорожек :D
ну не знаю, ТС так сам сказал))
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Новый проект.

Сообщение Mikhail_dev » 20 фев 2013, 23:49

Стоит ли создавать отдельные файлы с дополнительными классами или же постараться этого избежать?
Старайся делить на сущности. На что-то, что делает этот предмет логическим в цепочке. Вот сервис к примеру и активность, это разные сущности. Например машины и мотоциклы. Пакет к примеру будет один, а класса два. Или же класс один, а сабкласса два от него.
Но не всегда это прокатывает. Иногда получается так, что код вырастает выше чем в 1500 строк в одном классе. И что-то поделить сложно. К примеру у нас код сервиса разросся до тысяч 5000 строк кода. Пришлось делить по классам так:
1. Сервис
2. обработка GPS данных
3. общение с сервером один класс
4. общение с сервером второй класс
5. работа с базой данных
6. работа с фотографиями
7. Логгер
8. Класс Settings, в котором хранятся статические константы, можно запросить различные пути к нужным дирректориям и всё в таком духе
9. Класс загрузчик при старте телефона
10. ... сущности. К примеру есть объект чекпойнт. Он отдельная сущность. Он вынесен в отдельный класс. Есть маршрут. он тоже отдельная сущность. Он вынесен тоже в отдельный класс.
Это пакет сервиса, он не содержит работы с UI интерфейсом и всем таким. Вот такое вот деление происходит. Некоторые классы могут быть очень маленькими, некоторые очень большими. Но стиль программирования (общепризнанный) обычно говорит, что длина строки не более 80 символов, кол-во строк метода не более 20, размер класса не более 1000 строк. Тут вам в помощь книги для понимания как правильно писать код.
Какие способы взаимодействия между ними, тоесть видна ли public переменная или метод одного класса из другого?
Все переменные приватные. доступ только по get. статические константы можно использовать с public видимостью.

Ответить