Ответы пользователя по тегу Android
  • Какие есть толковые книги по написанию приложений для андроид?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Боян, но все же советую Брайн Харди, Билл Филлипс - Программирование под Android (Для профессионалов).
    В книге описывается разработка 6 приложений от слабенького до интересного парсера картинок с фотосервиса.

    Разница в методах реализации заметны лишь опытным программистам, которые прощупали уже. Здесь надо всем ежиков пинать.

    Отдельный класс - знак не только оптимизации, но и присутствия некоторой архитектуры приложения (например, MVC, где акцент ставится на переиспользование функций обработки данных, с помощью их обобщения). Если функция в отдельном классе, то, возможно, это знак стиля программирования. Кому-то нравится делать максимально переиспользуемый код (то есть с минимальным дублированием), в следствии чего может быть несколько иерархий наследования вместо одной (просто как пример) и другие особенности. В оптимизации, например, нужно избежать утечек памяти -> тоже некоторые изменения в архитектуре приложения приходится делать.

    По поводу примеров. Они могут быть написаны под самый популярный или самый простой стиль (всегда проще дать отдельный класс пользователю, чем вставлять строки внутри неизвестного класса в неизвестных местах и т.д.). Ваш вариант может быть правильным, но он не особо соответствует стилю программирования в поддерживаемых приложениях (которые расширяются и обновляются), ведь лучше общий функционал (особенно при нескольких активити) вывести в отдельный класс, где он будет лучше доступен (в одном месте и без дублирования).
    Ответ написан
    Комментировать
  • Android Studio не обновляется!Что делать?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Вообще она еще сыровата на падения. После любого крита мне приходилось заново устанавливать студию. Хотя бы SDK перекачивать не надо было)
    Ответ написан
  • Java как язык: есть ли отличия между разработкой для Android и Java SE/EE (февраль 2015)?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Верно последнее высказывание.
    Все одинаково. Не важна версия языка. Разница между версиями android заключается в API. Для поддержки очень старыми версиями android современных возможностей используется Support Library.

    Допустим, велась разработка на Java 6. Потом пришло обновление до Java 8. Вы переписываете код на Java 8 (оптимизируя только функции и работу Java, а не Android) и все отлично работает.

    То есть как язык является именно "каноническим" от Oracle. Но Android, кажется, работает только с Java 6. (поправьте в комментариях, если не так).

    В структуре он имеет сходство с Java EE (можете это сразу заметить), но это структура Android-проекта.
    Ответ написан
  • Почему не конвертируются Fragment?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Обратите внимание на используемые библиотеки. Если вы использует Support Library (для поддержки старых версий Android), то типы должны быть из соответствующих библиотек. Например:

    Из первого листинга видно, что фрагмент менеджер не входит в библиотеку Support, а фрагмент - входит.

    import android.app.Activity;
    import android.app.FragmentManager;
    ...
    import android.support.v4.app.Fragment;


    Функций getSupportFragmentManager() применяется к классам из Support library.

    ps: для фрагмент менеджера: import android.support.v4.app.FragmentManager;
    Ответ написан
    2 комментария
  • Android как решить конфликт HttpRequest в одной сети WiFi?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Серверную часть пишите с потоками.

    Вот реализация сервера для чатика с потоками
    https://github.com/PaVM/ChatApplicationServer/blob...
    Ответ написан
    Комментировать
  • Какие приложения сделать на Android для практики?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    1. Аналог популярного ПО. Например, всякие анализаторы состояния и т.д. (они собирают статистику и визуализируют ее - например, какой-нибудь вайфай чекер с регистрацией частоты подключения к wi-fi, которую можно посмотреть на графике, а также список роутеров, доверие к которым определяется количеством подключений к ним. Но это утилита, что имеет свои минусы).

    2. Клиент-серверный анонимный чат с возможностью выбора ника, цвета, их изменения, изменения темы на ночную и дневную (это классный опыт сохранения настроек и понимания работы layout прорисовки андроид), сообщениями системы о новых пользователях, вошедших в чат и т.д. главным условием, конечно, является синхронизация (если ваш ник красный, то у всех ваш ник должен быть красным)

    3. креатив.
    Фоток скрытой съемки. Это как обычная камера, но на экран не выводится информация с камеры, а съемку можно сделать, например, качельками:) кстати, отличная идея, может и выстрелит немножко.
    Еще можно написать генератор бесполезных идей. С вашей стороны вы создаете кучу инструментов и возможностей (рисование смайликов пользователем), добавление звуков нажимания на этот смайлик (которые, например, можно записать с микрофона и слегка обработать до смешного) и т.д. Это как бы фреймворк для пользователей:)
    Ответ написан
    Комментировать
  • Как разложить строчку с числами на байты и обратно в java (Android)?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Простите за такой код :)

    string str = tbInputField.Text; // 57126973
    
    tbPlaintxt1.Text = str[0];  //5
    tbPlaintxt2.Text = str[1];  //7
    tbPlaintxt3.Text = str[2];  //1 ...
    tbPlaintxt4.Text = str[3];
    tbPlaintxt5.Text = str[4];
    tbPlaintxt6.Text = str[5];
    tbPlaintxt7.Text = str[6];
    tbPlaintxt8.Text = str[7];


    Попробуйте что-то в это роде
    Назад:
    tbInputField.Text = tbPlaintxt1.Text + tbPlaintxt2.Text + tbPlaintxt3.Text ... + tbPlaintxt8.Text;


    А вообще это основы. Советую книжку по Java почитать о форматировании строк и работой с типом String.
    Ответ написан
  • На сколько глубокие знания в Java необходимы для начала осваивания Android API и последующей разработки?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Прочитай книгу Head First Java и понабирай код из книги (пару задач). И все. Можешь начинать изучать Android и сразу писать на него.
    Для грамотности в коде советую прочитать java code convension - соглашение о об именовании переменных и прочее.

    Вот книжка, которую я читал (но советую посмотреть свежие рекомендации в сети или на хабре, так как книги очень быстро выходят по Android): Satya Komatineni Dave MacLean - Android 4 для профессионалов

    Во время работы с Android продолжай изучать Java (вот отличный списочек - habrahabr.ru/post/153373/).

    При чтении и понимании java могут возникнуть проблемы с коллекциями и обобщениями. Вот пара ссылок, помогающих понять коллекции:
    1. habrahabr.ru/post/162017 - коллекции в целом
    2. habrahabr.ru/post/128017 - коллекция hashmap (но там имеются ссылки, по которым можно посмотреть другие коллекции)

    И еще две ссылки, которые нашел в избранном, для начинающего - самое то:
    1. habrahabr.ru/post/124484 - AsyncTalk
    2. habrahabr.ru/post/142256 - UI thread

    Задавай вопросы, если есть. Самое интересное, что программирование на java Android похоже на JavaEE и перепрыгнуть (если что) будет не так сложно. Java очень похож на C# и Java - это правда очень простой язык)

    Ах, да. Вот еще интересный проект (правда фремиум, но несколько десятков задач можно решить бесплатно онлайн) - javarush.ru

    Успехов!
    Ответ написан
    Комментировать
  • Разработка приложения интернет магазина на Android.С чего начать?

    ProgramCodePav
    @ProgramCodePav
    Front-end developer. Love open source
    Для разработки Eclipse или Android Studio (IDE от Google, но ей всего год и идет как beta пока, а мне нравится). Если нужно уж очень быстро, то уроки в сети смотрите по любому запросу.

    Если знаете английский, то лучшим будет чтение документации на оф сайте: developer.android.com
    Из сети можно найти очень много уроков, так как мобильная разработка в моде, например (для eclipse): startandroid.ru/ru/uroki/vse-uroki-spiskom.html

    Чтобы программировать под android, вам нужно знать Java. Для этого отлично подойдет книга Head First Java. Тут зависит от вашего опыта в программировании: вы можете и в онлайне почитать о java, если вы, например, уже знакомы с C# (они похожи).

    Но если вы вообще не знакомы с программированием, то перед прочтением книжек советую прочитать о языках программирования(https://ru.wikipedia.org/wiki/Язык_программирования, https://ru.wikipedia.org/wiki/Java) и ООП (https://ru.wikipedia.org/wiki/Объектно-ориентирова... Хотя второе неплохо описано в книге выше, но следует быстро просмотреть обе темы (не вчитываясь, а образно представить где, как и что).

    Насчет связи с сайтом. Честно говоря, я не работал с этим, поэтому выскажу лишь предположение, не претендующее на правильность - в приложении все функции (добавить статью, лайк и т.д.) напрямую обращаются к базе данных на вашем сервере, где сайт лежит. По сути, кнопки на сайте выполняют ту же функцию (добавить в базу данных статью). Вероятно, я ошибаюсь.

    Пишите в комментариях что нужно уточнить или пояснить подробнее
    Ответ написан