Очень легко читаемый код. И как для первого проекта — очень качественно! Спасибо.
Мне показалось, что настройки Вы храните в файле. А почему не SharedPreferences?
Спасибо. Да, вы правы храню настройки в файле. Признаюсь честно немного поленился и использовал сериализацию для хранения целиком объекта PainterSettings. Ведь в случае SharedPreferences мне бы пришлось разложить все по полочкам, верно? Но любом случае так не оставлю, в будущем планировал доработать этот момент.
Ваш класс, который хранит настройки, может реализовать интерйфейс Parcelable вместо Serializable. Тогда его можно будет непосредственно класть в Bundle через putParcelable.
Хотя если мне не изменяет память, должен быть метод наподобие putSerializable.
Есть где скачать данное приложение, кроме Андроид Маркета?
Мне в маркете пишет, что приложение не совместимо и не дает скачать ни с компа, ни с планшета.
А дочке хотелось бы рисовалку, реальных аналогов не нашел, и на сайтах ссылка на меркет.
На 4pda нет в поиске.
Полностью поддерживаю автора! Не бойтесь начинать! Свое приложение первое я писал подольше, около трех месяцев по вечерам, потому что затронул слишком много областей. Порой проводил весь вечер в поиске, а некоторые мои вопросы до сих пор висят неотвеченные на stackoverflow.
А в целом — да, гармоничная платформа для разработки, особенно для тех, кто уже пишет на Java или C#. А после WPF/Silverlight xml-layout сразу как родной становится.
И еще одни возможные грабли — SQLite не такой быстрый как кажется. На десятках тысяч записей начинает безбожно хромать. Только правильные индексы могут помочь.
Не знал всех особенностей андроида, изобретал много велосипедов, при этом делал все это параллельно изучая java и ООП с нуля. Качество кода соотвестствующее.
Тогда разместить надо под заголовком — как я получил 100К скачиваний за приложение, собранное на коленке. И не открывать код. Мне сейчас больше интересно как продвинуть приложение, а то как-то ну совсем никак с текущим получается. А вроде ж полезное…
Продвинутый HelloWorld — карточки для изучения языков. Мне существующие не очень нравились тем, что словари в них фиксированные, а если надо добавлять — то все руками. А уж интерфейс у большинства — мама не горюй. В свое я добавил возможность импорта из браузера и файлов (PDF, etc) и прикрутил автоматический перевод. В общем — небольшой мэшап получился. Ну и пару плюшек в виде многоязычности и десятка словарей для популярных языков. Лежит здесь. Может расскажу чуть позже о нем, как статистики больше будет.
Кстати, кому интересно, почти год назад делал тоже рисовалку. Помните mrdoob.com/projects/harmony/? Вот я ее портировал в Sketcher и выложил на гитхаб: github.com/wargoth/Sketcher. Мне показалось, или автор немного подглядывал в мой код? Если так, то очень приятно. Ну а если нет, то видимо одинаково мыслим :)
Программа обновилась, глюк не пропал. Подробное изучение выявило следующие: кнопки, бегунки и т.д., с вышеприведенного скриншота появляются при выборе в меню «Кисть», но их не видно. Т.е. если нажать туда, где должна быть кнопка выбора цвета — палитра открывается, но самой кнопки не видно. Глюк исчезает (прорисовываются кнопки) если выключит и включить экран (кнопка питания).
Да, обновление, к сожалению эту проблему не решало, т.к. я никак не мог ее выявить. Спасибо за подробное описание, теперь хотя бы приблизительно знаю в чем может быть причина. Если вас не затруднит не могли бы вы помочь с тестированием? К концу следующей недели руки освободятся и я буду готов продолжить работу над приложением, ваша помощь с устройством была бы очень кстати. Если у вас есть время/желание напишите, пожалуйста, свои контакты в личку.
По поводу необходимости покупки смартфона для разработки… Месяца полтора назад загорелся идеей, но вот как-то не заладилось с эмулятором работать — медленно очень, раздражает. Так что отложил изучение до покупки устройства.
Да, а разработка под какую версию Андроида актуальна, кстати? Что-то они вроде очень часто выходят, вроде :)
Да, есть такой момент, эмулятор серьезно подтормаживает, но если нет никакой возможности купить устройство, то как вариант хотя бы что-то.
По версии. Писал под 2.1 но в конце пришлось сделать хитрый финт и поставить целевой пакет 2.2, при неизменной минимальной версии 2.1, чтобы приложение можно было переносить на SD
У меня нет слов, devolonter, прекрасный пост, после которого появляется желание начать писать и своё «первое приложение», но результат превзошел ожидания. Ваш пример на голову выше ранее упомянутых, на мой взгляд.
Завтра буду сидеть и разбираться в написанном. Надеюсь внутри есть «человеческие» комментарии кроме «машинного» кода)
Спасибо, за приятные слова! Я буду рад если мой пример вдохновит вас на написание своего приложения. С комментариями в коде туговато, я было начал, но понял, что это убьет весь энтузиазм. Но я старался сделать код максимально простым для понимания. В ближайшее время постараюсь подробно все прокомментировать. В любом случае, вы всегда можете уточнить какие-то моменты лично, не стесняйтесь, спрашивайте. Все контакты указаны в профиле, да и тут почта есть ;)
Pretty Painter – мое первое приложение под Android