Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

воскресенье, 16 октября 2011 г.

Java for fun: Пишем приложение на Android: Первый запуск

Привет.Попишем немного под Android.

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

Итак все начинается с установки окружения. Много времени уделять этому не стану - в сети полно мануалов по установке рабочего окружения. Скажу лишь только, что надо установить Eclipse IDE for Java Developers (у меня Indigo), JDK6, Android SDK, плагин ADT для Eclipse. Ну и все. Если будут с этим проблемы - дай знать, и я напишу мануал на эту тему.

Итак окружение же установлено - будем создавать проект. Открываем рабочий workspace в Eclipse (рабочий workspaсe - вот завернул). Создаем там новый Android проект.



Он имеет какую-то структуру. Предлагаю проглянуть ее по диагонали, чтобы если найдем какой-то код в сети, то знать приблизительно куда его вставить.




Некоторые из них автоматически генерируются системой - нам легче :)

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

Посмотрим насколько самодостаточно генерированное Eclipse приложение - запустим его.

Для начала нам надо подключить телефон через USB кабель к компьютеру и настроить его. После подключения телефон предложит (либо нет) выбрать режим подключения


Так же надо сделать доступной отладку через USB


Добраться до этих двух окошек настроек, должно быть не сложно - после подключения телефона к компьютеру на его task bar (или как он там называется) засветятся две иконки.


Растянем окно с текущими задачами, там можно добраться до соответствующих настроек.


Чтобы это все получилось, на компьютере должен быть установлен драйвер Android устройства


Вообще-то при подключении телефона к компьютеру Windows определит новое устройство, и тут надо бы указать драйвер из папки


А драйвер этот скачивается при обновлении AndroidSDK. Для этого запускаем Android SDK and AVD manager


Потом выбираем драйвер и жмем установить


После установки появится папка с драйвером.

Могут быть трудности типа Windows не может найти драйвер, тогда в свойствах нового неизвестного оборудования (телефон без установленного драйвера в Windows Device Manager будет отмечен как устройство с иконкой - желтый вопросительный знак - вот его свойства и надо посмотреть)


Теперь откроем файл android_winusb.inf на редактирование и добавляем туда две строки одинаковые строки в два раздела (код берется из свойств устройства)


После этого Windows должна найти в папке "...\android-sdk-windows\extras\google\usb_driver" драйвер


Если и это не помогло - пиши в комменты к посту, попробуем разобраться.

Хух, после этого всего шаманства можно пробовать запустить Android приложение через Eclipse.


Запуск прокатил не с первого раза, но со второго все получилось.


На экране я заметил вот такую картинку.


Кстати, чтобы сделать скриншот с телефона надо запустить "Dalvik Debug Monitor". Делается это просто запуском команды ddms в консоли


Консольное приложение находится в папке с установленной AndroidSDK


И если оно не запустилось, то вероятно в переменных окружения Windows не прописана переменная ANDROID_HOME


+ в переменной Path не указана папка tools


Если все ок, то увидим окно дебаггера, где выберем подключенное устройство + меню Device->Screen Capture.


А дальше сохраним скриншот


Итак наше приложение работает. Но я хотел диалоговое окно с кнопкой OK, а не окно на весь экран. Исправим!

Вот то, что я хочу сделать :) Только чтобы текст был мой, а не какой-то там "Ой! Ошибка!"


Правильно иль нет я создал диалог - узнаем в будущем, пока мне достаточно - я увидел на экране то, что хотел.

Кстати вот книга, в которой я подглядел код для создания диалогового окна. Хороша для новичков.

Продолжение, как всегда, следует...

4 комментария:

  1. Саша, вот за правку .inf для драйыеров - огромнейшее тебе спасибо! )

    ОтветитьУдалить
  2. Пожалуйста, Маша. рад что пригодилось. Это был еще тот челлендж. Поделюсь им.

    Помню в то субботнее утро (я только недавно получил телефон на руки), визуализируя свое первое Android приложение, сел за комп. Я жеж для этого телефон себе и купил - чтобы кодить на нем. Чуть позже я сильно расстроился, что этот дурацкий Desire HD или мой дурацкий комп и или дурацкий эклипс, драйвер, гугл... ЭЭх!

    Когда закончились кандидаты, после небольшого перерыва, ничего не оставалось как сесть и продолжать тыкаться. Помню раз пять или шесть бросал это дело, но после очередной паузы появлялась идея "а что, если?.." Та, блин! И снова за работу - попробовать жеж надо.

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

    Вот такие вот квесты бывают. За это и люблю разработку.

    Ой, вот вспомнил и аж прям зарядился! Иду еще что-то покручу!

    Спасибо Маша, за спасибо.

    ОтветитьУдалить
  3. Да, уж если за что-то зацепился, то пока не доделаешь - не успокоишься)

    ОтветитьУдалить
  4. Ну вот, а ты смогла бы спокойно пойти заняться чем-то другим, если пару часов пыхтела-пыхтела, потом отошла от компьютера, а минут через 15 в голову идея кАак придет!

    ОтветитьУдалить