Разработка под Андроид
Тема эта модная и уже пару лет набирает обороты. И я немного посматриваю эту сторону в плане перехода с веба на мобильные платформы. Но пока не удаётся выделить достаточно времени для этого. Всё же некоторые попытки написания были, вот и хотелось бы написать про возникшие ощущения.
В первый раз у меня ещё не было железного аппарата, поэтому проверялось на эмуляторе. Работало всё конечно не шустро, сейчас вроде как быстрее. Апликацию стиля hellowWorld сделать достаточно просто, но чем дальше в лес тем больше дров. Столкнулся я с тем, что такой казалось бы вполне понятный и необходимый функционал как загрузка файлов с телефона на сервер по сети в sdk отсутствует, возможно это связано с тем, что это же java — Write once, run anywhere и должны быть уже библиотеки для такого функционала. И они вроде даже и есть, но как-то все не то, мне нужно было сразу несколько файлов отправлять. Поиск по stackoverflow давал какие-то ответы, но частично, т.е. готового решения нет, и нужно писать свой велосипед. Всё же я нашёл блог, в котором был пост с нужным мне классом. Немного переделал, запустил заработало. Потом пришла на очередь запись звука, тут тоже возникли как записывать в память, а не на флэшку, нашлась статья от ibm, но проверить так и не удалось, т.к. эмулятор.Этим дело и закончилось.
Теперь же имея на руках LG Optimus P500 хотелось что-то написать, но были только идеи но не время. И тут появилась идея написать маленькую утилитку, которая бы следила за состоянием wifi и увеличивала яркость экрана до 100%, т.к. отсутствие домашнего wifi означает, что я на улице, а 30%-ной подсветки явно не достаточно для такого экрана. Функционал не сложный, должно получиться, подумал я. Сделал первую версию, на эмуляторе работает, загружаю на телефон, падает. Оказалось что на эмуляторе не проверялись пермишены, с этим разобрался. Но столкнулся с проблемой, что при переходе в idle состояние wifi отключается, пришлось сделать, чтобы проверялось состояние wifi через 2 секунды после включения экрана, что не даёт 100% срабатывания, но другого выхода не придумал. Следующая проблема как определить состояние сервиса, запущен он или нет. И тут опять единственно верного решения нет, наиболее правильным будет получение списка всех запущенных сервисов и если там нету нужного, то он и не запущен.
Теперь самое интересное, первое приложение я проверял на эмуляторе и там проблема отключения от сети не стояла, а на реальном железе очень даже стоит и как организовать в этом случае загрузку файла я ума не приложу. Самым верным решением, как мне кажется, будет реверс инжиниринг уже существующий приложений с нужным функционалом.
Впечатления от этого всего не очень радужные, но возможно это я себе какие-то задачи странные и нестандартные придумываю.